Local inventory #16
5 changed files with 20 additions and 10 deletions
|
@ -65,6 +65,8 @@ rack_location:
|
|||
#
|
||||
# driver: "file:/tmp/datacenter"
|
||||
# regex: "(.*)"
|
||||
|
||||
inventory: true
|
||||
```
|
||||
|
||||
# Hardware
|
||||
|
|
|
@ -24,3 +24,5 @@ rack_location:
|
|||
#
|
||||
# driver: "file:/tmp/datacenter"
|
||||
# regex: "(.*)"
|
||||
|
||||
inventory: true
|
||||
|
|
|
@ -38,3 +38,5 @@ if config.get('network'):
|
|||
NETWORK_IGNORE_INTERFACES = config['network'].get('ignore_interfaces')
|
||||
NETWORK_IGNORE_IPS = config['network'].get('ignore_ips')
|
||||
NETWORK_LLDP = config['network'].get('lldp') is True
|
||||
|
||||
INVENTORY_ENABLED = config.get('inventory') == True
|
||||
|
|
|
@ -2,7 +2,7 @@ import logging
|
|||
import subprocess
|
||||
import re
|
||||
|
||||
from netbox_agent.config import netbox_instance as nb
|
||||
from netbox_agent.config import netbox_instance as nb, INVENTORY_ENABLED
|
||||
from netbox_agent.misc import is_tool
|
||||
from netbox_agent.raid.hp import HPRaid
|
||||
from netbox_agent.raid.storcli import StorcliRaid
|
||||
|
@ -43,6 +43,10 @@ class Inventory():
|
|||
* get netbox item
|
||||
* create netbox item
|
||||
* update netbox item
|
||||
|
||||
Known issues:
|
||||
- no scan of non-raid devices
|
||||
- no scan of NVMe devices
|
||||
"""
|
||||
|
||||
def __init__(self, server):
|
||||
|
@ -306,13 +310,19 @@ class Inventory():
|
|||
self.create_netbox_memory(memory)
|
||||
|
||||
def create(self):
|
||||
if not INVENTORY_ENABLED:
|
||||
return False
|
||||
self.create_netbox_cpus()
|
||||
self.create_netbox_memory()
|
||||
self.create_netbox_raid_cards()
|
||||
self.create_netbox_disks()
|
||||
return True
|
||||
|
||||
def update(self):
|
||||
if not INVENTORY_ENABLED:
|
||||
return False
|
||||
self.update_netbox_cpus()
|
||||
self.update_netbox_memory()
|
||||
self.update_netbox_raid_cards()
|
||||
self.update_netbox_disks()
|
||||
return True
|
||||
|
|
|
@ -274,7 +274,7 @@ class ServerBase():
|
|||
# check network cards
|
||||
self.network = Network(server=self)
|
||||
self.network.update_netbox_network_cards()
|
||||
# check raid_cards
|
||||
# update inventory
|
||||
self.inventory = Inventory(server=self)
|
||||
self.inventory.update()
|
||||
if update:
|
||||
|
@ -282,13 +282,7 @@ class ServerBase():
|
|||
logging.debug('Finished updating Server!')
|
||||
|
||||
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_disks())
|
||||
return
|
||||
self.network = Network(server=self)
|
||||
print('Datacenter:', self.get_datacenter())
|
||||
print('Netbox Datacenter:', self.get_netbox_datacenter())
|
||||
print('Rack:', self.get_rack())
|
||||
|
|
Loading…
Add table
Reference in a new issue