module Overcloud::Deployment

Public Instance Methods

delete_stack(overcloud) click to toggle source
# File lib/egon/overcloud/undercloud_handle/deployment.rb, line 95
def delete_stack(overcloud)
  service('Orchestration').delete_stack(overcloud)
end
deploy_plan(plan_name) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source

MISCELLANEOUS PLAN ACTIONS

# 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) click to toggle source

PLAN ENVIRONMENT ACTIONS

# 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) click to toggle source
# 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) click to toggle source

PLAN PARAMETER METHODS

# 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) click to toggle source
# 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() click to toggle source

BASE PLAN ACTIONS

# File lib/egon/overcloud/undercloud_handle/deployment.rb, line 6
def list_plans
  return workflow_action_execution('tripleo.plan.list')
end
list_stacks() click to toggle source

HEAT ACTIONS

# File lib/egon/overcloud/undercloud_handle/deployment.rb, line 87
def list_stacks
  service('Orchestration').stacks.all
end

Private Instance Methods

flatten_parameters(base_parameters) click to toggle source
# File lib/egon/overcloud/undercloud_handle/deployment.rb, line 101
def flatten_parameters(base_parameters)
  flat_parameters = {}
  if base_parameters.key?('Parameters')
    flat_parameters.merge!base_parameters['Parameters']
  end
  if base_parameters.key?('NestedParameters')
    for nested_parameters in base_parameters['NestedParameters']
      flat_parameters.merge!(flatten_parameters(nested_parameters[1]))
    end
  end
  flat_parameters
end