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 +4 -4
- data/lib/smartos-manager/cli.rb +5 -3
- data/lib/smartos-manager/core.rb +17 -3
- data/lib/smartos-manager/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c8b9fa9ed2240ea8a6f977e6dfd43e8d4c91b12
|
4
|
+
data.tar.gz: 88740a81716a7722b83917f3dfbd372e5306ae18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fe8a42cb0ac1e8a885a2dc231fb856eda427e2efd7c66b3db5234d490c0df05a07840b27dad46a9d4bb61e8c8a8f4fa668006d5c4bcace23b84108e589d43c8
|
7
|
+
data.tar.gz: dfea46cad804fff9afe5e6a8f97f5a6f4e6e69580aa4a8ce8c472a63238a66ad5508d12f59ec6256426ab83d57b545262a824859fd2211d23e5401092b105219
|
data/lib/smartos-manager/cli.rb
CHANGED
@@ -77,7 +77,9 @@ class AppCLI < Thor
|
|
77
77
|
vm_disk_label = "#{vm_disk[:quota]}"
|
78
78
|
end
|
79
79
|
|
80
|
-
|
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(
|
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)
|
data/lib/smartos-manager/core.rb
CHANGED
@@ -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] = []
|
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.
|
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-
|
11
|
+
date: 2015-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: toml-rb
|