From 640ff61422bc0ee3966941b93d9889ddbbd38d77 Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Thu, 30 Jul 2026 18:17:14 -0600 Subject: more files --- src/caas/services/nicfirmwareversionservice.py | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/caas/services/nicfirmwareversionservice.py (limited to 'src/caas/services/nicfirmwareversionservice.py') diff --git a/src/caas/services/nicfirmwareversionservice.py b/src/caas/services/nicfirmwareversionservice.py new file mode 100644 index 0000000..b8a9d43 --- /dev/null +++ b/src/caas/services/nicfirmwareversionservice.py @@ -0,0 +1,37 @@ +import datetime +from .helpers import Address +from ..models import FirmwareUpgradeSchedule, Server +from django.conf import settings +import logging + + +logger = logging.getLogger("caas") + +class NicFirmwareVersionService(): + @staticmethod + def set_server_nic_firmware_version(ilo_host_address, intel_nic_firmware_version): + try: + server_kwargs = {"ilo_host_address": ilo_host_address} + server = Server.objects.get(**server_kwargs) + except Server.DoesNotExist: + errmsg = "FAILED: while upgrading Intel NIC firmware: cannot find server with ilo_host_address: %s" % ilo_host_address + logger.error(errmsg) + return -1 + + try: + firmware_kwargs = {"server_id": server.pk} + firmware = FirmwareUpgradeSchedule.objects.get(**firmware_kwargs) + except FirmwareUpgradeSchedule.DoesNotExist: + errmsg = "FAILED: while upgrading Intel NIC firmware: cannot find FirmwareUpgradeSchedule associated with the server with ilo_hostname: %s" % server.ilo_hostname + logger.error(errmsg) + return -1 + + if intel_nic_firmware_version == settings.INTEL_NIC_FIRMWARE_VERSION: + firmware.date_completed = datetime.datetime.now() + else: + firmware.date_last_failed = datetime.datetime.now() + + server.intel_nic_firmware_version = intel_nic_firmware_version + server.save() + firmware.save() + return 0 -- cgit v1.3