Setup tests

This commit is contained in:
ramnes 2020-02-02 20:08:56 +01:00 committed by Guillaume Gelin
parent bdc2cbeb8f
commit bab2d26ad0
46 changed files with 11717 additions and 117 deletions

2
.gitignore vendored
View file

@ -179,3 +179,5 @@ dmypy.json
.pyre/
# End of https://www.gitignore.io/api/emacs,python
netbox-docker

View file

@ -2,20 +2,23 @@ sudo: false
dist: xenial
language: python
services:
- docker
matrix:
include:
- python: 3.5
env: TOXENV=py35
env: TOXENV=pytest
- python: 3.6
env: TOXENV=py36
env: TOXENV=pytest
- python: 3.7
env: TOXENV=py37
env: TOXENV=pytest
- python: pypy3
env: TOXENV=pypy3
env: TOXENV=pytest
- python: 3.5
env: TOXENV=pep8
env: TOXENV=flake8
- python: 3.7
env: TOXENV=pep8
env: TOXENV=flake8
cache:
directories:
@ -23,7 +26,7 @@ cache:
install:
- pip install tox
- if [[ $TOXENV == py* ]]; then pip install coveralls; fi
- if [[ $TOXENV == pytest ]]; then pip install coveralls; fi
script:
- tox
@ -32,4 +35,4 @@ notifications:
email: false
after_success:
- if [[ $TOXENV == py* ]]; then coveralls; fi
- if [[ $TOXENV == pytest ]]; then coveralls; fi

View file

@ -1,4 +1,4 @@
# Netbox agent
# Netbox agent [![Build Status](https://travis-ci.com/Solvik/netbox_agent.svg?branch=master)](https://travis-ci.com/Solvik/netbox_agent)
This project aims to create hardware automatically into [Netbox](https://github.com/netbox-community/netbox) based on standard tools (dmidecode, lldpd, parsing /sys/, etc).

View file

@ -1,8 +1,7 @@
-r requirements.txt
pytest
pytest-cov
mypy
flake8==3.7.9
pep8-naming==0.9.1
flake8-quotes==2.1.1
flake8-import-order==0.18.1
Sphinx
flake8
flake8-isort
tox

View file

@ -1,18 +1,18 @@
from netbox_agent.logging import logging # NOQA
from netbox_agent.vendors.dell import DellHost
import netbox_agent.dmidecode as dmidecode
from netbox_agent.config import config
from netbox_agent.logging import logging # NOQA
from netbox_agent.vendors.dell import DellHost
from netbox_agent.vendors.hp import HPHost
from netbox_agent.vendors.qct import QCTHost
from netbox_agent.vendors.supermicro import SupermicroHost
MANUFACTURERS = {
'Dell Inc.': DellHost,
'HP': HPHost,
'HPE': HPHost,
'Supermicro': SupermicroHost,
'Quanta Cloud Technology Inc.': QCTHost,
}
'Dell Inc.': DellHost,
'HP': HPHost,
'HPE': HPHost,
'Supermicro': SupermicroHost,
'Quanta Cloud Technology Inc.': QCTHost,
}
def run(config):

View file

@ -1,8 +1,9 @@
import logging
import pynetbox
import jsonargparse
import sys
import jsonargparse
import pynetbox
def get_config():
p = jsonargparse.ArgumentParser(
@ -13,6 +14,8 @@ def get_config():
],
prog='netbox_agent',
description="Netbox agent to run on your infrastructure's servers",
env_prefix='NETBOX_AGENT_',
default_env=True
)
p.add_argument('-c', '--config', action=jsonargparse.ActionConfigFile)

View file

@ -1,9 +1,9 @@
import logging
import re as _re
import subprocess as _subprocess
import sys
from netbox_agent.misc import is_tool
import logging
_handle_re = _re.compile('^Handle\\s+(.+),\\s+DMI\\s+type\\s+(\\d+),\\s+(\\d+)\\s+bytes$')
_in_block_re = _re.compile('^\\t\\t(.+)$')
@ -11,7 +11,7 @@ _record_re = _re.compile('\\t(.+):\\s+(.+)$')
_record2_re = _re.compile('\\t(.+):$')
_type2str = {
0: 'BIOS',
0: 'BIOS',
1: 'System',
2: 'Baseboard',
3: 'Chassis',
@ -60,19 +60,22 @@ for type_id, type_str in _type2str.items():
_str2type[type_str] = type_id
def parse():
def parse(output=None):
"""
parse the full output of the dmidecode
command and return a dic containing the parsed information
"""
buffer = _execute_cmd()
if output:
buffer = output
else:
buffer = _execute_cmd()
if isinstance(buffer, bytes):
buffer = buffer.decode('utf-8')
_data = _parse(buffer)
return _data
def get_by_type(type_id):
def get_by_type(data, type_id):
"""
filter the output of dmidecode per type
0 BIOS
@ -124,7 +127,6 @@ def get_by_type(type_id):
if type_id is None:
return None
data = parse()
result = []
for entry in data.values():
if entry['DMIType'] == type_id:

View file

@ -1,6 +1,6 @@
import re
from shutil import which
import subprocess
from shutil import which
# Originally from https://github.com/opencoff/useful-scripts/blob/master/linktest.py
@ -9,7 +9,7 @@ field_map = {
'Supported ports': 'ports',
'Supported link modes': 'sup_link_modes',
'Supports auto-negotiation': 'sup_autoneg',
'Advertised link modes': 'adv_link_modes',
'Advertised link modes': 'adv_link_modes',
'Advertised auto-negotiation': 'adv_autoneg',
'Speed': 'speed',
'Duplex': 'duplex',
@ -31,6 +31,7 @@ class Ethtool():
There is several bindings to have something proper, but it requires
compilation and other requirements.
"""
def __init__(self, interface, *args, **kwargs):
self.interface = interface
@ -54,7 +55,7 @@ class Ethtool():
if field not in field_map:
continue
field = field_map[field]
output = line[r+1:].strip()
output = line[r + 1:].strip()
fields[field] = output
else:
if len(field) > 0 and \

View file

@ -1,13 +1,15 @@
import logging
import pynetbox
import re
from netbox_agent.config import netbox_instance as nb, config
from netbox_agent.misc import is_tool, get_vendor
import pynetbox
from netbox_agent.config import config
from netbox_agent.config import netbox_instance as nb
from netbox_agent.lshw import LSHW
from netbox_agent.misc import get_vendor, is_tool
from netbox_agent.raid.hp import HPRaid
from netbox_agent.raid.omreport import OmreportRaid
from netbox_agent.raid.storcli import StorcliRaid
from netbox_agent.lshw import LSHW
INVENTORY_TAG = {
'cpu': {'name': 'hw:cpu', 'slug': 'hw-cpu'},
@ -16,7 +18,7 @@ INVENTORY_TAG = {
'memory': {'name': 'hw:memory', 'slug': 'hw-memory'},
'motherboard': {'name': 'hw:motherboard', 'slug': 'hw-motherboard'},
'raid_card': {'name': 'hw:raid_card', 'slug': 'hw-raid-card'},
}
}
class Inventory():
@ -132,8 +134,8 @@ class Inventory():
motherboards = self.get_hw_motherboards()
nb_motherboards = self.get_netbox_inventory(
device_id=self.device_id,
tag=INVENTORY_TAG['motherboard']['slug'])
device_id=self.device_id,
tag=INVENTORY_TAG['motherboard']['slug'])
for nb_motherboard in nb_motherboards:
if nb_motherboard.serial not in [x['serial'] for x in motherboards]:
@ -169,8 +171,8 @@ class Inventory():
def do_netbox_interfaces(self):
nb_interfaces = self.get_netbox_inventory(
device_id=self.device_id,
tag=INVENTORY_TAG['interface']['slug'])
device_id=self.device_id,
tag=INVENTORY_TAG['interface']['slug'])
interfaces = self.lshw.interfaces
# delete interfaces that are in netbox but not locally
@ -269,9 +271,9 @@ class Inventory():
"""
nb_raid_cards = self.get_netbox_inventory(
device_id=self.device_id,
tag=[INVENTORY_TAG['raid_card']['slug']]
)
device_id=self.device_id,
tag=[INVENTORY_TAG['raid_card']['slug']]
)
raid_cards = self.get_raid_cards()
# delete cards that are in netbox but not locally
@ -296,7 +298,7 @@ class Inventory():
non_raid_disks = [
'MR9361-8i',
]
]
if size is None and logicalname is None or \
'virtual' in product.lower() or 'logical' in product.lower() or \
@ -321,7 +323,7 @@ class Inventory():
d = {}
d["name"] = ""
d['Size'] = '{} GB'.format(int(size/1024/1024/1024))
d['Size'] = '{} GB'.format(int(size / 1024 / 1024 / 1024))
d['logicalname'] = logicalname
d['description'] = description
d['SN'] = serial
@ -378,8 +380,8 @@ class Inventory():
def do_netbox_disks(self):
nb_disks = self.get_netbox_inventory(
device_id=self.device_id,
tag=INVENTORY_TAG['disk']['slug'])
device_id=self.device_id,
tag=INVENTORY_TAG['disk']['slug'])
disks = self.get_hw_disks()
# delete disks that are in netbox but not locally
@ -421,9 +423,9 @@ class Inventory():
def do_netbox_memories(self):
memories = self.lshw.memories
nb_memories = self.get_netbox_inventory(
device_id=self.device_id,
tag=INVENTORY_TAG['memory']['slug']
)
device_id=self.device_id,
tag=INVENTORY_TAG['memory']['slug']
)
for nb_memory in nb_memories:
if nb_memory.serial not in [x['serial'] for x in memories]:

View file

@ -33,6 +33,7 @@ class IPMI():
: O=OEM
Bad Password Threshold : Not Available
"""
def __init__(self):
self.ret, self.output = subprocess.getstatusoutput('ipmitool lan print')
if self.ret != 0:

View file

@ -2,8 +2,11 @@ import subprocess
class LLDP():
def __init__(self):
self.output = subprocess.getoutput('lldpctl -f keyvalue')
def __init__(self, output=None):
if output:
self.output = output
else:
self.output = subprocess.getoutput('lldpctl -f keyvalue')
self.data = self.parse()
def parse(self):
@ -49,6 +52,8 @@ class LLDP():
# lldp.eth0.port.descr=GigabitEthernet1/0/1
if self.data['lldp'].get(interface) is None:
return None
if self.data['lldp'][interface]['port'].get('ifname'):
return self.data['lldp'][interface]['port']['ifname']
return self.data['lldp'][interface]['port']['descr']
def get_switch_vlan(self, interface):

View file

@ -17,6 +17,7 @@ class LocationBase():
There's also a support for an external driver file outside of this project in case
the logic isn't supported here.
"""
def __init__(self, driver, driver_value, driver_file, regex, *args, **kwargs):
self.driver = driver
self.driver_value = driver_value

View file

@ -2,7 +2,6 @@ import logging
from netbox_agent.config import config
logger = logging.getLogger()
if config.log_level == 'debug':

View file

@ -1,6 +1,6 @@
import subprocess
import json
import logging
import subprocess
import sys
from netbox_agent.misc import is_tool

View file

@ -24,7 +24,7 @@ def get_vendor(name):
'MD': 'Toshiba',
'MG': 'Toshiba',
'WD': 'WDC'
}
}
for key, value in vendors.items():
if name.upper().startswith(key):
return value

View file

@ -1,12 +1,13 @@
from itertools import chain
import logging
import os
import re
from itertools import chain
from netaddr import IPAddress, IPNetwork
import netifaces
from netaddr import IPAddress, IPNetwork
from netbox_agent.config import netbox_instance as nb, config
from netbox_agent.config import config
from netbox_agent.config import netbox_instance as nb
from netbox_agent.ethtool import Ethtool
from netbox_agent.ipmi import IPMI
from netbox_agent.lldp import LLDP
@ -95,7 +96,7 @@ class Network():
x['addr'],
IPAddress(x['netmask']).netmask_bits()
) for x in ip_addr
] if ip_addr else None, # FIXME: handle IPv6 addresses
] if ip_addr else None, # FIXME: handle IPv6 addresses
'ethtool': Ethtool(interface).parse(),
'vlan': vlan,
'bonding': bonding,
@ -242,7 +243,7 @@ class Network():
interface = nb.dcim.interfaces.get(
device_id=self.device.id,
mgmt_only=True,
)
)
nic = {
'name': 'IPMI',
'mac': mac,

View file

@ -34,13 +34,13 @@ class PowerSupply():
'allocated_draw': None,
'maximum_draw': max_power,
'device': self.device_id,
})
})
return power_supply
def get_netbox_power_supply(self):
return nb.dcim.power_ports.filter(
device_id=self.device_id
)
)
def create_or_update_power_supply(self):
nb_psus = self.get_netbox_power_supply()
@ -78,10 +78,10 @@ class PowerSupply():
if psu['name'] not in [x.name for x in nb_psus]:
logging.info('Creating PSU {name} ({description}), {maximum_draw}W'.format(
**psu
))
))
nb_psu = nb.dcim.power_ports.create(
**psu
)
)
return True

View file

@ -1,8 +1,8 @@
import re
import subprocess
from netbox_agent.raid.base import Raid, RaidController
from netbox_agent.misc import get_vendor
from netbox_agent.raid.base import Raid, RaidController
REGEXP_CONTROLLER_HP = re.compile(r'Smart Array ([a-zA-Z0-9- ]+) in Slot ([0-9]+)')

View file

@ -1,6 +1,6 @@
import re
import subprocess
import xml.etree.ElementTree as ET # NOQA
import xml.etree.ElementTree as ET # NOQA
from netbox_agent.misc import get_vendor
from netbox_agent.raid.base import Raid, RaidController
@ -43,7 +43,7 @@ class OmreportController(RaidController):
ret = []
output = subprocess.getoutput(
'omreport storage controller controller={} -fmt xml'.format(self.controller_index)
)
)
root = ET.fromstring(output)
et_array_disks = root.find('ArrayDisks')
if et_array_disks is not None:
@ -54,7 +54,7 @@ class OmreportController(RaidController):
'SN': get_field(obj, 'DeviceSerialNumber'),
'Size': '{:.0f}GB'.format(
int(get_field(obj, 'Length')) / 1024 / 1024 / 1024
),
),
'Type': 'HDD' if int(get_field(obj, 'MediaType')) == 1 else 'SSD',
'_src': self.__class__.__name__,
})

View file

@ -1,5 +1,5 @@
import subprocess
import json
import subprocess
from netbox_agent.misc import get_vendor
from netbox_agent.raid.base import Raid, RaidController
@ -47,7 +47,7 @@ class StorcliController(RaidController):
'Size': size,
'Type': media_type,
'_src': self.__class__.__name__,
})
})
return ret

View file

@ -1,12 +1,13 @@
import logging
from pprint import pprint
import socket
import subprocess
from pprint import pprint
from netbox_agent.config import netbox_instance as nb, config
import netbox_agent.dmidecode as dmidecode
from netbox_agent.location import Datacenter, Rack
from netbox_agent.config import config
from netbox_agent.config import netbox_instance as nb
from netbox_agent.inventory import Inventory
from netbox_agent.location import Datacenter, Rack
from netbox_agent.network import Network
from netbox_agent.power import PowerSupply
@ -36,10 +37,10 @@ class ServerBase():
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.baseboard = dmidecode.get_by_type(self.dmi, 'Baseboard')
self.bios = dmidecode.get_by_type(self.dmi, 'BIOS')
self.chassis = dmidecode.get_by_type(self.dmi, 'Chassis')
self.system = dmidecode.get_by_type(self.dmi, 'System')
self.network = None
@ -229,7 +230,7 @@ class ServerBase():
# if it doesn't exist, create it
chassis = nb.dcim.devices.get(
serial=self.get_chassis_service_tag()
)
)
if not chassis:
chassis = self._netbox_create_blade_chassis(datacenter, rack)

View file

@ -1,8 +1,8 @@
import logging
import subprocess
from netbox_agent.server import ServerBase
from netbox_agent.misc import is_tool
from netbox_agent.server import ServerBase
class DellHost(ServerBase):

View file

@ -27,14 +27,14 @@ class HPHost(ServerBase):
'Enclosure Name': locator[0].strip(),
'Server Bay': locator[3].strip(),
'Enclosure Serial': locator[4].strip(),
}
}
return locator[0]
def get_blade_slot(self):
if self.is_blade():
return 'Bay {}'.format(
int(self.hp_rack_locator['Server Bay'].strip())
)
)
return None
def get_chassis(self):

View file

@ -2,6 +2,7 @@
from netbox_agent.location import Slot
from netbox_agent.server import ServerBase
"""
Supermicro DMI can be messed up. They depend on the vendor
to set the correct values. The endusers cannot

16
setup.cfg Normal file
View file

@ -0,0 +1,16 @@
[tool:pytest]
testpaths = tests
python_files = *.py
addopts = -vv --showlocals --cov-report term-missing --cov netbox_agent --no-cov-on-fail
[flake8]
ignore = E125,E129,W503,W504
exclude = .venv/,.git/,.tox/,netbox-docker/
max-line-length = 99
[isort]
line_length = 99
indent=' '
multi_line_output = 0
skip = .venv/,.git/,tests/conftest.py,ipython_config.py
known_first_party = netbox_agent,tests

View file

@ -1,4 +1,4 @@
from setuptools import setup, find_packages
from setuptools import find_packages, setup
setup(
name='netbox_agent',
@ -18,7 +18,7 @@ setup(
'netifaces==0.10.9',
'pyyaml==5.3',
'jsonargparse==2.22.2',
],
],
zip_safe=False,
keywords=['netbox'],
classifiers=[

22
tests.sh Executable file
View file

@ -0,0 +1,22 @@
set -x
git clone https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
docker-compose pull
docker-compose up -d
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' http://$(docker-compose port nginx 8080))" != "200" ]]
do
sleep 5
done
export NETBOX_AGENT__NETBOX__URL="http://$(docker-compose port nginx 8080)"
export NETBOX_AGENT__NETBOX__TOKEN=0123456789abcdef0123456789abcdef01234567
cd -
pytest
cd netbox-docker
docker-compose down
cd -
set +x

33
tests/conftest.py Normal file
View file

@ -0,0 +1,33 @@
import os
import pytest
def get_fixture_paths(path):
if not os.path.isdir(path):
return [path]
fixture_paths = []
for p in os.listdir(path):
p = os.path.join(path, p)
if os.path.isfile(p):
fixture_paths.append(p)
return fixture_paths
def parametrize_with_fixtures(path, base_path='tests/fixtures',
argname='fixture', only_filenames=None):
path = os.path.join(base_path, path)
fixture_paths = get_fixture_paths(path)
argvalues = []
for path in fixture_paths:
with open(path, 'r') as f:
content = ''.join(f.readlines())
filename = os.path.basename(path)
if only_filenames and filename not in only_filenames:
continue
param = pytest.param(content, id=filename)
argvalues.append(param)
def _decorator(test_function):
return pytest.mark.parametrize(argname, argvalues)(test_function)
return _decorator

868
tests/fixtures/dmidecode/Dell_DSS7500 vendored Normal file
View file

@ -0,0 +1,868 @@
# dmidecode 2.12
SMBIOS 2.8 present.
57 structures occupying 3093 bytes.
Table at 0x7AF09000.
Handle 0xDA00, DMI type 218, 11 bytes
OEM-specific Type
Header and Data:
DA 0B 00 DA B2 00 17 20 0E 10 03
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Dell Inc.
Version: 2.3.4
Release Date: 11/10/2016
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 16384 kB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
5.25"/360 kB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 2.3
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Product Name: DSS7500
Version: Not Specified
Serial Number: 4242-SERVICE_TAG
UUID: 4C4C4544-0048-5110-804A-C6C04F594A32
Wake-up Type: Power Switch
SKU Number: SKU=NotProvided;ModelName=DSS7500
Family: Not Specified
Handle 0x0200, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Dell Inc.
Product Name: 0X89R8
Version: A04
Serial Number: 4242
Handle 0x0300, DMI type 3, 22 bytes
Chassis Information
Manufacturer: Dell Inc.
Type: Rack Mount Chassis
Lock: Present
Version: Not Specified
Serial Number: 4242
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: Unknown
OEM Information: 0x00000000
Height: 4 U
Number Of Power Cords: Unspecified
Contained Elements: 0
SKU Number: Not Specified
Handle 0x0400, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: F1 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 79, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Voltage: 1.3 V
External Clock: 8000 MHz
Max Speed: 4000 MHz
Current Speed: 2200 MHz
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache Handle: 0x0700
L2 Cache Handle: 0x0701
L3 Cache Handle: 0x0702
Serial Number: 4242
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 10
Core Enabled: 10
Thread Count: 10
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
Handle 0x0401, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU2
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: F1 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 79, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Voltage: 1.3 V
External Clock: 8000 MHz
Max Speed: 4000 MHz
Current Speed: 2200 MHz
Status: Populated, Enabled
Upgrade: <OUT OF SPEC>
L1 Cache Handle: 0x0703
L2 Cache Handle: 0x0704
L3 Cache Handle: 0x0705
Serial Number: 4242
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 10
Core Enabled: 10
Thread Count: 10
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
Handle 0x0700, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 640 kB
Maximum Size: 640 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Parity
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x0701, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2560 kB
Maximum Size: 2560 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x0702, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 25600 kB
Maximum Size: 25600 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 20-way Set-associative
Handle 0x0703, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 640 kB
Maximum Size: 640 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Parity
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x0704, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2560 kB
Maximum Size: 2560 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x0705, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 25600 kB
Maximum Size: 25600 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 20-way Set-associative
Handle 0x0800, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Back USB port 2
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0801, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Internal USB port 1
Internal Connector Type: Access Bus (USB)
External Reference Designator: Not Specified
External Connector Type: None
Port Type: USB
Handle 0x0802, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Front USB port 2
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0803, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Back USB port 1
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0804, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Front USB port 1
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0805, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Video port 1
External Connector Type: DB-15 female
Port Type: Video Port
Handle 0x0806, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Serial port 1
External Connector Type: DB-9 male
Port Type: Serial Port 16550A Compatible
Handle 0x0900, DMI type 9, 17 bytes
System Slot Information
Designation: PCIe Slot 1
Type: x8 PCI Express 3
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported
Handle 0x0901, DMI type 9, 17 bytes
System Slot Information
Designation: PCIe Slot 2
Type: x8 PCI Express 3 x16
Current Usage: In Use
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:04:00.0
Handle 0x0902, DMI type 9, 17 bytes
System Slot Information
Designation: PCIe Slot 3
Type: x8 PCI Express 3
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported
Handle 0x0903, DMI type 9, 17 bytes
System Slot Information
Designation: PCIe Slot 4
Type: x8 PCI Express 3
Current Usage: In Use
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:06:00.0
Handle 0x0B00, DMI type 11, 5 bytes
OEM Strings
String 1: Dell System
String 2: 5[0000]
String 3: 1[06B6]
String 4: 7[0721]
String 5: 8[Dell Inc.]
String 6: 9[DSS7500]
String 7: 10[2.3.4]
String 8: 11[01.00.00]
String 9: 12[www.dell.com]
String 10: 14[1]
String 11: 17[8F27911A0C407F63]
String 12: 17[8F28041BFDD8E7E6]
String 13: 18[0]
String 14: 19[1]
String 15: 19[1]
Handle 0x0C00, DMI type 12, 5 bytes
System Configuration Options
Option 1: NVRAM_CLR: Clear user settable NVRAM areas and set defaults
Option 2: PWRD_EN: Close to enable password
Handle 0x0D00, DMI type 13, 22 bytes
BIOS Language Information
Language Description Format: Long
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 1536 GB
Error Information Handle: Not Provided
Number Of Devices: 12
Handle 0x1100, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 1
Locator: A1
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1101, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 1
Locator: A2
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1102, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 1
Locator: A3
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1103, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 1
Locator: A4
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1104, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 2
Locator: A5
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1105, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 2
Locator: A6
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1106, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 2
Locator: A7
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1107, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 2
Locator: A8
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1108, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 3
Locator: B1
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1109, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 3
Locator: B2
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x110A, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 3
Locator: B3
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x110B, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: 3
Locator: B4
Bank Locator: Not Specified
Type: <OUT OF SPEC>
Type Detail: Synchronous Registered (Buffered)
Speed: 2400 MHz
Manufacturer: 002C00B3002C
Serial Number: 4242
Asset Tag: 00171230
Part Number: 18ASF2G72PDZ-2G3B1
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum voltage: 1.200 V
Maximum voltage: 1.200 V
Configured voltage: 1.200 V
Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0007FFFFFFF
Range Size: 2 GB
Physical Array Handle: 0x1000
Partition Width: 2
Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0307FFFFFFF
Range Size: 190 GB
Physical Array Handle: 0x1000
Partition Width: 2
Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected
Handle 0x2600, DMI type 38, 18 bytes
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA8 (I/O)
Register Spacing: 32-bit Boundaries
Interrupt Polarity: Active High
Interrupt Trigger Mode: Edge
Interrupt Number: a
Handle 0x2700, DMI type 39, 22 bytes
System Power Supply
Location: Not Specified
Name: PWR SPLY,1600W,RDNT,DELTA
Manufacturer: DELL
Serial Number: 4242
Asset Tag: Not Specified
Model Part Number: 0685W7A00
Revision: Not Specified
Max Power Capacity: 1600 W
Status: Present, Unknown
Type: Unknown
Input Voltage Range Switching: Unknown
Plugged: Yes
Hot Replaceable: Yes
Handle 0x2701, DMI type 39, 22 bytes
System Power Supply
Location: Not Specified
Name: PWR SPLY,1600W,RDNT,DELTA
Manufacturer: DELL
Serial Number: 4242
Asset Tag: Not Specified
Model Part Number: 0685W7A00
Revision: Not Specified
Max Power Capacity: 1600 W
Status: Present, Unknown
Type: Unknown
Input Voltage Range Switching: Unknown
Plugged: Yes
Hot Replaceable: Yes
Handle 0x2900, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Embedded Video
Type: Video
Status: Enabled
Type Instance: 1
Bus Address: 0000:0b:00.0
Handle 0x2901, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Embedded EHCI USB Controller 1
Type: Other
Status: Enabled
Type Instance: 1
Bus Address: 0000:00:1d.0
Handle 0x2902, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Embedded EHCI USB Controller 2
Type: Other
Status: Enabled
Type Instance: 2
Bus Address: 0000:00:1a.0
Handle 0xB100, DMI type 177, 12 bytes
OEM-specific Type
Header and Data:
B1 0C 00 B1 00 02 00 00 00 00 00 00
Handle 0xD000, DMI type 208, 16 bytes
OEM-specific Type
Header and Data:
D0 10 00 D0 02 00 FE 00 B6 06 00 00 00 01 00 00
Handle 0xD200, DMI type 210, 12 bytes
OEM-specific Type
Header and Data:
D2 0C 00 D2 F8 02 03 03 06 80 04 05
Handle 0xD800, DMI type 216, 9 bytes
OEM-specific Type
Header and Data:
D8 09 00 D8 01 02 00 F0 03
Strings:
Matrox
{* Content TBD *}
Handle 0xDE00, DMI type 222, 16 bytes
OEM-specific Type
Header and Data:
DE 10 00 DE 00 40 FF FF 00 00 00 00 00 01 00 00
Handle 0xE100, DMI type 225, 13 bytes
OEM-specific Type
Header and Data:
E1 0D 00 E1 01 01 00 04 00 02 01 04 00
Strings:
CPU.Socket.1
CPU.Socket.2
Handle 0xE101, DMI type 225, 53 bytes
OEM-specific Type
Header and Data:
E1 35 01 E1 01 01 00 11 00 02 01 11 00 03 02 11
00 04 03 11 00 05 04 11 00 06 05 11 00 07 06 11
00 08 07 11 00 09 08 11 00 0A 09 11 00 0B 0A 11
00 0C 0B 11 00
Strings:
DIMM.Socket.A1
DIMM.Socket.A2
DIMM.Socket.A3
DIMM.Socket.A4
DIMM.Socket.A5
DIMM.Socket.A6
DIMM.Socket.A7
DIMM.Socket.A8
DIMM.Socket.B1
DIMM.Socket.B2
DIMM.Socket.B3
DIMM.Socket.B4
Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table

File diff suppressed because it is too large Load diff

1766
tests/fixtures/dmidecode/HP_BL460c_Gen10 vendored Normal file

File diff suppressed because it is too large Load diff

1709
tests/fixtures/dmidecode/HP_BL460c_Gen9 vendored Normal file

File diff suppressed because it is too large Load diff

1751
tests/fixtures/dmidecode/HP_DL380p_Gen8 vendored Normal file

File diff suppressed because it is too large Load diff

1364
tests/fixtures/dmidecode/HP_SL4540_Gen8 vendored Normal file

File diff suppressed because it is too large Load diff

526
tests/fixtures/dmidecode/QCT_X10E-9N vendored Normal file
View file

@ -0,0 +1,526 @@
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 3.0 present.
37 structures occupying 2615 bytes.
Table at 0x8F9C5000.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: S3E_3B09.02
Release Date: 02/23/2018
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 8192 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
Print screen service is supported (int 5h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 5.11
Firmware Revision: 3.20
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Quanta Cloud Technology Inc.
Product Name: QuantaMicro X10E-9N
Version: N/A
Serial Number: QTFCQ57140285
UUID: E1A3D1C8-0809-E711-B48A-A81E84729878
Wake-up Type: Power Switch
SKU Number: S3E
Family: Default string
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: Quanta Cloud Technology Inc.
Product Name: S3E-MB
Version: 31S3EMB0010
Serial Number: CQ571000415
Asset Tag: N/A
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: 4
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0
Handle 0x0003, DMI type 3, 22 bytes
Chassis Information
Manufacturer: Quanta Cloud Technology Inc.
Type: Rack Mount Chassis
Lock: Not Present
Version: 32S3ECAST00
Serial Number: QTFCQ571402FD
Asset Tag: N/A
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00000000
Height: 3 U
Number Of Power Cords: 2
Contained Elements: 0
SKU Number: Default string
Handle 0x0021, DMI type 11, 5 bytes
OEM Strings
String 1: Default string
String 2: Default string
String 3: Default string
String 4: Default string
String 5: Default string
Handle 0x0025, DMI type 38, 18 bytes
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA2 (I/O)
Register Spacing: Successive Byte Boundaries
Handle 0x0034, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1 Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 256 kB
Maximum Size: 256 kB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Parity
System Type: Other
Associativity: 8-way Set-associative
Handle 0x0035, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 1024 kB
Maximum Size: 1024 kB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 4-way Set-associative
Handle 0x0036, DMI type 7, 19 bytes
Cache Information
Socket Designation: L3 Cache
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 8192 kB
Maximum Size: 8192 kB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Multi-bit ECC
System Type: Unified
Associativity: 16-way Set-associative
Handle 0x0037, DMI type 4, 48 bytes
Processor Information
Socket Designation: CPU
Type: Central Processor
Family: Xeon
Manufacturer: Intel(R) Corporation
ID: E9 06 09 00 FF FB EB BF
Signature: Type 0, Family 6, Model 158, Stepping 9
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU E3-1240 v6 @ 3.70GHz
Voltage: 1.0 V
External Clock: 100 MHz
Max Speed: 4100 MHz
Current Speed: 3700 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0034
L2 Cache Handle: 0x0035
L3 Cache Handle: 0x0036
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 4
Core Enabled: 4
Thread Count: 8
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
Handle 0x0038, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 64 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0039, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0038
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: Unknown
Set: None
Locator: DIMM A1
Bank Locator: CHANNEL A
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Clock Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x003A, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0038
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: None
Locator: DIMM A0
Bank Locator: CHANNEL A
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MHz
Manufacturer: Samsung
Serial Number: 328CBA1D
Asset Tag: 9876543210
Part Number: M391A2K43BB1-CPB
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Handle 0x003B, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0038
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: Unknown
Set: None
Locator: DIMM B1
Bank Locator: CHANNEL B
Type: Unknown
Type Detail: None
Speed: Unknown
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Clock Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x003C, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0038
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: None
Locator: DIMM B0
Bank Locator: CHANNEL B
Type: DDR4
Type Detail: Synchronous
Speed: 2133 MHz
Manufacturer: Samsung
Serial Number: 328CB9DF
Asset Tag: 9876543210
Part Number: M391A2K43BB1-CPB
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Handle 0x003D, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x007FFFFFFFF
Range Size: 32 GB
Physical Array Handle: 0x0038
Partition Width: 2
Handle 0x003E, DMI type 221, 26 bytes
OEM-specific Type
Header and Data:
DD 1A 3E 00 03 01 00 04 01 00 08 00 02 00 00 00
00 84 00 03 00 01 03 00 00 00
Strings:
Reference Code - CPU
uCode Version
TXT ACM version
Handle 0x003F, DMI type 221, 68 bytes
OEM-specific Type
Header and Data:
DD 44 3F 00 09 01 00 04 01 00 08 00 02 03 FF FF
FF FF FF 04 00 FF FF FF 31 00 05 00 FF FF FF 31
00 06 00 FF FF FF FF FF 07 00 3E 00 00 00 00 08
00 34 00 00 00 00 09 00 3E 00 00 00 00 0A 00 34
00 00 00 00
Strings:
Reference Code - SKL PCH
PCH-CRID Status
Disabled
PCH-CRID Original Value
PCH-CRID New Value
OPROM - RST - RAID
SKL PCH H Bx Hsio Version
SKL PCH H Dx Hsio Version
SKL PCH LP Bx Hsio Version
SKL PCH LP Cx Hsio Version
Handle 0x0040, DMI type 221, 54 bytes
OEM-specific Type
Header and Data:
DD 36 40 00 07 01 00 04 01 00 08 00 02 00 04 01
00 08 00 03 00 04 01 00 00 00 04 05 FF FF FF FF
FF 06 00 FF FF FF 05 00 07 00 FF FF FF 05 00 08
00 FF FF FF 00 00
Strings:
Reference Code - SA - System Agent
Reference Code - MRC
SA - PCIe Version
SA-CRID Status
Disabled
SA-CRID Original Value
SA-CRID New Value
OPROM - VBIOS
Handle 0x0041, DMI type 221, 96 bytes
OEM-specific Type
Header and Data:
DD 60 41 00 0D 01 00 00 00 00 00 00 02 00 FF FF
FF FF FF 03 04 FF FF FF FF FF 05 06 FF FF FF FF
FF 07 08 FF FF FF FF FF 09 00 00 00 00 00 00 0A
00 FF FF FF FF FF 0B 00 FF FF 00 00 00 0C 00 FF
FF FF FF FF 0D 00 FF FF FF FF FF 0E 00 FF FF FF
FF FF 0F 00 FF FF FF FF FF 10 11 01 02 02 03 00
Strings:
Lan Phy Version
Sensor Firmware Version
Debug Mode Status
Disabled
Performance Mode Status
Disabled
Debug Use USB(Disabled:Serial)
Disabled
ICC Overclocking Version
UNDI Version
EC FW Version
GOP Version
BIOS Guard Version
Base EC FW Version
EC-EC Protocol Version
Royal Park Version
BP1.2.2.0_RP03
Handle 0x0043, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1:XDP CONN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0044, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: JP2:CPLD JTAG
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0045, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J7:HDD0
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: SATA
Handle 0x0046, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: J15:USB CONN_1
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0047, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: J16:USB CONN_0
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0048, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: JP10:SMBUS_HOST
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0049, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J20:TPM CONN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x004A, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: JP13:SERIAL_A
Internal Connector Type: DB-9 male
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Serial Port XT/AT Compatible
Handle 0x004B, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: J22:VGA_Conn
External Connector Type: DB-15 female
Port Type: Video Port
Handle 0x004C, DMI type 9, 17 bytes
System Slot Information
Designation: Mezz Slot(PCIex8 x4)
Type: x12 Proprietary
Current Usage: In Use
Length: Short
Characteristics:
3.3 V is provided
PME signal is supported
SMBus signal is supported
Bus Address: 0000:00:01.0
Handle 0x004D, DMI type 9, 17 bytes
System Slot Information
Designation: OCP Mezz Slot(PCIex4)
Type: x4 Proprietary
Current Usage: Available
Length: Short
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:00:1d.0
Handle 0x004E, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Intel(R) C236 chipset SATA Controller
Type: SATA Controller
Status: Enabled
Type Instance: 1
Bus Address: 0000:00:17.0
Handle 0x004F, DMI type 41, 11 bytes
Onboard Device
Reference Designation: onboard VGA
Type: Video
Status: Enabled
Type Instance: 1
Bus Address: 0000:03:00.0
Handle 0x0050, DMI type 136, 6 bytes
OEM-specific Type
Header and Data:
88 06 50 00 00 00
Handle 0x0051, DMI type 14, 17 bytes
Group Associations
Name: Firmware Version Info
Items: 4
0x003E (<OUT OF SPEC>)
0x003F (<OUT OF SPEC>)
0x0040 (<OUT OF SPEC>)
0x0041 (<OUT OF SPEC>)
Handle 0x0052, DMI type 13, 22 bytes
BIOS Language Information
Language Description Format: Long
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Handle 0x0053, DMI type 127, 4 bytes
End Of Table

1242
tests/fixtures/dmidecode/SM_SSG-6028R vendored Normal file

File diff suppressed because it is too large Load diff

957
tests/fixtures/dmidecode/SM_SYS-6018R vendored Normal file
View file

@ -0,0 +1,957 @@
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Table at 0x000EC9B0.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: 2.0b
Release Date: 04/14/2017
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 16384 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 5.6
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Supermicro
Product Name: SYS-6018R-TDTPR
Version: 0123456789
Serial Number: A177950X7709591
UUID: 00000000-0000-0000-0000-0CC47A4B18C0
Wake-up Type: Power Switch
SKU Number: Default string
Family: Default string
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: Supermicro
Product Name: X10DRD-LTP
Version: 1.00
Serial Number: ZM152S007866
Asset Tag: Default string
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Default string
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0
Handle 0x0003, DMI type 3, 22 bytes
Chassis Information
Manufacturer: Supermicro
Type: Other
Lock: Not Present
Version: 0123456789
Serial Number: C8150LG15NH0008
Asset Tag: Default string
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00000000
Height: Unspecified
Number Of Power Cords: 1
Contained Elements: 0
SKU Number: Default string
Handle 0x0004, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1A1
Internal Connector Type: None
External Reference Designator: PS2Mouse
External Connector Type: PS/2
Port Type: Mouse Port
Handle 0x0005, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1A1
Internal Connector Type: None
External Reference Designator: Keyboard
External Connector Type: PS/2
Port Type: Keyboard Port
Handle 0x0006, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J2A1
Internal Connector Type: None
External Reference Designator: TV Out
External Connector Type: Mini Centronics Type-14
Port Type: Other
Handle 0x0007, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J2A2A
Internal Connector Type: None
External Reference Designator: COM A
External Connector Type: DB-9 male
Port Type: Serial Port 16550A Compatible
Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J2A2B
Internal Connector Type: None
External Reference Designator: Video
External Connector Type: DB-15 female
Port Type: Video Port
Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J3A1
Internal Connector Type: None
External Reference Designator: USB1
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J3A1
Internal Connector Type: None
External Reference Designator: USB2
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J3A1
Internal Connector Type: None
External Reference Designator: USB3
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x000C, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9A1 - TPM HDR
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9C1 - PCIE DOCKING CONN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J2B3 - CPU FAN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J6C2 - EXT HDMI
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J3C1 - GMCH FAN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1D1 - ITP
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9E2 - MDC INTPSR
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9E4 - MDC INTPSR
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9E3 - LPC HOT DOCKING
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0015, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9E1 - SCAN MATRIX
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0016, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J9G1 - LPC SIDE BAND
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0017, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J8F1 - UNIFIED
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0018, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J6F1 - LVDS
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x0019, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J2F1 - LAI FAN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x001A, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J2G1 - GFX VID
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: J1G6 - AC JACK
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other
Handle 0x001C, DMI type 9, 17 bytes
System Slot Information
Designation: CPU1 SLOT4 PCI-E 3.0 X8
Type: x8 PCI Express 3 x8
Current Usage: Available
Length: Short
ID: 4
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Bus Address: 0000:05:00.0
Handle 0x001D, DMI type 9, 17 bytes
System Slot Information
Designation: CPU1 SLOT5 PCI-E 3.0 X8
Type: x8 PCI Express 3 x8
Current Usage: Available
Length: Short
ID: 5
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Bus Address: 0000:03:00.0
Handle 0x001E, DMI type 9, 17 bytes
System Slot Information
Designation: CPU1 SLOT6 PCI-E 3.0 X8
Type: x8 PCI Express 3 x8
Current Usage: In Use
Length: Short
ID: 6
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Bus Address: 0000:04:00.0
Handle 0x001F, DMI type 9, 17 bytes
System Slot Information
Designation: CPU2 SLOT7 PCI-E 3.0 X8
Type: x8 PCI Express 3 x8
Current Usage: Available
Length: Short
ID: 7
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported
Bus Address: 0000:ff:00.0
Handle 0x0020, DMI type 11, 5 bytes
OEM Strings
String 1: Intel Haswell/Wellsburg/Grantley
String 2: Supermicro motherboard-X10 Series
Handle 0x0021, DMI type 32, 20 bytes
System Boot Information
Status: No errors detected
Handle 0x0022, DMI type 39, 22 bytes
System Power Supply
Power Unit Group: 1
Location: PSU1
Name: PWS-504P-1R
Manufacturer: SUPERMICRO
Serial Number: P5041CG52ST0022
Asset Tag: N/A
Model Part Number: PWS-504P-1R
Revision: 1.4
Max Power Capacity: 500 W
Status: Present, OK
Type: Switching
Input Voltage Range Switching: Auto-switch
Plugged: Yes
Hot Replaceable: Yes
Handle 0x0023, DMI type 39, 22 bytes
System Power Supply
Power Unit Group: 2
Location: PSU2
Name: PWS-504P-1R
Manufacturer: SUPERMICRO
Serial Number: P5041CG52ST0021
Asset Tag: N/A
Model Part Number: PWS-504P-1R
Revision: 1.4
Max Power Capacity: 500 W
Status: Present, OK
Type: Switching
Input Voltage Range Switching: Auto-switch
Plugged: Yes
Hot Replaceable: Yes
Handle 0x0024, DMI type 41, 11 bytes
Onboard Device
Reference Designation: ASPEED Video AST2400
Type: Video
Status: Enabled
Type Instance: 1
Bus Address: 0000:09:00.0
Handle 0x0025, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Intel Ethernet 82599ES/EN SFP+ #1
Type: Ethernet
Status: Enabled
Type Instance: 1
Bus Address: 0000:06:00.0
Handle 0x0026, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Intel Ethernet 82599ES/EN SFP+ #2
Type: Ethernet
Status: Enabled
Type Instance: 2
Bus Address: 0000:06:00.1
Handle 0x0027, DMI type 38, 18 bytes
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA2 (I/O)
Register Spacing: Successive Byte Boundaries
Handle 0x002A, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 256 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x002B, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: None
Locator: P1-DIMMA1
Bank Locator: P0_Node0_Channel0_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MHz
Manufacturer: SK Hynix
Serial Number: 2AA5B8E9
Asset Tag: P1-DIMMA1_AssetTag (date:17/39)
Part Number: HMA42GR7AFR4N-UH
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x002C, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: None
Locator: P1-DIMMB1
Bank Locator: P0_Node0_Channel1_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MHz
Manufacturer: SK Hynix
Serial Number: 2AA5B923
Asset Tag: P1-DIMMB1_AssetTag (date:17/39)
Part Number: HMA42GR7AFR4N-UH
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x002D, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: P1-DIMMC1
Bank Locator: P0_Node0_Channel2_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: Unknown
Manufacturer: NO DIMM
Serial Number: NO DIMM
Asset Tag: NO DIMM
Part Number: NO DIMM
Rank: Unknown
Configured Clock Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x002E, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002A
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: P1-DIMMD1
Bank Locator: P0_Node0_Channel3_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: Unknown
Manufacturer: NO DIMM
Serial Number: NO DIMM
Asset Tag: NO DIMM
Part Number: NO DIMM
Rank: Unknown
Configured Clock Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x002F, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 256 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0030, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002F
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: None
Locator: P2-DIMME1
Bank Locator: P1_Node1_Channel0_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MHz
Manufacturer: SK Hynix
Serial Number: 2AA5B88C
Asset Tag: P2-DIMME1_AssetTag (date:17/39)
Part Number: HMA42GR7AFR4N-UH
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x0031, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002F
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 16384 MB
Form Factor: DIMM
Set: None
Locator: P2-DIMMF1
Bank Locator: P1_Node1_Channel1_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MHz
Manufacturer: SK Hynix
Serial Number: 2AA5B86B
Asset Tag: P2-DIMMF1_AssetTag (date:17/39)
Part Number: HMA42GR7AFR4N-UH
Rank: 2
Configured Clock Speed: 2133 MHz
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x0032, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002F
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: P2-DIMMG1
Bank Locator: P1_Node1_Channel2_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: Unknown
Manufacturer: NO DIMM
Serial Number: NO DIMM
Asset Tag: NO DIMM
Part Number: NO DIMM
Rank: Unknown
Configured Clock Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x0033, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002F
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: P2-DIMMH1
Bank Locator: P1_Node1_Channel3_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: Unknown
Manufacturer: NO DIMM
Serial Number: NO DIMM
Asset Tag: NO DIMM
Part Number: NO DIMM
Rank: Unknown
Configured Clock Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x0034, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x007FFFFFFFF
Range Size: 32 GB
Physical Array Handle: 0x002A
Partition Width: 2
Handle 0x0035, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x003FFFFFFFF
Range Size: 16 GB
Physical Device Handle: 0x002B
Memory Array Mapped Address Handle: 0x0034
Partition Row Position: 1
Handle 0x0036, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00400000000
Ending Address: 0x007FFFFFFFF
Range Size: 16 GB
Physical Device Handle: 0x002C
Memory Array Mapped Address Handle: 0x0034
Partition Row Position: 1
Handle 0x0037, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00800000000
Ending Address: 0x00FFFFFFFFF
Range Size: 32 GB
Physical Array Handle: 0x002F
Partition Width: 2
Handle 0x0038, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00800000000
Ending Address: 0x00BFFFFFFFF
Range Size: 16 GB
Physical Device Handle: 0x0030
Memory Array Mapped Address Handle: 0x0037
Partition Row Position: 1
Handle 0x0039, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00C00000000
Ending Address: 0x00FFFFFFFFF
Range Size: 16 GB
Physical Device Handle: 0x0031
Memory Array Mapped Address Handle: 0x0037
Partition Row Position: 1
Handle 0x003A, DMI type 15, 73 bytes
System Event Log
Area Length: 65535 bytes
Header Start Offset: 0x0000
Header Length: 16 bytes
Data Start Offset: 0x0010
Access Method: Memory-mapped physical 32-bit address
Access Address: 0xFF540000
Status: Valid, Not Full
Change Token: 0x00000001
Header Format: Type 1
Supported Log Type Descriptors: 25
Descriptor 1: Single-bit ECC memory error
Data Format 1: Multiple-event handle
Descriptor 2: Multi-bit ECC memory error
Data Format 2: Multiple-event handle
Descriptor 3: Parity memory error
Data Format 3: None
Descriptor 4: Bus timeout
Data Format 4: None
Descriptor 5: I/O channel block
Data Format 5: None
Descriptor 6: Software NMI
Data Format 6: None
Descriptor 7: POST memory resize
Data Format 7: None
Descriptor 8: POST error
Data Format 8: POST results bitmap
Descriptor 9: PCI parity error
Data Format 9: Multiple-event handle
Descriptor 10: PCI system error
Data Format 10: Multiple-event handle
Descriptor 11: CPU failure
Data Format 11: None
Descriptor 12: EISA failsafe timer timeout
Data Format 12: None
Descriptor 13: Correctable memory log disabled
Data Format 13: None
Descriptor 14: Logging disabled
Data Format 14: None
Descriptor 15: System limit exceeded
Data Format 15: None
Descriptor 16: Asynchronous hardware timer expired
Data Format 16: None
Descriptor 17: System configuration information
Data Format 17: None
Descriptor 18: Hard disk information
Data Format 18: None
Descriptor 19: System reconfigured
Data Format 19: None
Descriptor 20: Uncorrectable CPU-complex error
Data Format 20: None
Descriptor 21: Log area reset/cleared
Data Format 21: None
Descriptor 22: System boot
Data Format 22: None
Descriptor 23: End of log
Data Format 23: None
Descriptor 24: OEM-specific
Data Format 24: OEM-specific
Descriptor 25: OEM-specific
Data Format 25: OEM-specific
Handle 0x003B, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L1
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 640 kB
Maximum Size: 640 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Parity
System Type: Other
Associativity: 8-way Set-associative
Handle 0x003C, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L2
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2560 kB
Maximum Size: 2560 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x003D, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L3
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 25600 kB
Maximum Size: 25600 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 20-way Set-associative
Handle 0x003E, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: F1 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 79, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Voltage: 1.8 V
External Clock: 100 MHz
Max Speed: 4000 MHz
Current Speed: 2200 MHz
Status: Populated, Enabled
Upgrade: Socket LGA2011-3
L1 Cache Handle: 0x003B
L2 Cache Handle: 0x003C
L3 Cache Handle: 0x003D
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 10
Core Enabled: 10
Thread Count: 20
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
Handle 0x003F, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L1
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 640 kB
Maximum Size: 640 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Parity
System Type: Other
Associativity: 8-way Set-associative
Handle 0x0040, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L2
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 2560 kB
Maximum Size: 2560 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 8-way Set-associative
Handle 0x0041, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L3
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 25600 kB
Maximum Size: 25600 kB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 20-way Set-associative
Handle 0x0042, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU2
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: F1 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 79, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Voltage: 1.8 V
External Clock: 100 MHz
Max Speed: 4000 MHz
Current Speed: 2200 MHz
Status: Populated, Enabled
Upgrade: Socket LGA2011-3
L1 Cache Handle: 0x003F
L2 Cache Handle: 0x0040
L3 Cache Handle: 0x0041
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 10
Core Enabled: 10
Thread Count: 20
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
Handle 0x0043, DMI type 40, 27 bytes
Additional Information 1
Handle 0x0044, DMI type 40, 27 bytes
Additional Information 1
Handle 0x0045, DMI type 40, 27 bytes
Additional Information 1
Handle 0x0046, DMI type 40, 27 bytes
Additional Information 1
Handle 0x0047, DMI type 127, 4 bytes
End Of Table

16
tests/fixtures/inventory/nvme.json vendored Normal file
View file

@ -0,0 +1,16 @@
{
"Devices" : [
{
"DevicePath" : "/dev/nvme0n1",
"Firmware" : "10604103",
"Index" : 0,
"ModelNumber" : "KXG60ZNV1T02 NVMe TOSHIBA 1024GB",
"ProductName" : "Non-Volatile memory controller: Toshiba America Info Systems Device 0x011a",
"SerialNumber" : "19FA109SK07N",
"UsedBytes" : 1024209543168,
"MaximumLBA" : 2000409264,
"PhysicalSize" : 1024209543168,
"SectorSize" : 512
}
]
}

56
tests/fixtures/lldp/cumulus.txt vendored Normal file
View file

@ -0,0 +1,56 @@
lldp.eno1.via=LLDP
lldp.eno1.rid=4
lldp.eno1.age=35 days, 08:24:00
lldp.eno1.chassis.mac=e4:f0:04:b6:47:32
lldp.eno1.chassis.name=toto-chassis.dc42
lldp.eno1.chassis.descr=Cumulus Linux version 3.7.3 running on Dell EMC S4100
lldp.eno1.chassis.ttl=120
lldp.eno1.chassis.mgmt-ip=10.160.20.18
lldp.eno1.chassis.mgmt-ip=fe80::e6f0:4ff:feb6:4732
lldp.eno1.chassis.Bridge.enabled=on
lldp.eno1.chassis.Router.enabled=on
lldp.eno1.port.ifname=swp46
lldp.eno1.port.descr=BXVWNR2:lom2
lldp.eno1.port.auto-negotiation.supported=yes
lldp.eno1.port.auto-negotiation.enabled=no
lldp.eno1.port.auto-negotiation.current=10GigBaseLR - R fiber over 1310 nm optics
lldp.eno1.lldp-med.device-type=Network Connectivity Device
lldp.eno1.lldp-med.Capabilities.available=yes
lldp.eno1.lldp-med.Policy.available=yes
lldp.eno1.lldp-med.Location.available=yes
lldp.eno1.lldp-med.MDI/PSE.available=yes
lldp.eno1.lldp-med.MDI/PD.available=yes
lldp.eno1.lldp-med.Inventory.available=yes
lldp.eno1.lldp-med.inventory.software=3.7.3
lldp.eno1.lldp-med.inventory.firmware=5.6.5
lldp.eno1.lldp-med.inventory.serial=To be filled by O.E.M.
lldp.eno1.lldp-med.inventory.manufacturer=Dell EMC
lldp.eno1.lldp-med.inventory.model=S4100
lldp.eno2d1.via=LLDP
lldp.eno2d1.rid=3
lldp.eno2d1.age=35 days, 08:30:52
lldp.eno2d1.chassis.mac=e4:f0:04:b6:4e:32
lldp.eno1.chassis.name=toto-chassis.dc42
lldp.eno2d1.chassis.descr=Cumulus Linux version 3.7.5 running on Dell EMC S4100
lldp.eno2d1.chassis.ttl=120
lldp.eno2d1.chassis.mgmt-ip=10.160.20.17
lldp.eno2d1.chassis.mgmt-ip=fe80::e6f0:4ff:feb6:4e32
lldp.eno2d1.chassis.Bridge.enabled=on
lldp.eno2d1.chassis.Router.enabled=on
lldp.eno2d1.port.ifname=swp46
lldp.eno2d1.port.descr=BXVWNR2:lom1
lldp.eno2d1.port.auto-negotiation.supported=yes
lldp.eno2d1.port.auto-negotiation.enabled=no
lldp.eno2d1.port.auto-negotiation.current=10GigBaseLR - R fiber over 1310 nm optics
lldp.eno2d1.lldp-med.device-type=Network Connectivity Device
lldp.eno2d1.lldp-med.Capabilities.available=yes
lldp.eno2d1.lldp-med.Policy.available=yes
lldp.eno2d1.lldp-med.Location.available=yes
lldp.eno2d1.lldp-med.MDI/PSE.available=yes
lldp.eno2d1.lldp-med.MDI/PD.available=yes
lldp.eno2d1.lldp-med.Inventory.available=yes
lldp.eno2d1.lldp-med.inventory.software=3.7.5
lldp.eno2d1.lldp-med.inventory.firmware=5.6.5
lldp.eno2d1.lldp-med.inventory.serial=To be filled by O.E.M.
lldp.eno2d1.lldp-med.inventory.manufacturer=Dell EMC
lldp.eno2d1.lldp-med.inventory.model=S4100

8
tests/fixtures/lldp/dedibox1.txt vendored Normal file
View file

@ -0,0 +1,8 @@
lldp.enp1s0f0.via=LLDP
lldp.enp1s0f0.rid=1
lldp.enp1s0f0.age=145 days, 00:00:39
lldp.enp1s0f0.chassis.mac=00:07:cb:0b:6c:d7
lldp.enp1s0f0.chassis.name=s120-f3-2.itx4
lldp.enp1s0f0.chassis.mgmt-ip=10.48.16.15
lldp.enp1s0f0.port.ifname=RJ-9
lldp.enp1s0f0.port.ttl=120

25
tests/fixtures/lldp/dedibox2.txt vendored Normal file
View file

@ -0,0 +1,25 @@
lldp.eno1.via=LLDP
lldp.eno1.rid=1
lldp.eno1.age=1 day, 06:17:13
lldp.eno1.chassis.mac=38:20:56:67:90:80
lldp.eno1.chassis.name=s35-b12.dc3
lldp.eno1.chassis.descr=Cisco IOS Software, C2960X Software (C2960X-UNIVERSALK9-M), Version 15.0(2a)EX5, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Mon 16-Feb-15 08:16 by prod_rel_team
lldp.eno1.chassis.mgmt-ip=10.43.31.35
lldp.eno1.chassis.Bridge.enabled=on
lldp.eno1.chassis.Router.enabled=off
lldp.eno1.port.ifname=Gi1/0/29
lldp.eno1.port.descr=GigabitEthernet1/0/29
lldp.eno1.port.auto-negotiation.supported=yes
lldp.eno1.port.auto-negotiation.enabled=yes
lldp.eno1.port.auto-negotiation.10Base-T.hd=yes
lldp.eno1.port.auto-negotiation.10Base-T.fd=yes
lldp.eno1.port.auto-negotiation.100Base-TX.hd=yes
lldp.eno1.port.auto-negotiation.100Base-TX.fd=yes
lldp.eno1.port.auto-negotiation.1000Base-T.hd=no
lldp.eno1.port.auto-negotiation.1000Base-T.fd=yes
lldp.eno1.port.auto-negotiation.current=1000BaseTFD - Four-pair Category 5 UTP, full duplex mode
lldp.eno1.vlan.vlan-id=140
lldp.eno1.vlan.pvid=yes

38
tests/fixtures/lldp/qfx.txt vendored Normal file
View file

@ -0,0 +1,38 @@
lldp.eth0.via=LLDP
lldp.eth0.rid=1
lldp.eth0.age=163 days, 23:03:53
lldp.eth0.chassis.mac=40:a6:77:7a:72:00
lldp.eth0.chassis.name=sw-filer-f06.dc42
lldp.eth0.chassis.descr=Juniper Networks, Inc. qfx5100-48s-6q Ethernet Switch, kernel JUNOS 14.1X53-D43.7, Build date: 2017-04-28 02:22:48 UTC Copyright (c) 1996-2017 Juniper Networks, Inc.
lldp.eth0.chassis.mgmt-ip=10.192.192.116
lldp.eth0.chassis.Bridge.enabled=on
lldp.eth0.chassis.Router.enabled=on
lldp.eth0.port.local=512
lldp.eth0.port.descr=xe-0/0/1
lldp.eth0.port.mfs=1514
lldp.eth0.vlan.vlan-id=296
lldp.eth0.vlan.pvid=yes
lldp.eth0.vlan=vlan-296
lldp.eth0.unknown-tlvs.unknown-tlv.oui=00,90,69
lldp.eth0.unknown-tlvs.unknown-tlv.subtype=1
lldp.eth0.unknown-tlvs.unknown-tlv.len=12
lldp.eth0.unknown-tlvs.unknown-tlv=56,46,33,37,31,35,30,33,30,31,36,34
lldp.eth1.via=LLDP
lldp.eth1.rid=2
lldp.eth1.age=163 days, 23:03:51
lldp.eth1.chassis.mac=40:a6:77:7c:fb:20
lldp.eth1.chassis.name=sw-filer-f05.dc42
lldp.eth1.chassis.descr=Juniper Networks, Inc. qfx5100-48s-6q Ethernet Switch, kernel JUNOS 17.3R3-S3.3, Build date: 2019-01-10 19:17:42 UTC Copyright (c) 1996-2019 Juniper Networks, Inc.
lldp.eth1.chassis.mgmt-ip=10.192.192.115
lldp.eth1.chassis.Bridge.enabled=on
lldp.eth1.chassis.Router.enabled=on
lldp.eth1.port.local=512
lldp.eth1.port.descr=xe-0/0/1
lldp.eth1.port.mfs=1514
lldp.eth1.vlan.vlan-id=296
lldp.eth1.vlan.pvid=yes
lldp.eth1.vlan=vlan-296
lldp.eth1.unknown-tlvs.unknown-tlv.oui=00,90,69
lldp.eth1.unknown-tlvs.unknown-tlv.subtype=1
lldp.eth1.unknown-tlvs.unknown-tlv.len=12
lldp.eth1.unknown-tlvs.unknown-tlv=56,46,33,37,31,35,30,33,30,30,34,35

16
tests/fixtures/netbox_agent.conf1.ok vendored Normal file
View file

@ -0,0 +1,16 @@
netbox:
url: 'https://netbox.company.com'
token: xx
datacenter_location:
driver: "cmd:cat /etc/qualification | tr [A-Z] [a-z]"
regex: "datacenter: (?P<datacenter>[A-Za-z0-9]+)"
rack_location:
driver: 'cmd:lldpctl'
regex: 'SysName:[ ]+[A-Za-z]+-[A-Za-z]+-([A-Za-z0-9]+)'
network:
ignore_interfaces: "(dummy.*|docker.*)"
ignore_ips: (127\.0\.0\..*)
lldp: true

20
tests/network.py Normal file
View file

@ -0,0 +1,20 @@
from netbox_agent.lldp import LLDP
from tests.conftest import parametrize_with_fixtures
@parametrize_with_fixtures(
'lldp/', only_filenames=[
'dedibox1.txt',
])
def test_lldp_parse_with_port_desc(fixture):
lldp = LLDP(fixture)
assert lldp.get_switch_port('enp1s0f0') == 'RJ-9'
@parametrize_with_fixtures(
'lldp/', only_filenames=[
'qfx.txt',
])
def test_lldp_parse_without_ifname(fixture):
lldp = LLDP(fixture)
assert lldp.get_switch_port('eth0') == 'xe-0/0/1'

22
tests/server.py Normal file
View file

@ -0,0 +1,22 @@
from netbox_agent.dmidecode import parse
from netbox_agent.server import ServerBase
from tests.conftest import parametrize_with_fixtures
@parametrize_with_fixtures('dmidecode/')
def test_init(fixture):
dmi = parse(fixture)
server = ServerBase(dmi)
assert server
@parametrize_with_fixtures(
'dmidecode/', only_filenames=[
'HP_SL4540_Gen8',
'HP_BL460c_Gen9',
'HP_DL380p_Gen8',
'HP_SL4540_Gen8'])
def test_hp_service_tag(fixture):
dmi = parse(fixture)
server = ServerBase(dmi)
assert server.get_service_tag() == '4242'

40
tox.ini
View file

@ -2,38 +2,16 @@
# These are the default environments that will be run
# when ``tox`` is run without arguments.
envlist =
py35
py36
py37
coverage
mypy
pep8
docs
pytest
flake8
skip_missing_interpreters = True
[flake8]
# Use the more relaxed max line length permitted in PEP8.
max-line-length = 99
# Enforce the Google Python style for grouping and sorting imports:
# https://github.com/google/styleguide/blob/gh-pages/pyguide.md#313-imports-formatting
import-order-style = google
# Inform flake8-import-order plugin that `fact` should be treated as a local package name.
application-import-names = netbox_agent
[testenv]
# This is required in order to get UTF-8 output inside of the subprocesses
# that our tests use.
setenv = LC_CTYPE = en_US.UTF-8
# Pass Display down to have it for the tests available
passenv = DISPLAY TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
whitelist_externals=convert
deps =
-r{toxinidir}/requirements.txt
deps = -r{toxinidir}/dev-requirements.txt
whitelist_externals = bash
[testenv:pep8]
deps =
flake8
pep8-naming
commands = flake8 {toxinidir}/netbox_agent {toxinidir}/tests
[testenv:pytest]
commands = bash tests.sh
[testenv:flake8]
commands = flake8