ironic.drivers.modules.ansible.deploy module¶
Ansible deploy interface
- class ironic.drivers.modules.ansible.deploy.AnsibleDeploy(*args, **kwargs)[source]¶
Bases:
HeartbeatMixin,AgentOobStepsMixin,DeployInterfaceInterface for deploy-related actions.
- collect_deploy_logs = False¶
- execute_clean_step(task, step)[source]¶
Execute a clean step.
- Parameters:
task – a TaskManager object containing the node
step – a clean step dictionary to execute
- Returns:
None
- get_clean_steps(task)[source]¶
Get the list of clean steps from the file.
- Parameters:
task – a TaskManager object containing the node
- Returns:
A list of clean step dictionaries
- has_decomposed_deploy_steps = True¶
Whether the driver supports decomposed deploy steps.
Previously (since Rocky), drivers used a single ‘deploy’ deploy step on the deploy interface. Some additional steps were added for the ‘direct’ and ‘iscsi’ deploy interfaces in the Ussuri cycle, which means that more of the deployment flow is driven by deploy steps.
- prepare_cleaning(task)[source]¶
Boot into the ramdisk to prepare for cleaning.
- Parameters:
task – a TaskManager object containing the node
- Raises:
NodeCleaningFailure – if the previous cleaning ports cannot be removed or if new cleaning ports cannot be created
- Returns:
None or states.CLEANWAIT for async prepare.
- process_next_step(task, step_type)[source]¶
Start the next clean/deploy step if the previous one is complete.
- Parameters:
task – a TaskManager instance
step_type – “clean” or “deploy”
- take_over(task)[source]¶
Take over management of this task’s node from a dead conductor.
If conductors’ hosts maintain a static relationship to nodes, this method should be implemented by the driver to allow conductors to perform the necessary work during the remapping of nodes to conductors when a conductor joins or leaves the cluster.
- For example, the PXE driver has an external dependency:
Neutron must forward DHCP BOOT requests to a conductor which has prepared the tftpboot environment for the given node. When a conductor goes offline, another conductor must change this setting in Neutron as part of remapping that node’s control to itself. This is performed within the takeover method.
- Parameters:
task – A TaskManager instance containing the node to act on.
- tear_down_agent(task)[source]¶
A deploy step to tear down the agent.
Shuts down the machine and removes it from the provisioning network.
- Parameters:
task – a TaskManager object containing the node
- tear_down_cleaning(task)[source]¶
Clean up the PXE and DHCP files after cleaning.
- Parameters:
task – a TaskManager object containing the node
- Raises:
NodeCleaningFailure – if the cleaning ports cannot be removed