The ironic_inspector.plugins.raid_device Module

Gather root device hint from recognized block devices.

class ironic_inspector.plugins.raid_device.RaidDeviceDetection[source]

Bases: ironic_inspector.plugins.base.ProcessingHook

Processing hook for learning the root device after RAID creation.

The plugin can figure out the root device in 2 runs. First, it saves the discovered block device serials in node.extra. The second run will check the difference between the recently discovered block devices and the previously saved ones. After saving the root device in node.properties, it will delete the temporarily saved block device serials in node.extra.

This way, it helps to figure out the root device hint in cases when otherwise Ironic doesn’t have enough information to do so. Such a usecase is DRAC RAID configuration where the BMC doesn’t provide any useful information about the created RAID disks. Using this plugin immediately before and after creating the root RAID device will solve the issue of root device hints.

In cases where there’s no RAID volume on the node, the standard plugin will fail due to the missing local_gb value. This plugin fakes the missing value, until it’s corrected during later runs. Note, that for this to work the plugin needs to take precedence over the standard plugin.

before_processing(introspection_data, **kwargs)[source]

Adds fake local_gb value if it’s missing from introspection_data.

before_update(introspection_data, node_info, **kwargs)[source]

Hook to run before Ironic node update.

This hook is run after node is found and ports are created, just before the node is updated with the data.

Parameters
  • introspection_data – processed data from the ramdisk.

  • node_info – NodeInfo instance.

  • kwargs – used for extensibility without breaking existing hooks.

Returns

nothing.

[RFC 6902] - http://tools.ietf.org/html/rfc6902