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