Class: Pec::Command::Status

Inherits:
Base
  • Object
show all
Defined in:
lib/pec/command/status.rb

Class Method Summary collapse

Methods inherited from Base

not_fetch, print_exception, run

Class Method Details

.after_doObject



45
46
47
# File 'lib/pec/command/status.rb', line 45

def self.after_do
  Pec::Logger.warning @_error.join("\n") if @_error
end

.before_doObject



40
41
42
43
# File 'lib/pec/command/status.rb', line 40

def self.before_do
  @_error = nil
  Pec::Logger.warning "Current machine status:"
end

.fetch_flavor(server) ⇒ Object



28
29
30
# 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) ⇒ Object



32
33
34
35
36
37
38
# 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) ⇒ Object



49
50
51
52
53
54
55
56
57
# 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) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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