smartos-manager 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b0871eeb3678ada4eb8003cbfad9b58e51a99276
4
- data.tar.gz: 9a1468c77e3d5e63a0cf68fa8fcf987092c0e019
3
+ metadata.gz: 0c8b9fa9ed2240ea8a6f977e6dfd43e8d4c91b12
4
+ data.tar.gz: 88740a81716a7722b83917f3dfbd372e5306ae18
5
5
  SHA512:
6
- metadata.gz: edffed69085bc2892f0ab771aa3c9f5bdd9e758bef82a03fabf5ecbc0e8deeca572ea260ba5feba770414d78e499735951df775dacb316ed2379aec1b32d3833
7
- data.tar.gz: be161467db32d7722ce049a709518855a0e87b92be1d072c2d18001b4d77025f94b0428ce37e28d282b5f79944efb470f3437f91ecd58c7f382b8c6bac580a73
6
+ metadata.gz: 0fe8a42cb0ac1e8a885a2dc231fb856eda427e2efd7c66b3db5234d490c0df05a07840b27dad46a9d4bb61e8c8a8f4fa668006d5c4bcace23b84108e589d43c8
7
+ data.tar.gz: dfea46cad804fff9afe5e6a8f97f5a6f4e6e69580aa4a8ce8c472a63238a66ad5508d12f59ec6256426ab83d57b545262a824859fd2211d23e5401092b105219
@@ -77,7 +77,9 @@ class AppCLI < Thor
77
77
  vm_disk_label = "#{vm_disk[:quota]}"
78
78
  end
79
79
 
80
- p_vm_list(vm.memory.human_size(1), vm.name, vm.type, vm.uuid, vm.state, vm.admin_ip, vm_disk_label, *user_columns)
80
+ formatted_mem = "#{vm.rss.human_size(1).ljust(5)} / #{vm.memory.human_size(1).ljust(5)}"
81
+
82
+ p_vm_list(formatted_mem, vm.name, vm.type, vm.uuid, vm.state, vm.admin_ip, vm_disk_label, *user_columns)
81
83
  end
82
84
 
83
85
  if vms.empty?
@@ -133,7 +135,7 @@ class AppCLI < Thor
133
135
  name,
134
136
  disk_label,
135
137
  uuid,
136
- format_generic(admin_ip).cyan,
138
+ format_generic(admin_ip).ljust(15).cyan,
137
139
  tmp
138
140
  )
139
141
  #line = " [ #{size.rjust(6)} #{name.ljust(35)} - #{disk_label.rjust(5)} - #{uuid.ljust(37)}][ #{format_generic(admin_ip).ljust(15).cyan} ]#{tmp}"
@@ -142,7 +144,7 @@ class AppCLI < Thor
142
144
  end
143
145
 
144
146
  def build_vm_list_string(size, name, disk_label, uuid, admin_ip, rest)
145
- " [ #{size.rjust(6)} #{name.ljust(35)} - #{disk_label.rjust(5)} - #{uuid.ljust(37)}][ #{admin_ip.ljust(15)} ]#{rest}"
147
+ " [ #{size.rjust(14)} #{name.ljust(35)} - #{disk_label.rjust(5)} - #{uuid.ljust(37)}][ #{admin_ip} ]#{rest}"
146
148
  end
147
149
 
148
150
  def printable_state(state)
@@ -46,15 +46,16 @@ end
46
46
 
47
47
 
48
48
  class VirtualMachine
49
- attr_reader :uuid, :type, :memory, :state, :name, :admin_ip
49
+ attr_reader :uuid, :type, :memory, :rss, :state, :name, :admin_ip
50
50
 
51
- def initialize(data = {})
51
+ def initialize(data = {}, rss = {})
52
52
  @uuid = data.delete('uuid')
53
53
  @type = data.delete('type')
54
54
  @memory = data.delete('ram').to_i.megabytes
55
55
  @state = data.delete('state')
56
56
  @name = data.delete('alias')
57
57
  @admin_ip = data.delete('nics.0.ip')
58
+ @rss = rss[@uuid]
58
59
 
59
60
  @user_data = data
60
61
  end
@@ -139,6 +140,19 @@ class HostRegistry
139
140
  def list_vms
140
141
  columns = LIST_COLUMNS + @user_columns.values
141
142
 
143
+ rss = {}
144
+
145
+ # Memory used for each VM
146
+ run_on_all("zonememstat").each do |host, data|
147
+ data.split("\n").each do |line|
148
+ # ignore headers / global
149
+ unless line.start_with?(' ')
150
+ uuid, used_mem, cap, _, _ = line.gsub(/\s+/, ' ').split(" ")
151
+ rss[uuid] = used_mem.to_i.megabytes
152
+ end
153
+ end
154
+ end
155
+
142
156
  vms = run_on_all("vmadm list -o #{columns.join(',')} -p")
143
157
  vms.each do |host, data|
144
158
  if data
@@ -148,7 +162,7 @@ class HostRegistry
148
162
  data[columns[n]] = val
149
163
  end
150
164
 
151
- VirtualMachine.new(data)
165
+ VirtualMachine.new(data, rss)
152
166
  end
153
167
  else
154
168
  vms[host] = []
@@ -1,3 +1,3 @@
1
1
  module SmartosManager
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartos-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Ammous
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-29 00:00:00.000000000 Z
11
+ date: 2015-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: toml-rb