Sorry, the name of the type is incorrect, should beOn 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/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')
> ]
> )
> )
> )
>
'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')
]
)
)
)