How do I activate a hot-plugged disk (in v3 Python SDK) ?

After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True) But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI). TIA, Y.

On 25 July 2016 at 16:13, Yaniv Kaul <ykaul@redhat.com> wrote:
After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True)
But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI).
The same approach pretty much works for me: (v3 sdk vs v4.x engine) https://code.engineering.redhat.com/gerrit/#/c/79691/1/fabric_ci/do/ovirt/vm... -- Barak Korren bkorren@redhat.com RHEV-CI Team

On 25 July 2016 at 16:23, Barak Korren <bkorren@redhat.com> wrote:
On 25 July 2016 at 16:13, Yaniv Kaul <ykaul@redhat.com> wrote:
After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True)
But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI).
The same approach pretty much works for me: (v3 sdk vs v4.x engine)
https://code.engineering.redhat.com/gerrit/#/c/79691/1/fabric_ci/do/ovirt/vm...
A couple of things to note though: 1. A disk's name is not unique, so not good for looking up by 2. "vm.disks.get(id=foo)" doe not seem to work right ATM as far as looking at 'disk.active' goes so I used: "vm.disks.list(id=foo)[0]" -- Barak Korren bkorren@redhat.com RHEV-CI Team

What's the VM status when you try to activate the disk? On Mon, Jul 25, 2016 at 4:23 PM, Barak Korren <bkorren@redhat.com> wrote:
On 25 July 2016 at 16:13, Yaniv Kaul <ykaul@redhat.com> wrote:
After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True)
But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI).
The same approach pretty much works for me: (v3 sdk vs v4.x engine)
https://code.engineering.redhat.com/gerrit/#/c/79691/1/fabric_ci/do/ovirt/vm...
-- Barak Korren bkorren@redhat.com RHEV-CI Team _______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

You actually have to run method 'activate()'[1] on VM disk. So it will look like this: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).activate() [1] https://gerrit.ovirt.org/gitweb?p=ovirt-engine-sdk.git;a=blob;f=src/ovirtsdk... On 07/25/2016 03:13 PM, Yaniv Kaul wrote:
After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True)
But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI).
TIA, Y.
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Mon, Jul 25, 2016 at 4:36 PM, Ondra Machacek <omachace@redhat.com> wrote:
You actually have to run method 'activate()'[1] on VM disk.
So it will look like this:
api.vms.get(VM0_NAME).disks.get(DISK1_NAME).activate()
[1] https://gerrit.ovirt.org/gitweb?p=ovirt-engine-sdk.git;a=blob;f=src/ovirtsdk...
Thanks. I've ended up adding 'active=True' to the disk when adding it - and it seems to do the same. Is that correct? Y.
On 07/25/2016 03:13 PM, Yaniv Kaul wrote:
After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True)
But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI).
TIA, Y.
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On 07/26/2016 08:53 AM, Yaniv Kaul wrote:
On Mon, Jul 25, 2016 at 4:36 PM, Ondra Machacek <omachace@redhat.com <mailto:omachace@redhat.com>> wrote:
You actually have to run method 'activate()'[1] on VM disk.
So it will look like this:
api.vms.get(VM0_NAME).disks.get(DISK1_NAME).activate()
[1] https://gerrit.ovirt.org/gitweb?p=ovirt-engine-sdk.git;a=blob;f=src/ovirtsdk...
Thanks. I've ended up adding 'active=True' to the disk when adding it - and it seems to do the same. Is that correct? Y.
Yes, it is correct. Note also that in general setting a property of an object in the SDK doesn't do anything, you need to call the "update" method: disk = api.vms.get(VM0_NAME).disks.get(DISK1_NAME) disk.set_active(true) disk.update()
On 07/25/2016 03:13 PM, Yaniv Kaul wrote:
After successfully attaching a disk and verifying its status is in 'ok', I've tried: api.vms.get(VM0_NAME).disks.get(DISK1_NAME).set_active(True)
But it doesn't really activate it. What's the correct way to activate it? (It works well via the UI).
TIA, Y.
-- 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 (5)
-
Barak Korren
-
Elad Ben Aharon
-
Juan Hernández
-
Ondra Machacek
-
Yaniv Kaul