Hi,

VM rebuild means...Rebuild the VM with the same existing configuration...just erase the Vdisk and install again (like Fresh install).
We want to rebuild the VM with the same existing OS template...also it will be good if user can select other OS template also for the rebuild purpose...
With CD_ISO it require the manual installation...we don't want the manual installation...we looking for a way to rebuild the VM with OS templates....
Is there any API method to achieve this ??

Regarding the statitics report, is there any API method to fetch the monthly and weekly usages report ?, we are planning to create a usage chart by using these values.

-- 
Regards
Shanil


On Fri, Aug 22, 2014 at 9:46 AM, OvirtAndKvm <oVirt@goproject.info> wrote:
Do you mean like; attach a new OS install ISO CD to the VM, change the VM's boot order to CD first, reboot the VM and boot up on the CD and install the new OS, selecting to reformat over the old installed OS  ?

or am I miss understanding your question ?



At Friday, 22-08-2014 on 13:58 Shanil S wrote:
Hi Juan,

Thanks for your replies..

Regarding the rebuild VM, Is that any method to reinstall the os on the VM without remove it or create a new one?


-- 
Regards
Shanil


On Thu, Aug 21, 2014 at 4:55 PM, Juan Hernandez <jhernand@redhat.com> wrote:
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@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@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@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.