Module: Overcloud::Deployment
- Included in:
- UndercloudHandle
- Defined in:
- lib/egon/overcloud/undercloud_handle/deployment.rb
Instance Method Summary collapse
- #delete_stack(overcloud) ⇒ Object
- #deploy_plan(plan_name) ⇒ Object
- #edit_plan_deployment_role_count(plan_name, role_name, count) ⇒ Object
- #edit_plan_deployment_role_flavor(plan_name, role_name, flavor_name) ⇒ Object
- #edit_plan_environments(plan_name, environments) ⇒ Object
- #edit_plan_parameters(plan_name, parameters) ⇒ Object
- #get_plan(plan_name) ⇒ Object
-
#get_plan_deployment_roles(plan_name) ⇒ Object
MISCELLANEOUS PLAN ACTIONS.
-
#get_plan_environments(plan_name) ⇒ Object
PLAN ENVIRONMENT ACTIONS.
- #get_plan_parameter_value(plan_name, parameter_name) ⇒ Object
-
#get_plan_parameters(plan_name) ⇒ Object
PLAN PARAMETER METHODS.
- #get_stack_by_name(stack_name) ⇒ Object
-
#list_plans ⇒ Object
BASE PLAN ACTIONS.
-
#list_stacks ⇒ Object
HEAT ACTIONS.
Instance Method Details
#delete_stack(overcloud) ⇒ Object
95 96 97 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 95 def delete_stack(overcloud) service('Orchestration').delete_stack(overcloud) end |
#deploy_plan(plan_name) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 15 def deploy_plan(plan_name) # ensure that nodes are in correct state for node in list_nodes node.set_provision_state('provide') if node.provision_state == 'manageable' end workflow = 'tripleo.deployment.v1.deploy_plan' input = { container: plan_name } execute_workflow(workflow, input, false) end |
#edit_plan_deployment_role_count(plan_name, role_name, count) ⇒ Object
50 51 52 53 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 50 def edit_plan_deployment_role_count(plan_name, role_name, count) parameters = {role_name + "Count" => count.to_s} edit_plan_parameters(plan_name, parameters) end |
#edit_plan_deployment_role_flavor(plan_name, role_name, flavor_name) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 55 def edit_plan_deployment_role_flavor(plan_name, role_name, flavor_name) if role_name == 'Controller' flavor_parameter = 'OvercloudControlFlavor' else flavor_parameter = 'Overcloud' + role_name + 'Flavor' end parameters = {flavor_parameter => flavor_name} edit_plan_parameters(plan_name, parameters) end |
#edit_plan_environments(plan_name, environments) ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 71 def edit_plan_environments(plan_name, environments) action_parameters = { :container => plan_name, :environments => environments } workflow_action_execution('tripleo.heat_capabilities.update', action_parameters) end |
#edit_plan_parameters(plan_name, parameters) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 42 def edit_plan_parameters(plan_name, parameters) action_parameters = { :container => plan_name, :parameters => parameters } workflow_action_execution('tripleo.parameters.update', action_parameters) end |
#get_plan(plan_name) ⇒ Object
10 11 12 13 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 10 def get_plan(plan_name) # this doesn't exist anymore? return {'name' => plan_name} end |
#get_plan_deployment_roles(plan_name) ⇒ Object
MISCELLANEOUS PLAN ACTIONS
81 82 83 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 81 def get_plan_deployment_roles(plan_name) return workflow_action_execution('tripleo.role.list', { :container => plan_name }) end |
#get_plan_environments(plan_name) ⇒ Object
PLAN ENVIRONMENT ACTIONS
67 68 69 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 67 def get_plan_environments(plan_name) return workflow_action_execution('tripleo.heat_capabilities.get', { :container => plan_name }) end |
#get_plan_parameter_value(plan_name, parameter_name) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 33 def get_plan_parameter_value(plan_name, parameter_name) parameters = get_plan_parameters(plan_name) if parameters.key?(parameter_name) parameters[parameter_name]["Default"] else nil end end |
#get_plan_parameters(plan_name) ⇒ Object
PLAN PARAMETER METHODS
28 29 30 31 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 28 def get_plan_parameters(plan_name) all_params = workflow_action_execution('tripleo.parameters.get', { :container => plan_name }) return flatten_parameters(all_params["heat_resource_tree"]) end |
#get_stack_by_name(stack_name) ⇒ Object
91 92 93 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 91 def get_stack_by_name(stack_name) list_stacks.find{|s| s.stack_name == stack_name} end |
#list_plans ⇒ Object
BASE PLAN ACTIONS
6 7 8 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 6 def list_plans return workflow_action_execution('tripleo.plan.list') end |
#list_stacks ⇒ Object
HEAT ACTIONS
87 88 89 |
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 87 def list_stacks service('Orchestration').stacks.all end |