Gracefully Handle Missing Jenkins Utilization for Dev Pod
authorSawyer Bergeron <sbergeron@iol.unh.edu>
Tue, 6 Mar 2018 17:07:05 +0000 (12:07 -0500)
committerSawyer Bergeron <sbergeron@iol.unh.edu>
Mon, 26 Mar 2018 21:14:25 +0000 (21:14 +0000)
Jira: PHAROS-364

Change-Id: I0641c658914e600672151d7c0d1661acba794f0f
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
src/dashboard/views.py

index 62a9f83..4bab036 100644 (file)
@@ -120,22 +120,27 @@ class JenkinsUtilizationJSON(View):
     def get(self, request, *args, **kwargs):
         resource = get_object_or_404(Resource, id=kwargs['resource_id'])
         weeks = int(kwargs['weeks'])
-        utilization = resource.slave.get_utilization(timedelta(weeks=weeks))
-        utilization = [
-            {
-                'label': 'Offline',
-                'data': utilization['offline'],
-                'color': '#d9534f'
-            },
-            {
-                'label': 'Online',
-                'data': utilization['online'],
-                'color': '#5cb85c'
-            },
-            {
-                'label': 'Idle',
-                'data': utilization['idle'],
-                'color': '#5bc0de'
-            },
-        ]
-        return JsonResponse({'data': utilization})
+        try:
+            utilization = resource.slave.get_utilization(timedelta(weeks=weeks))
+            utilization = [
+                {
+                    'label': 'Offline',
+                    'data': utilization['offline'],
+                    'color': '#d9534f'
+                },
+                {
+                    'label': 'Online',
+                    'data': utilization['online'],
+                    'color': '#5cb85c'
+                },
+                {
+                    'label': 'Idle',
+                    'data': utilization['idle'],
+                    'color': '#5bc0de'
+                },
+            ]
+            jutilization = JsonResponse({'data': utilization})
+        except AttributeError:
+            return JsonResponse({'data': ''})
+        if jutilization:
+            return jutilization