class Pec::Command::Status

Public Class Methods

after_do() click to toggle source
# File lib/pec/command/status.rb, line 45
def self.after_do
  Pec::Logger.warning @_error.join("\n") if @_error
end
before_do() click to toggle source
# File lib/pec/command/status.rb, line 40
def self.before_do
  @_error = nil
  Pec::Logger.warning "Current machine status:"
end
fetch_flavor(server) click to toggle source
# File lib/pec/command/status.rb, line 28
def self.fetch_flavor(server)
  Pec.flavor_list(server).find {|f|f.id == server.flavor['id']}
end
ip_addresses(server) click to toggle source
# File lib/pec/command/status.rb, line 32
def self.ip_addresses(server)
  server.addresses.map do |ethers|
    ethers[1].map do |ether|
      ether["addr"]
    end
  end.flatten.join(",")
end
safe_was_delete(host_name, default ,resource_name, &blk) click to toggle source
# File lib/pec/command/status.rb, line 49
def self.safe_was_delete(host_name, default ,resource_name, &blk)
  begin
    blk.call
  rescue
    @_error ||= []
    @_error << "#{host_name}:#{resource_name} is unmatch id. may be id has changed"
    default
  end
end
task(server, config) click to toggle source
# File lib/pec/command/status.rb, line 3
def self.task(server, config)
  if server
    tenant_name = config.tenant
    flavor_name = safe_was_delete(config.name, config.flavor, :flavor) do
      fetch_flavor(server).name
    end
    puts sprintf(
      " %-35s %-10s %-10s %-10s %-10s %-10s %-35s %-48s",
      config.name,
      server.status,
      tenant_name,
      flavor_name,
      server.availability_zone,
      server.key_name,
      server.ext_srv_attr_host,
      ip_addresses(server)
    )
  else
    puts sprintf(" %-35s %-10s",
      config.name,
      "uncreated"
    )
  end
end