mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
Improve CLI performance
This commit is contained in:
parent
ffce8af029
commit
e0e5b17310
@ -91,7 +91,20 @@ EOT
|
||||
if options[:xml]
|
||||
return 0, pool.to_xml(true)
|
||||
else
|
||||
format_pool(pool, options, top)
|
||||
phash = pool.to_hash
|
||||
rname = self.class.rname
|
||||
|
||||
if phash["#{rname}_POOL"] && phash["#{rname}_POOL"]["#{rname}"]
|
||||
if phash["#{rname}_POOL"]["#{rname}"].instance_of?(Array)
|
||||
phash = phash["#{rname}_POOL"]["#{rname}"]
|
||||
else
|
||||
phash = [phash["#{rname}_POOL"]["#{rname}"]]
|
||||
end
|
||||
else
|
||||
phash = Array.new
|
||||
end
|
||||
|
||||
format_pool(phash, options, top)
|
||||
return 0
|
||||
end
|
||||
end
|
||||
@ -138,11 +151,11 @@ EOT
|
||||
########################################################################
|
||||
# Id translation
|
||||
########################################################################
|
||||
def uid_to_str(uid, options)
|
||||
def uid_to_str(uid, options={})
|
||||
rid_to_str(:users, uid, options)
|
||||
end
|
||||
|
||||
def gid_to_str(gid, options)
|
||||
def gid_to_str(gid, options={})
|
||||
rid_to_str(:groups, gid, options)
|
||||
end
|
||||
|
||||
|
@ -25,6 +25,12 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
|
||||
"onehost.yaml"
|
||||
end
|
||||
|
||||
def self.state_to_str(id)
|
||||
id = id.to_i
|
||||
state_str = Host::HOST_STATES[id]
|
||||
return Host::SHORT_HOST_STATES[state_str]
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def factory(id=nil)
|
||||
@ -83,38 +89,38 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
|
||||
end
|
||||
|
||||
column :RVM, "Number of Virtual Machines running", :size=>6 do |d|
|
||||
d["HOST_SHARE/RUNNING_VMS"]
|
||||
d["HOST_SHARE"]["RUNNING_VMS"]
|
||||
end
|
||||
|
||||
column :TCPU, "Total CPU percentage", :size=>6 do |d|
|
||||
d["HOST_SHARE/MAX_CPU"]
|
||||
d["HOST_SHARE"]["MAX_CPU"]
|
||||
end
|
||||
|
||||
column :FCPU, "Free CPU percentage", :size=>6 do |d|
|
||||
d["HOST_SHARE/MAX_CPU"].to_i-d["HOST_SHARE/USED_CPU"].to_i
|
||||
d["HOST_SHARE"]["MAX_CPU"].to_i-d["HOST_SHARE"]["USED_CPU"].to_i
|
||||
end
|
||||
|
||||
column :ACPU, "Available cpu percentage (not reserved by VMs)", :size=>6 do |d|
|
||||
max_cpu=d["HOST_SHARE/MAX_CPU"].to_i
|
||||
max_cpu=d["HOST_SHARE"]["MAX_CPU"].to_i
|
||||
max_cpu=100 if max_cpu==0
|
||||
max_cpu-d["HOST_SHARE/CPU_USAGE"].to_i
|
||||
max_cpu-d["HOST_SHARE"]["CPU_USAGE"].to_i
|
||||
end
|
||||
|
||||
column :TMEM, "Total Memory", :size=>6 do |d|
|
||||
OpenNebulaHelper.unit_to_str(d["HOST_SHARE/MAX_MEM"].to_i,options)
|
||||
OpenNebulaHelper.unit_to_str(d["HOST_SHARE"]["MAX_MEM"].to_i,options)
|
||||
end
|
||||
|
||||
column :FMEM, "Free Memory", :size=>6 do |d|
|
||||
OpenNebulaHelper.unit_to_str(d["HOST_SHARE/FREE_MEM"].to_i,options)
|
||||
OpenNebulaHelper.unit_to_str(d["HOST_SHARE"]["FREE_MEM"].to_i,options)
|
||||
end
|
||||
|
||||
column :AMEM, "Available Memory (not reserved by VMs)", :size=>6 do |d|
|
||||
acpu=d["HOST_SHARE/MAX_MEM"].to_i-d["HOST_SHARE/MEM_USAGE"].to_i
|
||||
acpu=d["HOST_SHARE"]["MAX_MEM"].to_i-d["HOST_SHARE"]["MEM_USAGE"].to_i
|
||||
OpenNebulaHelper.unit_to_str(acpu,options)
|
||||
end
|
||||
|
||||
column :STAT, "Host status", :size=>6 do |d|
|
||||
d.short_state_str
|
||||
OneHostHelper.state_to_str(d["STATE"])
|
||||
end
|
||||
|
||||
default :ID, :NAME, :RVM, :TCPU, :FCPU, :ACPU, :TMEM, :FMEM, :AMEM, :STAT
|
||||
|
@ -25,6 +25,22 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
|
||||
"oneimage.yaml"
|
||||
end
|
||||
|
||||
def self.persistent_to_str(str)
|
||||
str.to_i==1 ? "Yes" : "No"
|
||||
end
|
||||
|
||||
def self.state_to_str(id)
|
||||
id = id.to_i
|
||||
state_str = Image::IMAGE_STATES[id]
|
||||
return Image::SHORT_IMAGE_STATES[state_str]
|
||||
end
|
||||
|
||||
def self.type_to_str(id)
|
||||
id = id.to_i
|
||||
type_str = Image::IMAGE_TYPES[id]
|
||||
return Image::SHORT_IMAGE_TYPES[type_str]
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def factory(id=nil)
|
||||
@ -80,7 +96,7 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
|
||||
end
|
||||
|
||||
column :TYPE, "Type of the Image", :size=>4 do |d,e|
|
||||
d.short_type_str
|
||||
OneImageHelper.type_to_str(d["TYPE"])
|
||||
end
|
||||
|
||||
column :REGTIME, "Registration time of the Image", :size=>20 do |d|
|
||||
@ -96,7 +112,7 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
|
||||
end
|
||||
|
||||
column :STAT, "State of the Image", :size=>4 do |d|
|
||||
d.short_state_str
|
||||
OneImageHelper.state_to_str(d["STATE"])
|
||||
end
|
||||
|
||||
column :RVMS, "Number of VMs currently running from this Image", :size=>5 do |d|
|
||||
@ -112,10 +128,4 @@ class OneImageHelper < OpenNebulaHelper::OneHelper
|
||||
table.show(pool, options)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def self.persistent_to_str(str)
|
||||
str.to_i==1 ? "Yes" : "No"
|
||||
end
|
||||
end
|
@ -25,6 +25,20 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
||||
"onevm.yaml"
|
||||
end
|
||||
|
||||
def self.state_to_str(id, lcm_id)
|
||||
id = id.to_i
|
||||
state_str = VirtualMachine::VM_STATE[id]
|
||||
short_state_str = VirtualMachine::SHORT_VM_STATES[state_str]
|
||||
|
||||
if short_state_str=="actv"
|
||||
lcm_id = lcm_id.to_i
|
||||
lcm_state_str = VirtualMachine::LCM_STATE[lcm_id]
|
||||
return VirtualMachine::SHORT_LCM_STATES[lcm_state_str]
|
||||
end
|
||||
|
||||
return short_state_str
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def factory(id=nil)
|
||||
@ -89,7 +103,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
||||
end
|
||||
|
||||
column :STAT, "Actual status", :size=>4 do |d,e|
|
||||
d.status
|
||||
OneVMHelper.state_to_str(d["STATE"], d["LCM_STATE"])
|
||||
end
|
||||
|
||||
column :CPU, "CPU percentage used by the VM", :size=>3 do |d|
|
||||
@ -101,7 +115,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
|
||||
end
|
||||
|
||||
column :HOSTNAME, "Host where the VM is running", :size=>15 do |d|
|
||||
d["HISTORY/HOSTNAME"]
|
||||
d["HISTORY"]["HOSTNAME"] if d["HISTORY"]
|
||||
end
|
||||
|
||||
column :TIME, "Time since the VM was submitted", :size=>11 do |d|
|
||||
|
Loading…
x
Reference in New Issue
Block a user