3a465865f6
It's a common use case for operators to need to use vendor utilities to erase block devices. This adds an example that specifically addresses this use case. Change-Id: I20dfc37e04466dc0ded9571637818e8f6fb10216
53 lines
1.7 KiB
ReStructuredText
53 lines
1.7 KiB
ReStructuredText
Example Hardware Managers
|
|
=========================
|
|
|
|
``vendor-device``
|
|
-----------------
|
|
|
|
This example manager is meant to demonstrate good patterns for developing a
|
|
device-specific hardware manager, such as for a specific version of NIC or
|
|
disk.
|
|
|
|
Use Cases include:
|
|
|
|
* Adding device-specific clean-steps, such as to flash firmware or
|
|
verify it's still properly working after being provisioned.
|
|
* Implementing erase_device() using a vendor-provided utility for a given
|
|
disk model.
|
|
|
|
``custom-disk-erase``
|
|
---------------------
|
|
|
|
This example manager is meant to demonstrate good patterns for developing a
|
|
hardware manager to perform disk erasure using a custom vendor utility.
|
|
|
|
Use case:
|
|
* Ensuring block devices of a specific model are erased using custom code
|
|
|
|
``business-logic``
|
|
------------------
|
|
|
|
This example manager is meant to demonstrate how cleaning and the agent can
|
|
use the node object and the node itself to enforce business logic and node
|
|
consistency.
|
|
|
|
Use Cases include:
|
|
|
|
* Quality control on hardware by ensuring no component is beyond its useful
|
|
life.
|
|
* Asserting truths about the node; such as number of disks or total RAM.
|
|
* Reporting metrics about the node's hardware state.
|
|
* Overriding logic of get_os_install_device().
|
|
* Inserting additional deploy steps.
|
|
|
|
Make your own Manager based on these
|
|
------------------------------------
|
|
|
|
To make your own hardware manager based on these examples, copy a relevant
|
|
example out of this directory. Modify class names and entrypoints in setup.cfg
|
|
to be not-examples.
|
|
|
|
Since the entrypoints are defined in setup.cfg, simply installing your new
|
|
python package alongside IPA in a custom ramdisk should be enough to enable
|
|
the new hardware manager.
|