summaryrefslogtreecommitdiff
path: root/src/dashboard/services
diff options
context:
space:
mode:
authorckonstanski <kostcarl@isu.edu>2026-07-30 18:17:14 -0600
committerckonstanski <kostcarl@isu.edu>2026-07-30 18:17:14 -0600
commit640ff61422bc0ee3966941b93d9889ddbbd38d77 (patch)
treeabf1c08f5d38ee53ec8b29dc4f425722517505e6 /src/dashboard/services
parent22dae02a86c1fce71091bfa5289cf99abba1b217 (diff)
more filesHEADmaster
Diffstat (limited to 'src/dashboard/services')
-rw-r--r--src/dashboard/services/caasqueryservice.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/dashboard/services/caasqueryservice.py b/src/dashboard/services/caasqueryservice.py
new file mode 100644
index 0000000..b367c33
--- /dev/null
+++ b/src/dashboard/services/caasqueryservice.py
@@ -0,0 +1,31 @@
+import json
+from django.apps import apps
+
+
+class CaaSQueryService:
+ def get_clusters(self):
+ wr_install_schedule = apps.get_model('caas', 'WrInstallSchedule')
+ installs = list(wr_install_schedule.objects.select_related('cluster')
+ .values('cluster__cluster_name',
+ 'date_scheduled',
+ 'date_completed',
+ 'date_last_failed',
+ 'kirke_ticket_number',
+ 'kirke_ticket_status',
+ 'kirke_ticket_completed'))
+ return json.dumps(installs, indent=4, sort_keys=True, default=str)
+
+ def get_firmware_version(self):
+ firmware_schedule = apps.get_model('caas', 'FirmwareUpgradeSchedule')
+ query_set = firmware_schedule.objects.select_related('server').order_by('id', 'date_completed')
+ servers = []
+ for server in query_set:
+ servers.append(
+ {'id': server.id,
+ 'oam_hostname': server.server.oam_hostname,
+ 'ilo_host_address': server.server.ilo_host_address,
+ 'intel_nic_firmware_version': server.server.intel_nic_firmware_version,
+ 'date_completed': server.date_completed,
+ 'date_last_failed': server.date_last_failed},
+ )
+ return json.dumps(servers, indent=4, sort_keys=True, default=str)