=== modified file 'dashboard_app/extension.py'
@@ -40,7 +40,6 @@
menu = super(DashboardExtension, self).get_menu()
menu.sub_menu = [
Menu("About", reverse(self.main_view_name)),
- Menu("Image Status", reverse("dashboard_app.views.image_status_list")),
Menu("Testing Efforts", reverse("dashboard_app.views.testing_effort_list")),
Menu("Bundle Streams", reverse("dashboard_app.views.bundle_stream_list")),
Menu("Tests", reverse("dashboard_app.views.test_list")),
@@ -53,25 +52,9 @@
return "dashboard_app/front_page_snippet.html"
def get_front_page_context(self):
- from dashboard_app.models import (DataReport, ImageHealth)
+ from dashboard_app.models import DataReport
return {
'report_list': DataReport.repository.filter(front_page=True),
- 'interesting_images': [
- ImageHealth('nano', 'panda'),
- ImageHealth('nano', 'omap3'),
- ImageHealth('nano', 'lt-panda'),
- ImageHealth('developer', 'panda'),
- ImageHealth('developer', 'omap3'),
- ImageHealth('developer', 'lt-panda'),
- ImageHealth('alip', 'panda'),
- ImageHealth('alip', 'omap3'),
- ImageHealth('alip', 'lt-panda'),
- ImageHealth('alip', 'lt-panda-x11-base-natty'),
- ImageHealth('ubuntu-desktop', 'panda'),
- ImageHealth('ubuntu-desktop', 'omap3'),
- ImageHealth('ubuntu-desktop', 'lt-panda'),
- ImageHealth('ubuntu-desktop', 'lt-panda-x11-base-natty'),
- ]
}
@property
=== modified file 'dashboard_app/models.py'
@@ -1364,124 +1364,6 @@
return self._data['front_page']
-class ImageHealth(object):
-
- def __init__(self, rootfs_type, hwpack_type):
- self.rootfs_type = rootfs_type
- self.hwpack_type = hwpack_type
-
- @models.permalink
- def get_absolute_url(self):
- return ("dashboard_app.views.image_status_detail", [
- self.rootfs_type, self.hwpack_type])
-
- def get_tests(self):
- return Test.objects.filter(test_runs__in=self.get_test_runs()).distinct()
-
- def current_health_for_test(self, test):
- test_run = self.get_current_test_run(test)
- test_results = test_run.test_results
- fail_count = test_results.filter(
- result=TestResult.RESULT_FAIL).count()
- pass_count = test_results.filter(
- result=TestResult.RESULT_PASS).count()
- total_count = test_results.count()
- return {
- "test_run": test_run,
- "total_count": total_count,
- "fail_count": fail_count,
- "pass_count": pass_count,
- "other_count": total_count - (fail_count + pass_count),
- "fail_percent": fail_count * 100.0 / total_count if total_count > 0 else None,
- }
-
- def overall_health_for_test(self, test):
- test_run_list = self.get_all_test_runs_for_test(test)
- test_result_list = TestResult.objects.filter(test_run__in=test_run_list)
- fail_result_list = test_result_list.filter(result=TestResult.RESULT_FAIL)
- pass_result_list = test_result_list.filter(result=TestResult.RESULT_PASS)
-
- total_count = test_result_list.count()
- fail_count = fail_result_list.count()
- pass_count = pass_result_list.count()
- fail_percent = fail_count * 100.0 / total_count if total_count > 0 else None
- return {
- "total_count": total_count,
- "total_run_count": test_run_list.count(),
- "fail_count": fail_count,
- "pass_count": pass_count,
- "other_count": total_count - fail_count - pass_count,
- "fail_percent": fail_percent,
- }
-
- def get_recent_test_runs(self, last_n_days=7 * 2):
- until = datetime.datetime.now()
- since = until - datetime.timedelta(days=last_n_days)
- return self.get_test_runs(
- ).select_related(
- 'denormalization',
- 'bundle',
- 'bundle__bundle_stream',
- 'test',
- ).filter(
- analyzer_assigned_date__range=(since, until)
- ).order_by('-analyzer_assigned_date')
-
- def get_chart_data(self):
- return TestResult.objects.select_related(
- ).filter(
- test_run__in=[run.pk for run in self.get_recent_test_runs().only('id').order_by()]
- ).values(
- 'test_run__analyzer_assigned_date'
- ).extra(
- select={'bucket': 'date(analyzer_assigned_date)'},
- ).values(
- 'bucket', 'result'
- ).annotate(
- count=models.Count('result')
- ).order_by('result')
-
- def get_test_runs(self):
- return TestRun.objects.select_related(
- ).filter(
- bundle__bundle_stream__pathname="/anonymous/lava-daily/"
- ).filter(
- attributes__name='rootfs.type'
- ).filter(
- attributes__value=self.rootfs_type
- ).filter(
- attributes__name='hwpack.type'
- ).filter(
- attributes__value=self.hwpack_type
- )
-
- def get_current_test_run(self, test):
- return self.get_all_test_runs_for_test(test).order_by('-analyzer_assigned_date')[0]
-
- def get_all_test_runs_for_test(self, test):
- return self.get_test_runs().filter(test=test)
-
- @classmethod
- def get_rootfs_list(self):
- rootfs_list = [
- attr['value']
- for attr in NamedAttribute.objects.filter(
- name='rootfs.type').values('value').distinct()]
- try:
- rootfs_list.remove('android')
- except ValueError:
- pass
- return rootfs_list
-
- @classmethod
- def get_hwpack_list(self):
- hwpack_list = [
- attr['value']
- for attr in NamedAttribute.objects.filter(
- name='hwpack.type').values('value').distinct()]
- return hwpack_list
-
-
class Tag(models.Model):
"""
Tag used for marking test runs.
=== modified file 'dashboard_app/urls.py'
@@ -66,9 +66,6 @@
url(r'^permalink/test-result/(?P<analyzer_assigned_uuid>[a-zA-Z0-9-]+)/(?P<relative_index>[0-9]+)/(?P<trailing>.*)$', 'redirect_to_test_result'),
url(r'^permalink/bundle/(?P<content_sha1>[0-9a-z]+)/$', 'redirect_to_bundle'),
url(r'^permalink/bundle/(?P<content_sha1>[0-9a-z]+)/(?P<trailing>.*)$', 'redirect_to_bundle'),
- url(r'^image_status/$', 'image_status_list'),
- url(r'^image_status/(?P<rootfs_type>[a-zA-Z0-9_-]+)\+(?P<hwpack_type>[a-zA-Z0-9_-]+)/$', 'image_status_detail'),
- url(r'^image_status/(?P<rootfs_type>[a-zA-Z0-9_-]+)\+(?P<hwpack_type>[a-zA-Z0-9_-]+)/test-history/(?P<test_id>[^/]+)/$', 'image_test_history'),
url(r'^efforts/$', 'testing_effort_list'),
url(r'^efforts/(?P<pk>[0-9]+)/$', 'testing_effort_detail'),
url(r'^efforts/(?P<pk>[0-9]+)/update/$', 'testing_effort_update'),
=== modified file 'dashboard_app/views.py'
@@ -49,7 +49,6 @@
BundleStream,
DataReport,
DataView,
- ImageHealth,
Tag,
Test,
TestResult,
@@ -721,55 +720,6 @@
return redirect_to(request, bundle, trailing)
-@BreadCrumb("Image Status Matrix", parent=index)
-def image_status_list(request):
- return render_to_response(
- "dashboard_app/image_status_list.html", {
- 'hwpack_list': ImageHealth.get_hwpack_list(),
- 'rootfs_list': ImageHealth.get_rootfs_list(),
- 'ImageHealth': ImageHealth,
- 'bread_crumb_trail': BreadCrumbTrail.leading_to(image_status_list)
- }, RequestContext(request))
-
-
-@BreadCrumb(
- "Image Status for {rootfs_type} + {hwpack_type}",
- parent=image_status_list,
- needs=["rootfs_type", "hwpack_type"])
-def image_status_detail(request, rootfs_type, hwpack_type):
- image_health = ImageHealth(rootfs_type, hwpack_type)
- return render_to_response(
- "dashboard_app/image_status_detail.html", {
- 'image_health': image_health,
- 'bread_crumb_trail': BreadCrumbTrail.leading_to(
- image_status_detail,
- rootfs_type=rootfs_type,
- hwpack_type=hwpack_type),
- }, RequestContext(request))
-
-
-@BreadCrumb(
- "Test history for {test_id}",
- parent=image_status_detail,
- needs=["rootfs_type", "hwpack_type", "test_id"])
-def image_test_history(request, rootfs_type, hwpack_type, test_id):
- image_health = ImageHealth(rootfs_type, hwpack_type)
- test = get_object_or_404(Test, test_id=test_id)
- test_run_list = image_health.get_test_runs().filter(test=test)
- return render_to_response(
- "dashboard_app/image_test_history.html", {
- 'test_run_list': test_run_list,
- 'test': test,
- 'image_health': image_health,
- 'bread_crumb_trail': BreadCrumbTrail.leading_to(
- image_test_history,
- rootfs_type=rootfs_type,
- hwpack_type=hwpack_type,
- test=test,
- test_id=test_id),
- }, RequestContext(request))
-
-
@BreadCrumb("Testing efforts", parent=index)
def testing_effort_list(request):
return render_to_response(
=== modified file 'doc/changes.rst'
@@ -6,6 +6,8 @@
Version 0.15
============
+* Remove the image status view.
+
.. _version_0_14:
Version 0.14