ironic.drivers.modules.drac.raid module

ironic.drivers.modules.drac.raid module

DRAC RAID specific methods

class ironic.drivers.modules.drac.raid.DracRAID[source]

Bases: ironic.drivers.base.RAIDInterface

create_configuration(task, create_root_volume=True, create_nonroot_volumes=True)[source]

Create the RAID configuration.

This method creates the RAID configuration on the given node.

Parameters:
  • task – a TaskManager instance containing the node to act on.
  • create_root_volume – If True, a root volume is created during RAID configuration. Otherwise, no root volume is created. Default is True.
  • create_nonroot_volumes – If True, non-root volumes are created. If False, no non-root volumes are created. Default is True.
Returns:

states.CLEANWAIT if creation is in progress asynchronously or None if it is completed.

Raises:

MissingParameterValue, if node.target_raid_config is missing or empty.

Raises:

DracOperationError on an error from python-dracclient.

delete_configuration(task)[source]

Delete the RAID configuration.

Parameters:task – a TaskManager instance containing the node to act on.
Returns:states.CLEANWAIT if deletion is in progress asynchronously or None if it is completed.
Raises:DracOperationError on an error from python-dracclient.
get_logical_disks(task)[source]

Get the RAID configuration of the node.

Parameters:task – a TaskManager instance containing the node to act on.
Returns:A dictionary of properties.
Raises:DracOperationError on an error from python-dracclient.
get_properties()[source]

Return the properties of the interface.

ironic.drivers.modules.drac.raid.abandon_config(node, raid_controller)[source]

Deletes all pending changes on a RAID controller.

Parameters:
  • node – an ironic node object.
  • raid_controller – id of the RAID controller.
Raises:

DracOperationError on an error from python-dracclient.

ironic.drivers.modules.drac.raid.commit_config(node, raid_controller, reboot=False)[source]

Apply all pending changes on a RAID controller.

Parameters:
  • node – an ironic node object.
  • raid_controller – id of the RAID controller.
  • reboot – indicates whether a reboot job should be automatically created with the config job. (optional, defaults to False)
Returns:

id of the created job

Raises:

DracOperationError on an error from python-dracclient.

ironic.drivers.modules.drac.raid.create_virtual_disk(node, raid_controller, physical_disks, raid_level, size_mb, disk_name=None, span_length=None, span_depth=None)[source]

Create a single virtual disk on a RAID controller.

The created virtual disk will be in pending state. The DRAC card will do the actual configuration once the changes are applied by calling the commit_config method.

Parameters:
  • node – an ironic node object.
  • raid_controller – id of the RAID controller.
  • physical_disks – ids of the physical disks.
  • raid_level – RAID level of the virtual disk.
  • size_mb – size of the virtual disk.
  • disk_name – name of the virtual disk. (optional)
  • span_depth – Number of spans in virtual disk. (optional)
  • span_length – Number of disks per span. (optional)
Returns:

a dictionary containing the commit_needed key with a boolean value indicating whether a config job must be created for the values to be applied.

Raises:

DracOperationError on an error from python-dracclient.

ironic.drivers.modules.drac.raid.delete_virtual_disk(node, virtual_disk)[source]

Delete a single virtual disk on a RAID controller.

The deleted virtual disk will be in pending state. The DRAC card will do the actual configuration once the changes are applied by calling the commit_config method.

Parameters:
  • node – an ironic node object.
  • virtual_disk – id of the virtual disk.
Returns:

a dictionary containing the commit_needed key with a boolean value indicating whether a config job must be created for the values to be applied.

Raises:

DracOperationError on an error from python-dracclient.

ironic.drivers.modules.drac.raid.list_physical_disks(node)[source]

List the physical disks of the node.

Parameters:node – an ironic node object.
Returns:a list of PhysicalDisk objects from dracclient.
Raises:DracOperationError on an error from python-dracclient.
ironic.drivers.modules.drac.raid.list_raid_controllers(node)[source]

List the RAID controllers of the node.

Parameters:node – an ironic node object.
Returns:a list of RAIDController objects from dracclient.
Raises:DracOperationError on an error from python-dracclient.
ironic.drivers.modules.drac.raid.list_virtual_disks(node)[source]

List the virtual disks of the node.

Parameters:node – an ironic node object.
Returns:a list of VirtualDisk objects from dracclient.
Raises:DracOperationError on an error from python-dracclient.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.