module Crowbar::Client::Mixin::Proposal

A mixin with proposal related helpers

Public Instance Methods

deployment_cleanup(proposal) click to toggle source
# File lib/crowbar/client/mixin/proposal.rb, line 43
def deployment_cleanup(proposal)
  filter = valid_elements
  # filter deployment elements
  proposal["deployment"][args.barclamp]["elements"].each do |role, elements|
    elements.select! { |element| filter.include? element }
  end
  proposal
end
valid_elements() click to toggle source
# File lib/crowbar/client/mixin/proposal.rb, line 31
def valid_elements
  # fetch node list
  response = Request::Node::List.new.process
  raise "error fetching node list" unless response.code == 200
  nodes = response.parsed_response["nodes"].map { |node| node["name"] }
  # fetch clusters list
  response = Request::Cluster::List.new.process
  raise "error fetching cluster list" unless response.code == 200
  clusters = response.parsed_response.keys
  nodes + clusters
end