fix logging and add media type for physical disk
This commit is contained in:
parent
4c3864b94e
commit
afdf26c920
3 changed files with 20 additions and 10 deletions
|
@ -72,8 +72,9 @@ class Inventory():
|
||||||
tags=[INVENTORY_TAG['cpu']['name']],
|
tags=[INVENTORY_TAG['cpu']['name']],
|
||||||
name=model,
|
name=model,
|
||||||
discovered=True,
|
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):
|
def update_netbox_cpus(self):
|
||||||
cpus_number, model = self.get_cpus()
|
cpus_number, model = self.get_cpus()
|
||||||
|
@ -121,7 +122,7 @@ class Inventory():
|
||||||
name=name,
|
name=name,
|
||||||
slug=name.lower(),
|
slug=name.lower(),
|
||||||
)
|
)
|
||||||
logging.info('Created missing manufacturer {name}'.format(name=name))
|
logging.info('Creating missing manufacturer {name}'.format(name=name))
|
||||||
return manufacturer
|
return manufacturer
|
||||||
|
|
||||||
def create_netbox_raid_card(self, raid_card):
|
def create_netbox_raid_card(self, raid_card):
|
||||||
|
@ -137,8 +138,9 @@ class Inventory():
|
||||||
tags=[INVENTORY_TAG['raid_card']['name']],
|
tags=[INVENTORY_TAG['raid_card']['name']],
|
||||||
name='{}'.format(name),
|
name='{}'.format(name),
|
||||||
serial='{}'.format(serial),
|
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,
|
name=name,
|
||||||
serial=serial,
|
serial=serial,
|
||||||
))
|
))
|
||||||
|
@ -191,13 +193,17 @@ class Inventory():
|
||||||
|
|
||||||
def create_netbox_disks(self):
|
def create_netbox_disks(self):
|
||||||
for disk in self.get_disks():
|
for disk in self.get_disks():
|
||||||
disk = nb.dcim.inventory_items.create(
|
_ = nb.dcim.inventory_items.create(
|
||||||
device=self.device_id,
|
device=self.device_id,
|
||||||
discovered=True,
|
discovered=True,
|
||||||
tags=[INVENTORY_TAG['disk']['name']],
|
tags=[INVENTORY_TAG['disk']['name']],
|
||||||
name='{} ({})'.format(disk['Model'], disk['Size']),
|
name='{} ({})'.format(disk['Model'], disk['Size']),
|
||||||
serial=disk['SN'],
|
serial=disk['SN'],
|
||||||
)
|
)
|
||||||
|
logging.info('Creating Disk {model} {serial}'.format(
|
||||||
|
model=disk['Model'],
|
||||||
|
serial=disk['SN'],
|
||||||
|
))
|
||||||
|
|
||||||
def update_netbox_disks(self):
|
def update_netbox_disks(self):
|
||||||
nb_disks = self.get_netbox_disks()
|
nb_disks = self.get_netbox_disks()
|
||||||
|
@ -215,12 +221,13 @@ class Inventory():
|
||||||
# create disks that are not in netbox
|
# create disks that are not in netbox
|
||||||
for disk in disks:
|
for disk in disks:
|
||||||
if disk['SN'] not in [x.serial for x in nb_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,
|
device=self.device_id,
|
||||||
discovered=True,
|
discovered=True,
|
||||||
tags=[INVENTORY_TAG['disk']['name']],
|
tags=[INVENTORY_TAG['disk']['name']],
|
||||||
name='{} ({})'.format(disk['Model'], disk['Size']),
|
name='{} ({})'.format(disk['Model'], disk['Size']),
|
||||||
serial=disk['SN'],
|
serial=disk['SN'],
|
||||||
|
description=disk.get('Type', ''),
|
||||||
)
|
)
|
||||||
logging.info('Creating Disk {model} {serial}'.format(
|
logging.info('Creating Disk {model} {serial}'.format(
|
||||||
model=disk['Model'],
|
model=disk['Model'],
|
||||||
|
@ -264,7 +271,7 @@ class Inventory():
|
||||||
name=memory['Manufacturer'],
|
name=memory['Manufacturer'],
|
||||||
slug=memory['Manufacturer'].lower(),
|
slug=memory['Manufacturer'].lower(),
|
||||||
)
|
)
|
||||||
memory = nb.dcim.inventory_items.create(
|
nb_memory = nb.dcim.inventory_items.create(
|
||||||
device=self.device_id,
|
device=self.device_id,
|
||||||
discovered=True,
|
discovered=True,
|
||||||
manufacturer=manufacturer.id,
|
manufacturer=manufacturer.id,
|
||||||
|
@ -272,12 +279,13 @@ class Inventory():
|
||||||
name='{} ({} {})'.format(memory['Locator'], memory['Size'], memory['Type']),
|
name='{} ({} {})'.format(memory['Locator'], memory['Size'], memory['Type']),
|
||||||
part_id=memory['PN'],
|
part_id=memory['PN'],
|
||||||
serial=memory['SN'],
|
serial=memory['SN'],
|
||||||
|
description='RAM',
|
||||||
)
|
)
|
||||||
logging.info('Creating Memory {type} {size}'.format(
|
logging.info('Creating Memory {type} {size}'.format(
|
||||||
type=memory['Type'],
|
type=memory['Type'],
|
||||||
size=memory['Size'],
|
size=memory['Size'],
|
||||||
))
|
))
|
||||||
return memory
|
return nb_memory
|
||||||
|
|
||||||
def create_netbox_memories(self):
|
def create_netbox_memories(self):
|
||||||
for memory in self.get_memory():
|
for memory in self.get_memory():
|
||||||
|
|
|
@ -32,6 +32,7 @@ class StorcliController(RaidController):
|
||||||
enclosure = physical_drive.get('EID:Slt').split(':')[0]
|
enclosure = physical_drive.get('EID:Slt').split(':')[0]
|
||||||
slot = physical_drive.get('EID:Slt').split(':')[1]
|
slot = physical_drive.get('EID:Slt').split(':')[1]
|
||||||
size = physical_drive.get('Size').strip()
|
size = physical_drive.get('Size').strip()
|
||||||
|
media_type = physical_drive.get('Med').strip()
|
||||||
drive_identifier = 'Drive /c{}/e{}/s{}'.format(
|
drive_identifier = 'Drive /c{}/e{}/s{}'.format(
|
||||||
str(self.controller_index), str(enclosure), str(slot)
|
str(self.controller_index), str(enclosure), str(slot)
|
||||||
)
|
)
|
||||||
|
@ -41,6 +42,7 @@ class StorcliController(RaidController):
|
||||||
'Model': drive_attr.get('Model Number', '').strip(),
|
'Model': drive_attr.get('Model Number', '').strip(),
|
||||||
'SN': drive_attr.get('SN', '').strip(),
|
'SN': drive_attr.get('SN', '').strip(),
|
||||||
'Size': size,
|
'Size': size,
|
||||||
|
'Type': media_type,
|
||||||
})
|
})
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
|
@ -284,9 +284,9 @@ class ServerBase():
|
||||||
def print_debug(self):
|
def print_debug(self):
|
||||||
self.inventory = Inventory(server=self)
|
self.inventory = Inventory(server=self)
|
||||||
# FIXME: do something more generic by looping on every get_* methods
|
# FIXME: do something more generic by looping on every get_* methods
|
||||||
print(self.inventory.get_memory())
|
# print(self.inventory.get_memory())
|
||||||
print(self.inventory.get_raid_cards())
|
# print(self.inventory.get_raid_cards())
|
||||||
print(self.inventory.get_netbox_raid_cards())
|
# print(self.inventory.get_netbox_raid_cards())
|
||||||
print(self.inventory.get_disks())
|
print(self.inventory.get_disks())
|
||||||
return
|
return
|
||||||
print('Datacenter:', self.get_datacenter())
|
print('Datacenter:', self.get_datacenter())
|
||||||
|
|
Loading…
Add table
Reference in a new issue