ironic.drivers.modules.irmc.boot module

iRMC Boot Driver

class ironic.drivers.modules.irmc.boot.IRMCPXEBoot[source]

Bases: ironic.drivers.modules.pxe.PXEBoot

iRMC PXE boot.

clean_up_instance(task)[source]

Cleans up the boot of instance.

This method cleans up the environment that was setup for booting the instance. It unlinks the instance kernel/ramdisk in node’s directory in tftproot and removes the PXE config.

Parameters

task – a task from TaskManager.

Raises

IRMCOperationError, if some operation on iRMC failed.

Returns

None

prepare_instance(task)[source]

Prepares the boot of instance.

This method prepares the boot of the instance after reading relevant information from the node’s instance_info. In case of netboot, it updates the dhcp entries and switches the PXE config. In case of localboot, it cleans up the PXE config.

Parameters

task – a task from TaskManager.

Returns

None

Raises

IRMCOperationError, if some operation on iRMC failed.

prepare_ramdisk(task, ramdisk_params)[source]

Prepares the boot of Ironic ramdisk using PXE.

This method prepares the boot of the deploy kernel/ramdisk after reading relevant information from the node’s driver_info and instance_info.

Parameters
  • task – a task from TaskManager.

  • ramdisk_params – the parameters to be passed to the ramdisk. pxe driver passes these parameters as kernel command-line arguments.

Returns

None

Raises

MissingParameterValue, if some information is missing in node’s driver_info or instance_info.

Raises

InvalidParameterValue, if some information provided is invalid.

Raises

IronicException, if some power or set boot device operation failed on the node.

supported = False
class ironic.drivers.modules.irmc.boot.IRMCVirtualMediaBoot[source]

Bases: ironic.drivers.base.BootInterface, ironic.drivers.modules.irmc.boot.IRMCVolumeBootMixIn

iRMC Virtual Media boot-related actions.

capabilities = ['iscsi_volume_boot', 'fibre_channel_volume_boot']
clean_up_instance(task)[source]

Cleans up the boot of instance.

This method cleans up the environment that was setup for booting the instance.

Parameters

task – a task from TaskManager.

Returns

None

Raises

IRMCOperationError if iRMC operation failed.

clean_up_ramdisk(task)[source]

Cleans up the boot of ironic ramdisk.

This method cleans up the environment that was setup for booting the deploy or rescue ramdisk.

Parameters

task – a task from TaskManager.

Returns

None

Raises

IRMCOperationError if iRMC operation failed.

get_properties()[source]

Return the properties of the interface.

Returns

dictionary of <property name>:<property description> entries.

prepare_instance(task)[source]

Prepares the boot of instance.

This method prepares the boot of the instance after reading relevant information from the node’s database.

Parameters

task – a task from TaskManager.

Returns

None

prepare_ramdisk(task, ramdisk_params)[source]

Prepares the deploy or rescue ramdisk using virtual media.

Prepares the options for the deploy or rescue ramdisk, sets the node to boot from virtual media cdrom.

Parameters
  • task – a TaskManager instance containing the node to act on.

  • ramdisk_params – the options to be passed to the ramdisk.

Raises

ImageRefValidationFailed if no image service can handle specified href.

Raises

ImageCreationFailed, if it failed while creating the floppy image.

Raises

InvalidParameterValue if the validation of the PowerInterface or ManagementInterface fails.

Raises

IRMCOperationError, if some operation on iRMC fails.

supported = False
validate(task)[source]

Validate the deployment information for the task’s node.

Parameters

task – a TaskManager instance containing the node to act on.

Raises

InvalidParameterValue, if config option has invalid value.

Raises

IRMCSharedFileSystemNotMounted, if shared file system is not mounted.

Raises

InvalidParameterValue, if some information is invalid.

Raises

MissingParameterValue if ‘kernel_id’ and ‘ramdisk_id’ are missing in the Glance image, or if ‘kernel’ and ‘ramdisk’ are missing in the Non Glance image.

validate_rescue(task)[source]

Validate that the node has required properties for rescue.

Parameters

task – a TaskManager instance with the node being checked

Raises

MissingParameterValue if node is missing one or more required parameters

Raises

InvalidParameterValue, if any of the parameters have invalid value.

class ironic.drivers.modules.irmc.boot.IRMCVolumeBootMixIn[source]

Bases: object

Mix-in class for volume boot configuration to iRMC

iRMC has a feature to set up remote boot to a server. This feature can be used by VIOM (Virtual I/O Manager) library of SCCI client.

supported = False
ironic.drivers.modules.irmc.boot.attach_boot_iso_if_needed(task)[source]

Attaches boot ISO for a deployed node if it exists.

This method checks the instance info of the bare metal node for a boot ISO. If the instance info has a value of key ‘irmc_boot_iso’, it indicates that ‘boot_option’ is ‘netboot’. Threfore it attaches the boot ISO on the bare metal node and then sets the node to boot from virtual media cdrom.

Parameters

task – a TaskManager instance containing the node to act on.

Raises

IRMCOperationError if attaching virtual media failed.

Raises

InvalidParameterValue if the validation of the ManagementInterface fails.

ironic.drivers.modules.irmc.boot.check_share_fs_mounted()[source]

Check if Share File System (NFS or CIFS) is mounted.

Raises

InvalidParameterValue, if config option has invalid value.

Raises

IRMCSharedFileSystemNotMounted, if shared file system is not mounted.