Continuous And Never-ending Inventory
- Migrating from one inventory system to another
- Validating exisiting inventory data
- Exporting to another inventory format
- Serving as a front-end for the UX, while the backend is replaced with something new
- Use as a new self-contained inventory system
cani session init csm # start a session with a specific provider by importing data and converting it to CANI format
cani add cabinet hpe-ex4000 --auto --accept # add hardware (child hardware is added automatically: chassis, controllers, etc.)
cani add blade hpe-crayex-ex4252-compute-blade --auto --accept # add a blade to the cabinet (and any nodes that hardware contains)
cani update node --uuid abcdef12-3456-2789-abcd-ef1234567890 --role Management --subrole Worker --nid 4 # update hardware metadata
cani export --format hpcm # export to another inventory format (can also commit and init a new session with a different provider)
cani session apply --commit # apply changes, retaining the CANI format, and optionally posting data to the providercani can export inventory data to the OpenCHAMI nodes.yaml format. This allows you to migrate hardware inventory from CSM or HPCM systems to OpenCHAMI deployments.
cani session init csm
cani export --format openchami > nodes.yamlcani session init hpcm
cani export --format openchami > nodes.yamlThe OpenCHAMI export includes:
- Hardware inventory with xname identifiers derived from the LocationPath hierarchy
- Node management IP addresses and MAC addresses
- Node roles and subroles
- BMC (Baseboard Management Controller) relationships and configuration
- Node NID (Node ID) assignments
This format is suitable for import into OpenCHAMI's Hardware State Manager and can be used for infrastructure provisioning and management.
cani uses a simple key/value approach where each piece of hardware as a unique identifier. Any metadata or relationships to other hardware components is self-contained to that entry in the datastore.
"f5d90c28-f480-4f76-a329-d645ee7af350": {
"ID": "f5d90c28-f480-4f76-a329-d645ee7af350",
"Type": "Chassis",
"Vendor": "HPE",
"Model": "CrayEX liquid-cooled cabinet chassis",
"Status": "staged",
"Parent": "4c7e02e7-5068-4dc2-b727-089a6b11eb66",
"Children": ["49aa81e0-413e-4142-b56f-8c78cf4daa0c"],
"LocationPath": [
{"HardwareType": "Cabinet","Ordinal": 0},
{"HardwareType": "Chassis","Ordinal": 1}
],
"LocationOrdinal": 1
}- CSM
- HPCM (WIP)