manipulating VM configuration via Python SDK disables serial console

Hello, I have hit what seems to be a bug in oVIrt Python SDK, when deploying OpenStack 14 (Rocky) in configuration virtualized controllers, oVirt VMs; Ironic oVirt driver is used in this case, which uses oVirt Python SDK to talk to manipulate VMs. The driver seem to work in such a way that at certain stages it retrieves a VM configuration and updates it (e.g. changes the boot device). However during such update some other changes in configuration of the VM happen: e.g. if the VM had VirtIO serial console enabled, after the update that serial console becomes disabled. Perhaps when a VMs config is updated some XML fields of its configuration are not written back as they should be? We have noticed that since the OpenStack deployment fails on controllers if it cannot output to the serial console. I would appreciate any help/workaround for this issue. Thanks, Denis

Hi Denis, your problem seems to be related to this reported bug: https://bugzilla.redhat.com/show_bug.cgi?id=1658101 The problem is that values for the serial console and affinity labels are reset to defaults when using REST API for updating VM. I am working on a fix but meanwhile you probably need to set correct values for that fields every time you're updating VMs. Regards, Lucia On Thu, May 9, 2019 at 12:55 PM Denis Karpov <denis.karpov@gmail.com> wrote:
Hello,
I have hit what seems to be a bug in oVIrt Python SDK, when deploying OpenStack 14 (Rocky) in configuration virtualized controllers, oVirt VMs; Ironic oVirt driver is used in this case, which uses oVirt Python SDK to talk to manipulate VMs.
The driver seem to work in such a way that at certain stages it retrieves a VM configuration and updates it (e.g. changes the boot device). However during such update some other changes in configuration of the VM happen: e.g. if the VM had VirtIO serial console enabled, after the update that serial console becomes disabled. Perhaps when a VMs config is updated some XML fields of its configuration are not written back as they should be?
We have noticed that since the OpenStack deployment fails on controllers if it cannot output to the serial console. I would appreciate any help/workaround for this issue.
Thanks, Denis _______________________________________________ Devel mailing list -- devel@ovirt.org To unsubscribe send an email to devel-leave@ovirt.org Privacy Statement: https://www.ovirt.org/site/privacy-policy/ oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/devel@ovirt.org/message/YYZEWY7SWZUUHK...

Thank you! Adding this solved the issue. BR, Denis diff --git a/ironic_staging_drivers/ovirt/ovirt.py b/ironic_staging_drivers/ovirt/ovirt.py index c27accc..86eca84 100644 --- a/ironic_staging_drivers/ovirt/ovirt.py +++ b/ironic_staging_drivers/ovirt/ovirt.py @@ -327,7 +327,8 @@ class OVirtManagement(base.ManagementInterface): try: boot = otypes.Boot(devices=[otypes.BootDevice(boot_dev)]) bootos = otypes.OperatingSystem(boot=boot) - vm.update(otypes.Vm(os=bootos)) + console = otypes.Console(True) + update(otypes.Vm(os=bootos, console=console)) except sdk.Error as e: LOG.error("Setting boot device failed for node %(node_id)s " "with error: %(error)s", On Thu, May 9, 2019 at 2:48 PM Lucia Jelinkova <ljelinko@redhat.com> wrote:
Hi Denis,
your problem seems to be related to this reported bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1658101
The problem is that values for the serial console and affinity labels are reset to defaults when using REST API for updating VM. I am working on a fix but meanwhile you probably need to set correct values for that fields every time you're updating VMs.
Regards,
Lucia
On Thu, May 9, 2019 at 12:55 PM Denis Karpov <denis.karpov@gmail.com> wrote:
Hello,
I have hit what seems to be a bug in oVIrt Python SDK, when deploying OpenStack 14 (Rocky) in configuration virtualized controllers, oVirt VMs; Ironic oVirt driver is used in this case, which uses oVirt Python SDK to talk to manipulate VMs.
The driver seem to work in such a way that at certain stages it retrieves a VM configuration and updates it (e.g. changes the boot device). However during such update some other changes in configuration of the VM happen: e.g. if the VM had VirtIO serial console enabled, after the update that serial console becomes disabled. Perhaps when a VMs config is updated some XML fields of its configuration are not written back as they should be?
We have noticed that since the OpenStack deployment fails on controllers if it cannot output to the serial console. I would appreciate any help/workaround for this issue.
Thanks, Denis _______________________________________________ Devel mailing list -- devel@ovirt.org To unsubscribe send an email to devel-leave@ovirt.org Privacy Statement: https://www.ovirt.org/site/privacy-policy/ oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/devel@ovirt.org/message/YYZEWY7SWZUUHK...
_______________________________________________ Devel mailing list -- devel@ovirt.org To unsubscribe send an email to devel-leave@ovirt.org Privacy Statement: https://www.ovirt.org/site/privacy-policy/ oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/ List Archives: https://lists.ovirt.org/archives/list/devel@ovirt.org/message/EXS67XCHOAATC6...
participants (2)
-
Denis Karpov
-
Lucia Jelinkova