class OpenNebula::HostPool

Constants

HOST_POOL_METHODS

Constants and Class attribute accessors

Public Class Methods

new(client) click to toggle source

client a Client object that represents a XML-RPC connection

Calls superclass method
# File lib/opennebula/host_pool.rb, line 38
def initialize(client)
    super('HOST_POOL','HOST',client)
end

Public Instance Methods

factory(element_xml) click to toggle source

Factory Method for the Host Pool

# File lib/opennebula/host_pool.rb, line 43
def factory(element_xml)
    OpenNebula::Host.new(element_xml,@client)
end
info() click to toggle source

Retrieves all the Hosts in the pool.

Calls superclass method
# File lib/opennebula/host_pool.rb, line 52
def info()
    super(HOST_POOL_METHODS[:info])
end
Also aliased as: info!
info!()
Alias for: info
info_all() click to toggle source
Calls superclass method
# File lib/opennebula/host_pool.rb, line 56
def info_all()
    return super(HOST_POOL_METHODS[:info])
end
Also aliased as: info_all!
info_all!()
Alias for: info_all
info_group() click to toggle source
Calls superclass method
# File lib/opennebula/host_pool.rb, line 64
def info_group()
    return super(HOST_POOL_METHODS[:info])
end
Also aliased as: info_group!
info_group!()
Alias for: info_group
info_mine() click to toggle source
Calls superclass method
# File lib/opennebula/host_pool.rb, line 60
def info_mine()
    return super(HOST_POOL_METHODS[:info])
end
Also aliased as: info_mine!
info_mine!()
Alias for: info_mine
monitoring(xpath_expressions) click to toggle source

Retrieves the monitoring data for all the Hosts in the pool

@param [Array<String>] xpath_expressions Elements to retrieve.

@return [Hash<String, <Hash<String, Array<Array<int>>>>>,

OpenNebula::Error] The first level hash uses the Host ID as keys,
and as value a Hash with the requested xpath expressions,
and an Array of 'timestamp, value'.

@example

host_pool.monitoring(
  ['HOST_SHARE/FREE_CPU',
  'HOST_SHARE/RUNNING_VMS',
  'TEMPLATE/CUSTOM_PROBE'] )

{"1"=>
  {"TEMPLATE/CUSTOM_PROBE"=>[],
   "HOST_SHARE/FREE_CPU"=>[["1337609673", "800"]],
   "HOST_SHARE/RUNNING_VMS"=>[["1337609673", "3"]]},
 "0"=>
  {"TEMPLATE/CUSTOM_PROBE"=>[],
   "HOST_SHARE/FREE_CPU"=>[["1337609673", "800"]],
   "HOST_SHARE/RUNNING_VMS"=>[["1337609673", "3"]]}}
Calls superclass method
# File lib/opennebula/host_pool.rb, line 96
def monitoring(xpath_expressions)
    return super(HOST_POOL_METHODS[:monitoring], xpath_expressions)
end
monitoring_xml(num = nil) click to toggle source

Retrieves the monitoring data for all the Hosts in the pool, in XML

@param [Integer] num Optional Retrieve monitor records in the last num

seconds. 0 just the last record, -1 or nil all records

@return [String] VM monitoring data, in XML

# File lib/opennebula/host_pool.rb, line 106
def monitoring_xml(num = nil)
    return @client.call(HOST_POOL_METHODS[:monitoring]) if num.nil?

    @client.call(HOST_POOL_METHODS[:monitoring], num.to_i)
end