ironic.drivers.modules.irmc.boot module

iRMC Boot Driver

class ironic.drivers.modules.irmc.boot.IRMCPXEBoot(*args, **kwargs)[source]

Bases: PXEBoot

iRMC PXE boot.

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.

class ironic.drivers.modules.irmc.boot.IRMCVirtualMediaBoot(*args, **kwargs)[source]

Bases: BootInterface, 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.

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.

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 ‘boot_iso’, it indicates ramdisk deploy. Therefore 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.