ironic.common.raid module

ironic.common.raid.SAS = 'sas'

Serial Attached SCSI

ironic.common.raid.SATA = 'sata'

Serial AT Attachment

ironic.common.raid.SCSI = 'scsi'

Small Computer System Interface

ironic.common.raid.filter_target_raid_config(node, create_root_volume=True, create_nonroot_volumes=True)[source]

Filter the target raid config based on root volume creation

This method can be used by any raid interface which wants to filter out target raid config based on condition whether the root volume will be created or not.

Parameters:
  • node – a node object

  • create_root_volume – A boolean default value True governing if the root volume is returned else root volumes will be filtered out.

  • create_nonroot_volumes – A boolean default value True governing if the non root volume is returned else non-root volumes will be filtered out.

Raises:

MissingParameterValue, if node.target_raid_config is missing or was found to be empty after skipping root volume and/or non-root volumes.

Returns:

It will return filtered target_raid_config

ironic.common.raid.get_logical_disk_properties(raid_config_schema)[source]

Get logical disk properties from RAID configuration schema.

This method reads the logical properties and their textual description from the schema that is passed.

Parameters:

raid_config_schema – A dictionary which is the schema to be used for getting properties that may be specified for the logical disk.

Returns:

A dictionary containing the logical disk properties as keys and a textual description for them as values.

ironic.common.raid.update_raid_info(node, raid_config)[source]

Update the node’s information based on the RAID config.

This method updates the node’s information to make use of the configured RAID for scheduling purposes (through properties[‘capabilities’] and properties[‘local_gb’]) and deploying purposes (using properties[‘root_device’]).

Parameters:
  • node – a node object

  • raid_config – The dictionary containing the current RAID configuration.

Raises:

InvalidParameterValue, if ‘raid_config’ has more than one root volume or if node.properties[‘capabilities’] is malformed.

ironic.common.raid.validate_configuration(raid_config, raid_config_schema)[source]

Validates the RAID configuration passed using JSON schema.

This method validates a RAID configuration against a RAID configuration schema.

Parameters:
  • raid_config – A dictionary containing RAID configuration information

  • raid_config_schema – A dictionary which is the schema to be used for validation.

Raises:

InvalidParameterValue, if validation of the RAID configuration fails.