fix logging and add media type for physical disk

This commit is contained in:
Solvik Blum 2019-08-21 17:36:30 +02:00
parent 4c3864b94e
commit afdf26c920
No known key found for this signature in database
GPG key ID: CC12B3DC262B6C47
3 changed files with 20 additions and 10 deletions

View file

@ -72,8 +72,9 @@ class Inventory():
tags=[INVENTORY_TAG['cpu']['name']],
name=model,
discovered=True,
description='CPU',
)
logging.info('Created CPU model {model}'.format(model=model))
logging.info('Creating CPU model {model}'.format(model=model))
def update_netbox_cpus(self):
cpus_number, model = self.get_cpus()
@ -121,7 +122,7 @@ class Inventory():
name=name,
slug=name.lower(),
)
logging.info('Created missing manufacturer {name}'.format(name=name))
logging.info('Creating missing manufacturer {name}'.format(name=name))
return manufacturer
def create_netbox_raid_card(self, raid_card):
@ -137,8 +138,9 @@ class Inventory():
tags=[INVENTORY_TAG['raid_card']['name']],
name='{}'.format(name),
serial='{}'.format(serial),
description='RAID Card',
)
logging.info('Created RAID Card {name} (SN: {serial})'.format(
logging.info('Creating RAID Card {name} (SN: {serial})'.format(
name=name,
serial=serial,
))
@ -191,13 +193,17 @@ class Inventory():
def create_netbox_disks(self):
for disk in self.get_disks():
disk = nb.dcim.inventory_items.create(
_ = nb.dcim.inventory_items.create(
device=self.device_id,
discovered=True,
tags=[INVENTORY_TAG['disk']['name']],
name='{} ({})'.format(disk['Model'], disk['Size']),
serial=disk['SN'],
)
logging.info('Creating Disk {model} {serial}'.format(
model=disk['Model'],
serial=disk['SN'],
))
def update_netbox_disks(self):
nb_disks = self.get_netbox_disks()
@ -215,12 +221,13 @@ class Inventory():
# create disks that are not in netbox
for disk in disks:
if disk['SN'] not in [x.serial for x in nb_disks]:
disk = nb.dcim.inventory_items.create(
nb_disk = nb.dcim.inventory_items.create(
device=self.device_id,
discovered=True,
tags=[INVENTORY_TAG['disk']['name']],
name='{} ({})'.format(disk['Model'], disk['Size']),
serial=disk['SN'],
description=disk.get('Type', ''),
)
logging.info('Creating Disk {model} {serial}'.format(
model=disk['Model'],
@ -264,7 +271,7 @@ class Inventory():
name=memory['Manufacturer'],
slug=memory['Manufacturer'].lower(),
)
memory = nb.dcim.inventory_items.create(
nb_memory = nb.dcim.inventory_items.create(
device=self.device_id,
discovered=True,
manufacturer=manufacturer.id,
@ -272,12 +279,13 @@ class Inventory():
name='{} ({} {})'.format(memory['Locator'], memory['Size'], memory['Type']),
part_id=memory['PN'],
serial=memory['SN'],
description='RAM',
)
logging.info('Creating Memory {type} {size}'.format(
type=memory['Type'],
size=memory['Size'],
))
return memory
return nb_memory
def create_netbox_memories(self):
for memory in self.get_memory():

View file

@ -32,6 +32,7 @@ class StorcliController(RaidController):
enclosure = physical_drive.get('EID:Slt').split(':')[0]
slot = physical_drive.get('EID:Slt').split(':')[1]
size = physical_drive.get('Size').strip()
media_type = physical_drive.get('Med').strip()
drive_identifier = 'Drive /c{}/e{}/s{}'.format(
str(self.controller_index), str(enclosure), str(slot)
)
@ -41,6 +42,7 @@ class StorcliController(RaidController):
'Model': drive_attr.get('Model Number', '').strip(),
'SN': drive_attr.get('SN', '').strip(),
'Size': size,
'Type': media_type,
})
return ret

View file

@ -284,9 +284,9 @@ class ServerBase():
def print_debug(self):
self.inventory = Inventory(server=self)
# FIXME: do something more generic by looping on every get_* methods
print(self.inventory.get_memory())
print(self.inventory.get_raid_cards())
print(self.inventory.get_netbox_raid_cards())
# print(self.inventory.get_memory())
# print(self.inventory.get_raid_cards())
# print(self.inventory.get_netbox_raid_cards())
print(self.inventory.get_disks())
return
print('Datacenter:', self.get_datacenter())