summaryrefslogtreecommitdiff
path: root/src/dashboard/services/caasqueryservice.py
blob: b367c33f9675a638aad7da480b14e69435ae20b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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)