[Users] python-sdk : how to modify a vm to "Run on" a "Specific" host and set "Migration Options

karthik S karthik.lubdup at gmail.com
Tue Dec 31 00:16:21 UTC 2013


Hi Michael Pasternak,

Thanks for the info.

I was able to modify the VM as :

        vm_placement_params = params.VmPlacementPolicy(host =
params.VM(name=rhev_host_name),  affinity = "pinned")
        vm_obj.set_placement_policy(vm_placement_params)
        vm_obj.update()


Thanks much !!

thanks,
Karthik






On Sat, Dec 28, 2013 at 11:51 PM, Michael Pasternak <mpastern at redhat.com>wrote:

>
> Hi,
>
> take a look at vm.start.__doc__ it should have all the answers you're
> looking for,
> as about migrate options, these two [1] are responsible for pinning vm to
> specific host,
> possible options for the 'affinity' can be seen at <vm_affinities> [2].
>
> [1]
>
> [@param action.vm.placement_policy.host.id|name: string]
> [@param action.vm.placement_policy.affinity: string]
>
> [2]
>
> http[s]://host[:port]/api/capabilities
>
>
> On 12/27/2013 11:54 PM, karthik S wrote:
> > Dear Users,
> >
> > I am karthik, based in Mountain View, CA. I have been using python
> ovirtsdk for QA Automation tests for RHEV-M for past two months. My
> knowledge on ovirtsdk is intermittent
> > at this stage.
> >
> > I want to do the below actions that we do on rhev-M using python
> ovirtsdk.
> >
> > On, RHEV-M UI
> > ============
> > 1) right click a offline VM >> Edit >> Host >> "Run On:" >> Specific >.
> choose a hostname
> > 2) right click a offline VM >> Edit >> Host >>  "Migration Options:" >>
> "Do not allow migration"
> >
> > python Code:
> > ==========
> >
> > 1) The VM was imported from export domain to my storage_domain using the
> code
> >
> >
> >     def import_vm(self, source_vm_name, dest_vm_name,
> storage_domain_name, rhev_host_name=None, cluster_name="Default",
>  async=False):
> >         """
> >             Import VM From a Export domain into your storage domain
> >         """
> >         timeoutSec=1800
> >         pollInterval=2
> >
> >         exportStorageDomain =
> self.api.storagedomains.list(type_="export")[0]
> >         actionParams = params.Action(
> >
>  storage_domain=self.api.storagedomains.get(storage_domain_name),
> >
>  cluster=self.api.clusters.get("Default"),
> >                                      clone=1,
> >                                      vm = params.VM (name=dest_vm_name,
> >
>  snapshots=params.Snapshots(collapse_snapshots=1),
> >                                                      disks =
> params.Disks(clone = 1),
> >                                                      host =
> params.Host(name=rhev_host_name)
> >                                     ))
> >
> >
> exportStorageDomain.vms.get(source_vm_name).import_vm(actionParams)
> >         start = time.time()
> >         while self.api.vms.get(dest_vm_name).status.state != 'down':
> >                 if time.time() - start > timeoutSec:
> >                     raise Exception("Timed out (%s) waiting for %s to
> obtain down status" % (timeoutSec, vm_name))
> >                 time.sleep(pollInterval)
> >
> >         return self.api.vms.get(name=dest_vm_name)[0]
> >
> >
> > Issue :  Upon import, this method did not set the "Run as" to the
> specified host  but "Run as" was set to "Any host in the cluster".  Am I
> missing something ?
> >
> > 2) Secondly, I tried modifying the VM "Run as" hostname with the below
> code
> >
> >>>> api = API (url = "xx" , username ="XX", pasword ="XX", ca_file = "ca")
> >>>> vm_obj = api.vms.list(name="test_vm_101")[0]
> >>>> vm_obj.set_host="rhev1"
> >>>> vm_obj.update()
> >
> > This did not help either. Seems I am missing something..
> >
> >
> > 3) finally how to set " "Migration Options" ?
> >
> >
> > Your help would appreciated and will help me to get greater
> understanding of the SDK itself.
> >
> > Thanks,
> > Karthik
> >
> >
> >
> >
> > _______________________________________________
> > Users mailing list
> > Users at ovirt.org
> > http://lists.ovirt.org/mailman/listinfo/users
> >
>
>
> --
>
> Michael Pasternak
> RedHat, ENG-Virtualization R&D
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20131230/f53271a8/attachment-0001.html>


More information about the Users mailing list