Module: Overcloud::Deployment

Included in:
UndercloudHandle
Defined in:
lib/egon/overcloud/undercloud_handle/deployment.rb

Instance Method Summary collapse

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_plansObject

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_stacksObject

HEAT ACTIONS



87
88
89
# File 'lib/egon/overcloud/undercloud_handle/deployment.rb', line 87

def list_stacks
  service('Orchestration').stacks.all
end