ironic.drivers.modules.storage.cinder module

class ironic.drivers.modules.storage.cinder.CinderStorage(*args, **kwargs)[source]

Bases: StorageInterface

A storage_interface driver supporting Cinder.

attach_volumes(task)[source]

Informs the storage subsystem to attach all volumes for the node.

Parameters:

task – The task object.

Raises:

StorageError If an underlying exception or failure is detected.

detach_volumes(task, connector=None, aborting_attach=False)[source]

Informs the storage subsystem to detach all volumes for the node.

This action is retried in case of failure.

Parameters:
  • task – The task object.

  • connector – The dictionary representing a node’s connectivity as defined by _generate_connector(). Generated if not passed.

  • aborting_attach – Boolean representing if this detachment was requested to handle aborting a failed attachment

Raises:

StorageError If an underlying exception or failure is detected.

get_properties()[source]

Return the properties of the interface.

Returns:

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

should_write_image(task)[source]

Determines if deploy should perform the image write-out.

Parameters:

task – The task object.

Returns:

True if the deployment write-out process should be executed.

validate(task)[source]

Validate storage_interface configuration for Cinder usage.

In order to provide fail fast functionality prior to nodes being requested to enter the active state, this method performs basic checks of the volume connectors, volume targets, and operator defined capabilities. These checks are to help ensure that we should have a compatible configuration prior to activating the node.

Parameters:

task – The task object.

Raises:

InvalidParameterValue If a misconfiguration or mismatch exists that would prevent storage the cinder storage driver from initializing attachments.