Class: Overcloud::UndercloudHandle
- Inherits:
-
Object
- Object
- Overcloud::UndercloudHandle
- Includes:
- Deployment, Flavor, Image, Node
- Defined in:
- lib/egon/overcloud/undercloud_handle.rb
Instance Method Summary collapse
- #execute_workflow(workflow, input, wait_for_complete = true) ⇒ Object
-
#initialize(username, password, auth_url, port = 5000) ⇒ UndercloudHandle
constructor
A new instance of UndercloudHandle.
- #workflow_action_execution(action_name, params = {}) ⇒ Object
Methods included from Node
#configure_node, #create_node, #create_node_only, #create_nodes_from_csv, #create_port, #delete_node, #get_node, #introspect_node, #introspect_node_status, #list_nodes, #list_ports, #list_ports_detailed, #node_parameters_to_json
Methods included from Image
#find_image_by_name, #get_baremetal_deploy_kernel_image, #get_baremetal_deploy_ramdisk_image, #list_images
Methods included from Flavor
#create_flavor, #create_flavor_extra_specs, #create_flavor_from_node, #flavor_exists?, #get_flavor, #get_flavor_extra_specs, #list_flavors
Methods included from Deployment
#delete_stack, #deploy_plan, #edit_plan_deployment_role_count, #edit_plan_deployment_role_flavor, #edit_plan_environments, #edit_plan_parameters, #get_plan, #get_plan_deployment_roles, #get_plan_environments, #get_plan_parameter_value, #get_plan_parameters, #get_stack_by_name, #list_plans, #list_stacks
Constructor Details
#initialize(username, password, auth_url, port = 5000) ⇒ UndercloudHandle
Returns a new instance of UndercloudHandle.
16 17 18 19 20 21 |
# File 'lib/egon/overcloud/undercloud_handle.rb', line 16 def initialize(username, password, auth_url, port = 5000) @username = username @password = password @auth_url = auth_url @port = port end |
Instance Method Details
#execute_workflow(workflow, input, wait_for_complete = true) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/egon/overcloud/undercloud_handle.rb', line 23 def execute_workflow(workflow, input, wait_for_complete = true) connection = service('Workflow') response = connection.create_execution(workflow, input) state = response.body['state'] workflow_execution_id = response.body['id'] return unless wait_for_complete while state == 'RUNNING' sleep 2 response = connection.get_execution(workflow_execution_id) state = response.body['state'] end if state != 'SUCCESS' raise "Executing workflow #{workflow} on #{input} failed: #{response.body['output']}" end workflow_execution_id end |
#workflow_action_execution(action_name, params = {}) ⇒ Object
43 44 45 |
# File 'lib/egon/overcloud/undercloud_handle.rb', line 43 def workflow_action_execution(action_name, params = {}) return JSON.parse(service('Workflow').create_action_execution(action_name, params).body["output"])["result"] end |