Exemple #1
0
def test_moonshot_blade(fixture):
    dmi = parse(fixture)
    server = HPHost(dmi)
    assert server.get_service_tag() == 'CN66480BLA'
    assert server.get_chassis_service_tag() == 'CZ3702MD5K'
    assert server.is_blade() is True
    assert server.own_expansion_slot() is False
Exemple #2
0
def test_supermicro_blade(fixture):
    dmi = parse(fixture)
    server = SupermicroHost(dmi)
    assert server.get_service_tag() == 'E235735X6B01665'
    assert server.get_chassis_service_tag() == 'C9390AF40A20098'
    assert server.get_chassis() == 'SYS-5039MS-H12TRF-OS012'
    assert server.is_blade() is True
Exemple #3
0
def test_hp_blade_with_gpu_expansion(fixture):
    dmi = parse(fixture)
    server = HPHost(dmi)
    assert server.get_service_tag() == '4242'
    assert server.get_chassis_service_tag() == '4343'
    assert server.is_blade() is True
    assert server.own_expansion_slot() is True
    assert server.get_expansion_service_tag() == '4242 expansion'
    def __init__(self, dmi=None):
        if dmi:
            self.dmi = dmi
        else:
            self.dmi = dmidecode.parse()
        self.network = None

        self.tags = list(set(config.device.tags.split(','))) if config.device.tags else []
        if self.tags and len(self.tags):
            create_netbox_tags(self.tags)
Exemple #5
0
    def __init__(self, dmi=None):
        if dmi:
            self.dmi = dmi
        else:
            self.dmi = dmidecode.parse()

        self.baseboard = self.dmi.get_by_type('Baseboard')
        self.bios = self.dmi.get_by_type('BIOS')
        self.chassis = self.dmi.get_by_type('Chassis')
        self.system = self.dmi.get_by_type('System')

        self.network = None
Exemple #6
0
def run(config):
    dmi = dmidecode.parse()
    manufacturer = dmidecode.get_by_type(dmi, 'Chassis')[0].get('Manufacturer')

    try:
        server = MANUFACTURERS[manufacturer](dmi=dmi)
    except KeyError:
        server = GenericHost(dmi=dmi)

    if config.debug:
        server.print_debug()
    if config.register:
        server.netbox_create(config)
    if config.update_all or config.update_network or config.update_location or \
       config.update_inventory or config.update_psu:
        server.netbox_update(config)
    return True
Exemple #7
0
def run(config):
    dmi = dmidecode.parse()

    if config.virtual.enabled or is_vm(dmi):
        if not config.virtual.cluster_name:
            raise Exception(
                'virtual.cluster_name parameter is mandatory because it\'s a VM'
            )
        server = VirtualMachine(dmi=dmi)
    else:
        manufacturer = dmidecode.get_by_type(dmi,
                                             'Chassis')[0].get('Manufacturer')
        try:
            server = MANUFACTURERS[manufacturer](dmi=dmi)
        except KeyError:
            server = GenericHost(dmi=dmi)

    if config.debug:
        server.print_debug()
    if config.register or config.update_all or config.update_network or config.update_location or \
       config.update_inventory or config.update_psu:
        server.netbox_create_or_update(config)
    return True
Exemple #8
0
def test_init(fixture):
    dmi = parse(fixture)
    server = ServerBase(dmi)
    assert server
Exemple #9
0
def test_generic_host_product_name(fixture):
    dmi = parse(fixture)
    server = ServerBase(dmi)
    assert server.get_product_name() == 'SR'
Exemple #10
0
def test_generic_host_service_tag(fixture):
    dmi = parse(fixture)
    server = ServerBase(dmi)
    assert server.get_service_tag() == '42'
Exemple #11
0
def test_qct_x10(fixture):
    dmi = parse(fixture)
    server = QCTHost(dmi)
    assert server.get_service_tag() == 'QTFCQ57140285'
Exemple #12
0
def test_supermicro_pizza(fixture):
    dmi = parse(fixture)
    server = SupermicroHost(dmi)
    assert server.get_service_tag() == 'A177950X7709591'
    assert server.is_blade() is False
Exemple #13
0
def test_hp_service_tag(fixture):
    dmi = parse(fixture)
    server = HPHost(dmi)
    assert server.get_service_tag() == '4242'
Exemple #14
0
 def __init__(self, dmi=None):
     if dmi:
         self.dmi = dmi
     else:
         self.dmi = dmidecode.parse()
     self.network = None