Built-in hardware managers¶
GenericHardwareManager¶
This is the default hardware manager for ironic-python-agent. It provides support for Hardware Inventory and the default deploy and clean steps.
Deploy steps¶
deploy.write_image(node, ports, image_info, configdrive=None)A deploy step backing the
write_imagedeploy step of the direct deploy interface. Should not be used explicitly, but can be overridden to provide a custom way of writing an image.deploy.erase_devices_metadata(node, ports)Erases partition tables from all recognized disk devices. Can be used with software RAID since it requires empty holder disks.
raid.apply_configuration(node, ports, raid_config, delete_existing=True)Apply a software RAID configuration. It belongs to the
raidinterface and must be used through the ironic RAID feature.
Injecting files¶
deploy.inject_files(node, ports, files, verify_ca=True)
This optional deploy step (introduced in the Wallaby release series) allows
injecting arbitrary files into the node. The list of files is built from the
optional inject_files property of the node concatenated with the explicit
files argument. Each item in the list is a dictionary with the following
fields:
path(required)An absolute path to the file on the target partition. All missing directories will be created.
partitionSpecifies the target partition in one of 3 ways:
A number is treated as a partition index (starting with 1) on the root device.
A path is treated as a block device path (e.g.
/dev/sda1or/dev/disk/by-partlabel/<something>.If missing, the agent will try to find a partition containing the first component of the
pathon the root device. E.g. for/etc/sysctl.d/my.conf, look for a partition containing/etc.
deletedIf
True, the file is deleted, not created. Incompatible withcontent.contentData to write. Incompatible with
deleted. Can take two forms:A URL of the content. Can use Python-style formatting to build a node specific URL, e.g.
http://server/{node[uuid]}/{ports[0][address]}.Base64 encoded binary contents.
mode,owner,groupNumeric mode, owner ID and group ID of the file.
dirmodeNumeric mode of the leaf directory if it has to be created.
This deploy step is disabled by default and can be enabled via a deploy
template or via the ipa-inject-files-priority kernel parameter.
Known limitations:
Names are not supported for
ownerandgroup.LVM is not supported.
Clean steps¶
deploy.erase_devicesSecurely erases all information from all recognized disk devices. Relatively fast when secure ATA erase is available, otherwise can take hours, especially on a virtual environment. Enabled by default.
deploy.erase_devices_metadataErases partition tables from all recognized disk devices. Can be used as an alternative to the much longer
erase_devicesstep.deploy.erase_pstoreErases entries from pstore, the kernel’s oops/panic logger. Disabled by default. Can be enabled via priority overrides.
raid.create_configurationCreate a RAID configuration. This step belongs to the
raidinterface and must be used through the ironic RAID feature.raid.delete_configurationDelete the RAID configuration. This step belongs to the
raidinterface and must be used through the ironic RAID feature.