ironic.drivers.modules.agent_client.
AgentClient
[source]¶Bases: object
Client for interacting with nodes via a REST API.
collect_system_logs
(node)[source]¶Collect and package diagnostic and support data from the ramdisk.
node – A Node object.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
execute_clean_step
(step, node, ports)[source]¶Execute specified clean step.
step – A clean step dictionary to execute.
node – A Node object.
ports – Ports associated with the node.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
The value of key command_result is in the form of:
{
'clean_result': <the result of execution, step specific>,
'clean_step': <the clean step issued to agent>
}
execute_deploy_step
(step, node, ports)[source]¶Execute specified deploy step.
step – A deploy step dictionary to execute.
node – A Node object.
ports – Ports associated with the node.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
The value of key command_result is in the form of:
{
'deploy_result': <the result of execution, step specific>,
'deploy_step': <the deploy step issued to agent>
}
finalize_rescue
(node)[source]¶Instruct the ramdisk to finalize entering of rescue mode.
node – A Node object.
IronicException if rescue_password is missing, or when failed to issue the request, or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
InstanceRescueFailure when the agent ramdisk is too old to support transmission of the rescue password.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
get_clean_steps
(node, ports)[source]¶Get clean steps from agent.
node – A node object.
ports – Ports associated with the node.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
The value of key command_result is in the form of:
{
'clean_steps': <a list of clean steps>,
'hardware_manager_version': <manager version>
}
get_commands_status
(node, retry_connection=True, expect_errors=False)[source]¶Get command status from agent.
node – A Node object.
retry_connection – Whether to retry connection problems.
expect_errors – If True, do not log connection problems as errors.
A list of command results, each result is related to a command been issued to agent. A typical result can be:
{
'command_name': <command name related to the result>,
'command_params': <params related with the command>,
'command_status': <current command status,
e.g. 'RUNNING', 'SUCCEEDED', 'FAILED'>,
'command_error': <error message if command execution
failed>,
'command_result': <command result if command execution
succeeded, the value is command specific,
e.g.:
* a dictionary containing keys clean_result
and clean_step for the command
clean.execute_clean_step;
* a dictionary containing keys deploy_result
and deploy_step for the command
deploy.execute_deploy_step;
* a string representing result message for
the command standby.cache_image;
* None for the command standby.sync.>
}
get_deploy_steps
(node, ports)[source]¶Get deploy steps from agent.
node – A node object.
ports – Ports associated with the node.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
The value of key command_result is in the form of:
{
'deploy_steps': <a list of deploy steps>,
'hardware_manager_version': <manager version>
}
get_last_command_status
(node, method)[source]¶Get the last status for the given command.
node – A Node object.
method – Command name.
A dict containing command status from agent or None if the command was not found.
get_partition_uuids
(node)[source]¶Get deploy steps from agent.
node – A node object.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
install_bootloader
(node, root_uuid, target_boot_mode, efi_system_part_uuid=None, prep_boot_part_uuid=None, software_raid=False)[source]¶Install a boot loader on the image.
node – A node object.
root_uuid – The UUID of the root partition.
target_boot_mode – The target deployment boot mode.
efi_system_part_uuid – The UUID of the efi system partition where the bootloader will be installed to, only used for uefi boot mode.
prep_boot_part_uuid – The UUID of the PReP Boot partition where the bootloader will be installed to when local booting a partition image on a ppc64* system.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
power_off
(node)[source]¶Soft powers off the bare metal node by shutting down ramdisk OS.
node – A Node object.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
prepare_image
(node, image_info, wait=False)[source]¶Call the prepare_image method on the node.
node – A Node object.
image_info – A dictionary containing various image related information.
wait – True to wait for the command to finish executing, False otherwise.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command status from agent.
See get_commands_status()
for a command result sample.
reboot
(node)[source]¶Soft reboots the bare metal node by shutting down ramdisk OS.
node – A Node object.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
start_iscsi_target
(node, iqn, portal_port=3260, wipe_disk_metadata=False)[source]¶Expose the node’s disk as an ISCSI target.
node – an Ironic node object
iqn – iSCSI target IQN
portal_port – iSCSI portal port
wipe_disk_metadata – True if the agent should wipe first the disk magic strings like the partition table, RAID or filesystem signature.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
sync
(node)[source]¶Flush file system buffers forcing changed blocks to disk.
node – A Node object.
IronicException when failed to issue the request or there was a malformed response from the agent.
AgentAPIError when agent failed to execute specified command.
AgentInProgress when the command fails to execute as the agent is presently executing the prior command.
A dict containing command response from agent.
See get_commands_status()
for a command result sample.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.