[ovirt-users] [Python-SDK][Ovirt-4.0] Create VM on specific Host.

Juan Hernández jhernand at redhat.com
Wed Apr 19 07:34:21 UTC 2017


On 04/19/2017 08:41 AM, TranceWorldLogic . wrote:
> Hi,
> 
> I was trying to create VM on specific HOST using python sdk as shown below.
> 
> ------ Code -------------------
> vm = vms_service.add(  ....
>                         host = types.Host(
>                             name = "host-01",
>                         ),
>           )
> ------ End Code -------------------
> 
> It created VM successfully, but when I see in ovirt GUI I saw that VM is
> not bonded with specific host.
> 
> Ovirt GUI:
> Virtual Machines -> click on VM -> "Edit" button -> In advance menu ->
> "Host" tab
> Start Running On:
>    o  Any Host in Cluster  <== This option got selected
>    o  Specific Host(s)   <== *I want this option to select.*
> 
> Please help me to bind VM to specific Host via Python SDK
> 

The Vm.host attribute is used only to indicate in what host is the VM
currently running.

To pin the VM to a set of hosts you have to use Vm.placement_policy, as
described here:


http://ovirt.github.io/ovirt-engine-api-model/4.1/#types/vm/attributes/placement_policy

With the Python SDK it should be something like this:

  vm = vms_service.add(
    vm=types.Vm(
      ...
      placement_policy=types.PlacementPolicy(
        hosts=[
          types.Host(name='host-01')
        ]
      )
    )
  )


More information about the Users mailing list