code cleanup
This commit is contained in:
parent
c9cb503190
commit
ef7d318c8c
3 changed files with 44 additions and 25 deletions
34
netbox_agent/cli.py
Normal file
34
netbox_agent/cli.py
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
from pprint import pprint
|
||||||
|
import netbox_agent.dmidecode as dmidecode
|
||||||
|
from netbox_agent.dell.dell import DellHost
|
||||||
|
from netbox_agent.hp.hp import HPHost
|
||||||
|
|
||||||
|
MANUFACTURERS = {
|
||||||
|
'Dell Inc.': DellHost,
|
||||||
|
'HP': HPHost,
|
||||||
|
'HPE': HPHost,
|
||||||
|
}
|
||||||
|
|
||||||
|
def run(args):
|
||||||
|
manufacturer = dmidecode.get_by_type('Chassis')[0].get('Manufacturer')
|
||||||
|
server = MANUFACTURERS[manufacturer](dmidecode)
|
||||||
|
if args.debug:
|
||||||
|
server.print_debug()
|
||||||
|
if args.register:
|
||||||
|
server.netbox_create()
|
||||||
|
return True
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description='Process some integers.')
|
||||||
|
parser.add_argument('--register', action='store_true',
|
||||||
|
help='Register server in Netbox')
|
||||||
|
parser.add_argument('--debug', action='store_true',
|
||||||
|
help='Print debug informations')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
return run(args)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
import sys
|
|
||||||
from pprint import pprint
|
|
||||||
import netbox_agent.dmidecode as dmidecode
|
|
||||||
from netbox_agent.dell.dell import DellHost
|
|
||||||
from netbox_agent.hp.hp import HPHost
|
|
||||||
|
|
||||||
MANUFACTURERS = {
|
|
||||||
'Dell Inc.': DellHost,
|
|
||||||
'HP': HPHost,
|
|
||||||
'HPE': HPHost,
|
|
||||||
}
|
|
||||||
|
|
||||||
def main():
|
|
||||||
manufacturer = dmidecode.get_by_type('Chassis')[0].get('Manufacturer')
|
|
||||||
print(manufacturer)
|
|
||||||
server = MANUFACTURERS[manufacturer](dmidecode)
|
|
||||||
print(server.get_product_name())
|
|
||||||
print(server.get_chassis())
|
|
||||||
print(server.get_service_tag())
|
|
||||||
print(server.get_chassis_service_tag())
|
|
||||||
server.netbox_create()
|
|
||||||
# print(server.get_network_cards())
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
||||||
|
|
@ -155,3 +155,13 @@ class ServerBase():
|
||||||
server = nb.dcim.devices.get(serial=self.get_service_tag())
|
server = nb.dcim.devices.get(serial=self.get_service_tag())
|
||||||
if not server:
|
if not server:
|
||||||
self._netbox_create_server()
|
self._netbox_create_server()
|
||||||
|
|
||||||
|
def print_debug(self):
|
||||||
|
# FIXME: do something more generic by looping on every get_* methods
|
||||||
|
print('Datacenter:', self.get_datacenter())
|
||||||
|
print('Netbox Datacenter:', self.get_netbox_datacenter())
|
||||||
|
print('Is blade:', self.is_blade())
|
||||||
|
print('Product Name:', self.get_product_name())
|
||||||
|
print('Chassis:', self.get_chassis())
|
||||||
|
print('Chassis service tag:', self.get_chassis_service_tag())
|
||||||
|
print('Service tag:', self.get_service_tag())
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue