1
0
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:
Daniel Molina 2011-06-20 15:36:37 +02:00
parent ffce8af029
commit e0e5b17310
4 changed files with 65 additions and 22 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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|