[ovirt-users] Ovirt api function

Juan Hernandez jhernand at redhat.com
Thu Aug 21 07:25:29 EDT 2014


On 08/20/2014 12:42 PM, Shanil S wrote:
> Hi,
> 
> 
> I would like to create the following functions using the ovirt api
> 
> 1. Rebuild VM

What do you exactly mean by "rebuild vm"?

> 2. Restore the screenthots of one vm to another vm

What you can do is create a new VM from an existing snapshot, something
like this:

#!/bin/sh -ex

url="https://ovirt.example.com/ovirt-engine/api"
user="admin at internal"
password="******"

curl \
--verbose \
--insecure \
--request POST \
--header "Accept: application/xml" \
--header "Content-Type: application/xml" \
--user "${user}:${password}" \
--data "
<vm>
  <name>myclone</name>
  <cluster id='00000001-0001-0001-0001-000000000171'/>
  <snapshots>
    <snapshot id='f09a98fd-2c7e-40eb-a9ae-6b7f86412bb0'/>
  </snapshots>
</vm>
" \
"${url}/vms"

You need to modify that script with your URL, user name, password,
cluster and snapshot id.

> 3. Display cpu,network etc usages
> 

The statistics are available in the "statistics" sub-resource. For
example, if you want to get the statistics of a host you can do the
following:

#!/bin/sh -ex

url="https://ovirt.example.com/ovirt-engine/api"
user="admin at internal"
password="******"

curl \
--verbose \
--insecure \
--request GET \
--header "Accept: application/xml" \
--user "${user}:${password}" \
"${url}/hosts/40cc4c33-2560-4516-b028-1d59638139c3/statistics"

There you will find different statistics, like "memory.total",
"memory.used", etc. Take a look. Once you know what statistic you want
you can get its details like this:

curl \
--verbose \
--insecure \
--request GET \
--header "Accept: application/xml" \
--user "${user}:${password}" \
"${url}/hosts/40cc4c33-2560-4516-b028-1d59638139c3/statistics/7816602b-c05c-3db7-a4da-3769f7ad8896"

This can be cumbersome to do with a shell script, so you may want to use
the Python or Java SDKs, or just use directly the ovirt-shell:

$ ovirt-shell --insecure
URL: https://ovirt.example.com/ovirt-engine/api
Username: admin at internal
Password: ******
[oVirt shell (connected)]# show statistic memory.total --host-identifier
myhost
id                : 7816602b-c05c-3db7-a4da-3769f7ad8896
name              : memory.total
description       : Total memory
host-id           : 40cc4c33-2560-4516-b028-1d59638139c3
type              : GAUGE
unit              : BYTES
values-type       : INTEGER
values-value-datum: 2099249152

> I couldn't find out any direct api method to do the above, Is it
> possible to do these operations using api ? If anyone knows it please
> help me to sort out it.
> 
> 
> 
> -- 
> Regards
> Shanil

-- 
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.


More information about the Users mailing list