ironic.drivers.modules.agent module¶
-
class
ironic.drivers.modules.agent.
AgentDeploy
(*args, **kwargs)[source]¶ Bases:
ironic.drivers.modules.agent.AgentDeployMixin
,ironic.drivers.modules.agent_base.AgentBaseMixin
,ironic.drivers.base.DeployInterface
Interface for deploy-related actions.
-
clean_up
(task)[source]¶ Clean up the deployment environment for this node.
If preparation of the deployment environment ahead of time is possible, this method should be implemented by the driver. It should erase anything cached by the prepare method.
If implemented, this method must be idempotent. It may be called multiple times for the same node on the same conductor, and it may be called by multiple conductors in parallel. Therefore, it must not require an exclusive lock.
This method is called before tear_down.
- Parameters
task – a TaskManager instance.
-
deploy
(task)[source]¶ Perform a deployment to a node.
Perform the necessary work to deploy an image onto the specified node. This method will be called after prepare(), which may have already performed any preparatory steps, such as pre-caching some data for the node.
- Parameters
task – a TaskManager instance.
- Returns
status of the deploy. One of ironic.common.states.
-
get_properties
()[source]¶ Return the properties of the interface.
- Returns
dictionary of <property name>:<property description> entries.
-
prepare
(task)[source]¶ Prepare the deployment environment for this node.
- Parameters
task – a TaskManager instance.
- Raises
NetworkError: if the previous cleaning ports cannot be removed or if new cleaning ports cannot be created.
- Raises
InvalidParameterValue when the wrong power state is specified or the wrong driver info is specified for power management.
- Raises
StorageError If the storage driver is unable to attach the configured volumes.
- Raises
other exceptions by the node’s power driver if something wrong occurred during the power action.
- Raises
exception.ImageRefValidationFailed if image_source is not Glance href and is not HTTP(S) URL.
- Raises
exception.InvalidParameterValue if network validation fails.
- Raises
any boot interface’s prepare_ramdisk exceptions.
-
validate
(task)[source]¶ Validate the driver-specific Node deployment info.
This method validates whether the properties of the supplied node contain the required information for this driver to deploy images to the node.
- Parameters
task – a TaskManager instance
- Raises
MissingParameterValue, if any of the required parameters are missing.
- Raises
InvalidParameterValue, if any of the parameters have invalid value.
-
-
class
ironic.drivers.modules.agent.
AgentDeployMixin
[source]¶ Bases:
ironic.drivers.modules.agent_base.AgentDeployMixin
-
has_decomposed_deploy_steps
= True¶
-
-
class
ironic.drivers.modules.agent.
AgentRAID
(*args, **kwargs)[source]¶ Bases:
ironic.drivers.base.RAIDInterface
Implementation of RAIDInterface which uses agent ramdisk.
-
apply_configuration
(task, raid_config, delete_existing=True)[source]¶ Applies RAID configuration on the given node.
- Parameters
task – A TaskManager instance.
raid_config – The RAID configuration to apply.
delete_existing – Setting this to True indicates to delete RAID configuration prior to creating the new configuration.
- Raises
InvalidParameterValue, if the RAID configuration is invalid.
- Returns
states.DEPLOYWAIT if RAID configuration is in progress asynchronously or None if it is complete.
-
create_configuration
(task, create_root_volume=True, create_nonroot_volumes=True)[source]¶ Create a RAID configuration on a bare metal using agent ramdisk.
This method creates a RAID configuration on the given node.
- Parameters
task – a TaskManager instance.
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 operation was successfully invoked.
- Raises
MissingParameterValue, if node.target_raid_config is missing or was found to be empty after skipping root volume and/or non-root volumes.
-
delete_configuration
(task)[source]¶ Deletes RAID configuration on the given node.
- Parameters
task – a TaskManager instance.
- Returns
states.CLEANWAIT if operation was successfully invoked
-
get_deploy_steps
(task)[source]¶ Get the list of deploy steps from the agent.
- Parameters
task – a TaskManager object containing the node
- Raises
InstanceDeployFailure – if the deploy steps are not yet available (cached), for example, when a node has just been enrolled and has not been deployed yet.
- Returns
A list of deploy step dictionaries
-
-
class
ironic.drivers.modules.agent.
AgentRescue
(*args, **kwargs)[source]¶ Bases:
ironic.drivers.base.RescueInterface
Implementation of RescueInterface which uses agent ramdisk.
-
clean_up
(task)[source]¶ Clean up after RESCUEWAIT timeout/failure or finishing rescue.
Rescue password should be removed from the node and ramdisk boot environment should be cleaned if Ironic is managing the ramdisk boot.
- Parameters
task – a TaskManager instance with the node.
- Raises
NetworkError if the rescue ports cannot be removed.
-
rescue
(task)[source]¶ Boot a rescue ramdisk on the node.
- Parameters
task – a TaskManager instance.
- Raises
NetworkError if the tenant ports cannot be removed.
- Raises
InvalidParameterValue when the wrong power state is specified or the wrong driver info is specified for power management.
- Raises
other exceptions by the node’s power driver if something wrong occurred during the power action.
- Raises
any boot interface’s prepare_ramdisk exceptions.
- Returns
Returns states.RESCUEWAIT
-
unrescue
(task)[source]¶ Attempt to move a rescued node back to active state.
- Parameters
task – a TaskManager instance.
- Raises
NetworkError if the rescue ports cannot be removed.
- Raises
InvalidParameterValue when the wrong power state is specified or the wrong driver info is specified for power management.
- Raises
other exceptions by the node’s power driver if something wrong occurred during the power action.
- Raises
any boot interface’s prepare_instance exceptions.
- Returns
Returns states.ACTIVE
-
validate
(task)[source]¶ Validate that the node has required properties for agent rescue.
- Parameters
task – a TaskManager instance with the node being checked
- Raises
InvalidParameterValue if ‘instance_info/rescue_password’ has empty password or rescuing network UUID config option has an invalid value.
- Raises
MissingParameterValue if node is missing one or more required parameters
-
-
ironic.drivers.modules.agent.
check_image_size
(task, image_source, image_disk_format=None)[source]¶ Check if the requested image is larger than the ram size.
- Parameters
task – a TaskManager instance containing the node to act on.
image_source – href of the image.
image_disk_format – The disk format of the image if provided
- Raises
InvalidParameterValue if size of the image is greater than the available ram size.