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



53
54
55
# File 'lib/pec/command/status.rb', line 53

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

.before_doObject



48
49
50
51
# File 'lib/pec/command/status.rb', line 48

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

.fetch_flavor(server) ⇒ Object



36
37
38
# File 'lib/pec/command/status.rb', line 36

def self.fetch_flavor(server)
  Pec.flavor_list(server).find {|f|f.id == server.flavor['id']}
end

.fetch_tenant(server) ⇒ Object



32
33
34
# File 'lib/pec/command/status.rb', line 32

def self.fetch_tenant(server)
  Pec.tenant_list.find {|tenant| tenant.id == server.tenant_id}
end

.ip_addresses(server) ⇒ Object



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

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



57
58
59
60
61
62
63
64
65
# File 'lib/pec/command/status.rb', line 57

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
27
28
29
30
# File 'lib/pec/command/status.rb', line 3

def self.task(server, config)
  if server
    tenant_name = safe_was_delete(config.name, config.tenant, :tenant) do
      fetch_tenant(server).name
    end

    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