
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:

On 08/22/2014 06:35 AM, Shanil S wrote:
The usual process to do this is the following: 1. Manually, using the GUI, you create a VM and install the OS. 2. Manually seal the VM for use as a template. The idea is to remove from the VM any configuration that may create a conflict when multiple VMs are created from the template. There are different ways to do this, depending on the OS that you are using. Here you can find some documentation: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtualizat... 3. Manually shut it down and create a template from it. 4. Manually remove the VM (you can keep it, but it isn't needed). All these steps are usually done manually, as it isn't usually worth automating them, but if you wish you can also do them with the API. Once you have the template you can create multiple VMs from it, and for this you will probably use the API. For example, assuming that you know the ids of the cluster and the template: #!/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>mynewvm</name> <cluster id='5f840556-81de-427d-8d30-a06cdb15b7f9'/> <template id='f9eb10b8-6f94-469f-a8a6-660c41b103d7'/> </vm> " \ "${url}/vms" Or you may want to use the Python SDK: #!/usr/bin/python import ovirtsdk.api import ovirtsdk.xml api = ovirtsdk.api.API( url="https://ovirt.example.com/ovirt-engine/api", username="admin@internal", password="******", insecure=True ) cluster = ovirtsdk.xml.params.Cluster(id="5f840556-81de-427d-8d30-a06cdb15b7f9") template = ovirtsdk.xml.params.Template(id="f9eb10b8-6f94-469f-a8a6-660c41b103d7") vm = ovirtsdk.xml.params.VM() vm.set_name("mynewvm") vm.set_cluster(cluster) vm.set_template(template) api.vms.add(vm) api.disconnect() There is also a Java SDK, if you prefer it. In this scenario you will usually want to change the host name or other properties of the new VM. That you can do with cloud-init (for Linux) or Sysprep (for Windows). That can also be automated with the api.
The RESTAPI doesn't provide this kind of accumulated statistics. I'd suggest to explore the oVirt reports DWH and reports applications: http://www.ovirt.org/Ovirt_DWH http://www.ovirt.org/Ovirt_Reports
-- 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.
participants (2)
-
Juan Hernandez
-
Shanil S