smartos-manager 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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