On 04/19/2017 01:27 PM, TranceWorldLogic . wrote:
Hi,
It is working fine.
But I want to disable migration policy. It didn't solve my purpose.
What else I have to do to disable migration ?
Not sure what exactly you want to achieve. Can you elaborate a bit?
If in addition to pin the VM to a host you also want to disable
migration, you can use the Vm.placement_policy.affinity attribute:
vm = vms_service.add(
vm=types.Vm(
...
placement_policy=types.VmPlacementPolicy(
hosts=[
types.Host(name='host-01')
],
affinity=types.VmAffinity.PINNED
)
)
)
Martin, I think that you can explain better than me what are the
meanings of the values of the VmAffinity enum, and what is it
relationship to pinning. Would be nice to have that documented in the
specification of the API.
On Wed, Apr 19, 2017 at 1:36 PM, TranceWorldLogic .
<tranceworldlogic(a)gmail.com <mailto:tranceworldlogic@gmail.com>> wrote:
Thanks will try and let you know,
~Rohit
On Wed, Apr 19, 2017 at 1:18 PM, Juan Hernández <jhernand(a)redhat.com
<mailto:jhernand@redhat.com>> wrote:
On 04/19/2017 09:34 AM, Juan Hernández wrote:
> 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/pl...
<
http://ovirt.github.io/ovirt-engine-api-model/4.1/#types/vm/attributes/pl...
>
> 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')
> ]
> )
> )
> )
>
Sorry, the name of the type is incorrect, should be
'types.VmPlacementPolicy'. So the complete example should be
like this:
vm = vms_service.add(
vm=types.Vm(
...
placement_policy=types.VmPlacementPolicy(
hosts=[
types.Host(name='host-01')
]
)
)
)