summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaxbr <maxbr@mi.fu-berlin.de>2016-09-12 11:16:30 +0200
committermaxbr <maxbr@mi.fu-berlin.de>2016-09-12 11:16:30 +0200
commit7c5fb4bcc0f291bc0d9563545a2a7112084d5b26 (patch)
tree1edc9abf5f01a31bc0a1a95c5743da1b82b5995f
parente74c3f8f656a35bc8d482f997b4cea7515916026 (diff)
Add utilization column to dev pod tab
JIRA: PHAROS-263 Change-Id: I25d5d4bf4ecc23febdc0c11eae3298ada9372e83 Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
-rw-r--r--pharos-dashboard/dashboard/views.py12
-rw-r--r--pharos-dashboard/templates/dashboard/ci_pods.html2
-rw-r--r--pharos-dashboard/templates/dashboard/dev_pods.html16
3 files changed, 24 insertions, 6 deletions
diff --git a/pharos-dashboard/dashboard/views.py b/pharos-dashboard/dashboard/views.py
index 8954f6c..c34a7a5 100644
--- a/pharos-dashboard/dashboard/views.py
+++ b/pharos-dashboard/dashboard/views.py
@@ -40,10 +40,18 @@ class DevelopmentPodsView(TemplateView):
dev_pods = []
for resource in resources:
- dev_pod = (resource, None)
+ booking_utilization = resource.get_booking_utilization(weeks=4)
+ total = booking_utilization['booked_seconds'] + booking_utilization['available_seconds']
+ try:
+ utilization_percentage = "%d%%" % (float(booking_utilization['booked_seconds']) /
+ total * 100)
+ except (ValueError, ZeroDivisionError):
+ return ""
+
+ dev_pod = (resource, None, utilization_percentage)
for booking in bookings:
if booking.resource == resource:
- dev_pod = (resource, booking)
+ dev_pod = (resource, booking, utilization_percentage)
dev_pods.append(dev_pod)
context = super(DevelopmentPodsView, self).get_context_data(**kwargs)
diff --git a/pharos-dashboard/templates/dashboard/ci_pods.html b/pharos-dashboard/templates/dashboard/ci_pods.html
index 2982a6f..a754252 100644
--- a/pharos-dashboard/templates/dashboard/ci_pods.html
+++ b/pharos-dashboard/templates/dashboard/ci_pods.html
@@ -41,7 +41,7 @@
href={{ pod.slave.last_job_url }}>{{ pod.slave.last_job_name }}</a>
</th>
</tr>
- {% endfor %}`
+ {% endfor %}
</tbody>
{% endblock table %}
diff --git a/pharos-dashboard/templates/dashboard/dev_pods.html b/pharos-dashboard/templates/dashboard/dev_pods.html
index 9c84bb9..c4cb1ba 100644
--- a/pharos-dashboard/templates/dashboard/dev_pods.html
+++ b/pharos-dashboard/templates/dashboard/dev_pods.html
@@ -10,12 +10,14 @@
<th>Booked by</th>
<th>Booked until</th>
<th>Purpose</th>
+ <th>Utilization</th>
<th>Status</th>
<th></th>
+ <th></th>
</tr>
</thead>
<tbody>
- {% for pod, booking in dev_pods %}
+ {% for pod, booking, utilization in dev_pods %}
<tr>
<th>
<a href={% url 'dashboard:resource' resource_id=pod.id %}>{{ pod.name }}</a>
@@ -32,6 +34,9 @@
<th>
{{ booking.purpose }}
</th>
+ <th>
+ {{ utilization }}
+ </th>
<th style="background-color:{{ pod.slave.status | jenkins_status_color }}">
{{ pod.slave.status }}
</th>
@@ -40,6 +45,11 @@
Book
</a>
</th>
+ <th>
+ <a href="{% url 'dashboard:resource' resource_id=pod.id %}" class="btn btn-primary">
+ Info
+ </a>
+ </th>
</tr>
{% endfor %}
</tbody>
@@ -50,9 +60,9 @@
$(document).ready(function () {
$('#table').DataTable({
columnDefs: [
- {type: 'status', targets: 5}
+ {type: 'status', targets: 6}
],
- "order": [[5, "asc"]]
+ "order": [[6, "asc"]]
});
});
</script>