Get Compute Resource Details

To get compute resource details, use the following request:

GET /settings/hypervisors/:id.xml
GET /settings/hypervisors/:id.json

XML Request Example

curl -i -X -u user:userpass GET http://onapp.test/settings/hypervisors/1.xml

JSON Request Example

curl -i -X -u user:userpass GET http://onapp.test/settings/hypervisors/1.json

XML Output Example

<hypervisor>
  <allow_unsafe_assigned_interrupts type="boolean">false</allow_unsafe_assigned_interrupts>
  <backup type="boolean">false</backup>
  <backup_ip_address></backup_ip_address>
  <blocked type="boolean">false</blocked>
  <built type="boolean">false</built>
  <called_in_at nil="true"/>
  <connection_options nil="true"/>
  <cpu_cores type="integer">4</cpu_cores>
  <cpu_flags type="array">...</cpu_flags>
  <cpu_idle type="integer">93</cpu_idle>
  <cpu_mhz>1995</cpu_mhz>
  <cpu_units type="integer">3000</cpu_units>
  <cpus type="integer">4</cpus>
  <created_at type="datetime">2014-01-14T15:14:43+03:00</created_at>
  <custom_config nil="true"/>
  <disable_failover type="boolean">false</disable_failover>
  <disks_per_storage_controller type="integer">4</disks_per_storage_controller>
  <distro>centos6</distro>
  <enabled type="boolean">true</enabled>
  <failover_recipe_id>get_if_config</failover_recipe_id>
  <failure_count type="integer">0</failure_count>
  <format_disks type="boolean">false</format_disks>
  <free_mem type="integer">1206</free_mem>
  <host nil="true"/>
  <host_id nil="true"/>
  <hypervisor_group_id type="integer">1</hypervisor_group_id>
  <hypervisor_type>kvm</hypervisor_type>
  <id type="integer">1</id>
  <infiniband_identifier nil="true"/>
  <ip_address>109.123.91.38</ip_address>
  <label>KVM C6 HV1</label>
  <list_of_logical_volumes>...</list_of_logical_volumes>
  <list_of_volume_groups>...</list_of_volume_groups>
  <list_of_zombie_domains></list_of_zombie_domains>
  <locked type="boolean">false</locked>
  <mac nil="true"/>
  <machine>x86_64</machine>
  <mem_info type="integer">0</mem_info>
  <mtu type="integer">1500</mtu>
  <online type="boolean">true</online>
  <ovs nil="true"/>
  <passthrough_disks type="boolean">false</passthrough_disks>
  <power_cycle_command>echo "I want to reboot! I'am LAZY!"</power_cycle_command>
  <release>2.6.32-431.5.1.el6.x86_64</release>
  <segregation_os_type>any</segregation_os_type>
  <server_type>virtual</server_type>
  <spare type="boolean">false</spare>
  <storage_controller_memory_size type="integer">640</storage_controller_memory_size>
  <threads_per_core type="integer">1</threads_per_core>
  <total_mem type="integer">15936</total_mem>
  <total_zombie_mem type="integer">0</total_zombie_mem>
  <updated_at type="datetime">2014-08-06T15:17:16+03:00</updated_at>
  <uptime> 13:16:42 up 41 days, 23:20,  1 user,  load average: 0.04, 0.05, 0.06</uptime>
  <cpu_model>Nehalem</cpu_model>
  <total_cpus type="integer">4</total_cpus>
  <free_memory type="integer">612</free_memory>
  <used_cpu_resources type="integer">880</used_cpu_resources>
  <total_memory type="integer">15936</total_memory>
  <cpu_cores type="integer">4</cpu_cores>
  <free_disk_space>
    <onapp-fv4zl7t2h5wbeq type="integer">24</onapp-fv4zl7t2h5wbeq>
  </free_disk_space>
  <memory_allocated_by_running_vms type="integer">10460</memory_allocated_by_running_vms>
  <total_memory_allocated_by_vms type="integer">13788</total_memory_allocated_by_vms>
  <storage>
    <disks type="array"/>
    <nics type="array"/>
    <custom_pcis type="array"/>
  </storage>
</hypervisor>

Where:

hypervisor – an array of compute resource details

backup - true, if the CloudBoot compute resource is used as a backup server. This parameter is for CloudBoot compute resources only. For other compute resource types the backup value is 0.

backup_ip_address - provisioning network IP address

blocked - true if the compute resource is blocked, otherwise false

built - true if the compute resource is built, otherwise false

called_in_at –  the date when the compute resource was called in the [YYYY][MM][DD]T[hh][mm][ss]Z format

connection_options - an array of the following vCenter cluster parameters:

  • login - vCenter login
  • password - vCenter password
  • cluster_name - vCenter cluster name
  • distributed_virtual_switch_name - distributed virtual switch label

cpu_flags - an array of CPU flags of the compute resource for which the extended CPU configuration is enabled

cpu_idle - time of CPU delay

cpu_mhz - CPU operating frequency

created_at – the date in the [YYYY][MM][DD]T[hh][mm][ss]Z format 

custom_config - custom commands that run when the compute resource is booted

disable_failover true if compute resource failover is disabled, otherwise false.

distro - distributive label

enabled - true, if the compute resource is enabled, otherwise false

failover_recipe_id - the ID of a recipe to run before the failover process

failure_countthe number of failures

format_disks - true, if the compute resource's disks are formatted during creation, otherwise false

free_mem - free compute resource memory

host - host label

hypervisor_group_id - the ID of a compute zone to which this compute resource is attached

hypervisor_type - the compute resource type

id - the compute resource ID

ip_address – the compute resource IP address

label - the compute resource label

list_of_logical_volumes - an array of compute resource logical volumes

list_of_volume_groups - an array of compute resource volume groups

list_of_zombie_domains - an array of zombie virtual servers

locked - true if the compute resource is locked, otherwise false

mac - compute resource MAC address

machine - architecture type

mem_info - Xen compute resource Dom0 size. This parameter is for Xen compute resources only. For other compute resource types the mem_info value is 0.

mtu - maximum transferrable unit value. You can set the frame size from 1500 to 9000 bytes.

The maximum transportation unit (MTU) is the maximum size of a unit that can be transmitted transferred via ethernet traffic. Any data that exceed the specified MTU value will be divided into smaller units before being transferred. Utilization of jumbo frames allows to reduce increase throughput and increase CPU utilization during large size file transfers.

online - true if online, otherwise false

ovs - whether the OpenvSwitch is enabled or not. Redundant parameter.

passthrough_disks - true, if the disks are passed through to the storage nodes, otherwise 0

release - compute resource kernel version

segregation_os_type - an operating system type (can be Any OS, Windows only or Non-Windows)

server_type - server type:

  • virtual  
  • smart 
  • baremetal

spare – true if no VSs are assigned, otherwise false

storage_channel - storage channel for the communication

threads_per_core - compute resource core and CPU ratio. For example, if threads_per_core = 2, compute resource with 2 cores will have 4 CPUs.

total_mem - total compute resource memory

total_zombie_mem - memory space occupied by zombie disks

updated_at – the date when the record was made in the DB in the [YYYY][MM][DD]T[hh][mm][ss]Z format

uptime - compute resource uptime value; shows how long the compute resource is online

vmware_total_cpu_cores - the total number of VMware compute resource CPU cores

total_cpus – the number of virtual cores

free_memoryfree RAM (MB) of compute resource. It is calculated as follows: total memory - memory overhead* - zombie VSs - sum of all VSs

used_cpu_resources – the percentage of used CPU resources

total_memorytotal RAM (MB) of compute resource

cpu_cores – the number of physical cores per compute resource

free_disk_space - free compute resource disk space in GB

memory_allocated_by_running_vms - the compute resource RAM in MB allocated to the virtual servers, which are currently running on this compute resource

total_memory_allocated_by_vms - the compute resource RAM in MB allocated to all virtual servers of this compute resource

cpu_units - the amount of cpu units assigned to a compute resource

allow_unsafe_assigned_interrupts - true if the compute resource does not support the interrupt remapping, otherwise set false.

With allow_unsafe_assigned_interrupts parameter enabled, smart server is exposed to the PCI passthrough MSI trap injection.

cpus - a parameter duplicating total_cpus; reserved for future use

disks_per_storage_controller - the number of disks per controller virtual server. You can set form 1 to 4 disks. By default, the controller virtual server is created per 4 disk drives

infiniband_identifier - the identifier of the InfiniBand interface. For CloudBoot Compute resources only.

power_cycle_command - arbitrary command string to be executed by IPMI from the CP server. This parameter is for CloudBoot Compute resources.

cpu_model - a CPU model of the compute resource for which the extended CPU configuration (flags) is enabled


*Memory Overhead for Compute Resources

Each compute resource has a reserved memory overhead value. This value is pre-configured by default in info_hub.yml.

For XEN compute resource:
memory_overhead = 1536

For KVM compute resource:

memory_overhead = 400 + 0,024 * total_memory


Page History

v.5.9

  • added the following parameters:
    • segregation_os_type
    • failover_recipe_id 

v.5.7

  • added the cpu_model parameter. 

v. 4.2

  • added cpu_flags parameter

v. 3.3

  • added cpu_units parameter

v. 3.1

  • added the following parameters:
    • cpu_idle
    • cpu_mhz
    • list_of_logical_volumes
    • list_of_volume_groups
    • list_of_zombie_domains
    • machine
    • server_type
    • storage_channel
    • total_mem
    • total_zombie_mem
    • free_disk_space
    • free_mem
    • free_memory