netbox-agent/netbox_agent/raid/base.py
Christophe Simon 2f09cf8d42 Manage blade expansions as independent devices
This patch adds the ability to detect and manage GPU and Disk expansion
bays, and either add their internal components into the device
corresponding to the blade server, or into a dedicated device.

It takes advantage of the work made by @cyrinux on GPU bays management, and
applies the same principle to the external disk bays, but harmonize the
inventory management:

- If no argument is specified on the command line, the GPU cards, RAID
  controllers and their attached disks are added in the blade device,
  and the device corresponding to an expansion device is deleted.
- If the `--expansion-as-device` option is specified on the command
  line, a dedicated device corresponding to the expansion bay is
  created, and the GPUs, RAID card and attached disks are removed from
  the blade device and added to the expansion device.
2022-02-14 14:37:02 +01:00

24 lines
496 B
Python

class RaidController():
def get_product_name(self):
raise NotImplementedError
def get_serial_number(self):
raise NotImplementedError
def get_manufacturer(self):
raise NotImplementedError
def get_firmware_version(self):
raise NotImplementedError
def get_physical_disks(self):
raise NotImplementedError
def is_external(self):
return False
class Raid():
def get_controllers(self):
raise NotImplementedError