ironic.drivers.modules.agent_client.
AgentClient
(**kwargs)[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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.