blob: 745f5fa6115318f8ef6592406cd9f5b34065039b (
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
32
33
34
35
36
37
38
|
from ..models import Server
from .helpers import Address
import logging
logger = logging.getLogger("caas")
class MacAddressService():
@staticmethod
def set_server_mac_address(ilo_host_address, pxe_mac_address, intel_nic_firmware_version):
try:
server_kwargs = {"ilo_host_address": Address.strip_brackets(ilo_host_address)}
server = Server.objects.get(**server_kwargs)
except Server.DoesNotExist:
logger.error("%s FAILED: while setting server MAC address: failed to retrieve server" % ilo_host_address)
return -1
changed_p = False
if server.pxe_mac_address != pxe_mac_address:
server.pxe_mac_address = pxe_mac_address
changed_p = True
if server.intel_nic_firmware_version != intel_nic_firmware_version:
server.intel_nic_firmware_version = intel_nic_firmware_version
changed_p = True
if changed_p:
server.save()
return 0
@staticmethod
def get_server_mac_address(ilo_host_address):
try:
server_kwargs = {"ilo_host_address": Address.strip_brackets(ilo_host_address)}
server = Server.objects.get(**server_kwargs)
except Server.DoesNotExist:
logger.error("%s FAILED: while getting server MAC address: failed to retrieve server" % ilo_host_address)
return None
return server.pxe_mac_address
|