Public bug reported: Description =========== When suspending a guest with a vGPU instance attached to it, Nova asks libvirt to detach that device, since the guest can't be suspended otherwise. When resuming that guest, however, it comes back without the vGPU instance previously attached to it.
This happens because, at the time the feature was developed, libvirt did not support hot unplugging mediated devices [1]. That limitation has been lifted since then, and the resume operation needs to be modified in order to reattach the mediated device (vGPU instance) that was detached on suspend. [1] https://opendev.org/openstack/nova/src/branch/master/nova/virt/libvirt/driver.py#L8003 Steps to reproduce ================== 1 - Set up the environment in order to provide vGPU capabilities to Nova; 2 - Spawn an instance using a flavor that asks for a vGPU; 3 - Suspend the instance; 4 - Resume the instance; Expected result =============== After resuming the instance, it should still have a vGPU instance attached. Actual result ============= The instance comes back without a vGPU attached. Environment =========== - Tested on StarlingX OpenStack - Ussuri; master code still does not provide a fix. - Libvirt v4.7.0 + KVM. ** Affects: nova Importance: Undecided Assignee: Gustavo Santos (gooshtavow) Status: In Progress ** Changed in: nova Assignee: (unassigned) => Gustavo Santos (gooshtavow) ** Changed in: nova Status: New => In Progress -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1948705 Title: vGPU instance is not reattached to guest on resume Status in OpenStack Compute (nova): In Progress Bug description: Description =========== When suspending a guest with a vGPU instance attached to it, Nova asks libvirt to detach that device, since the guest can't be suspended otherwise. When resuming that guest, however, it comes back without the vGPU instance previously attached to it. This happens because, at the time the feature was developed, libvirt did not support hot unplugging mediated devices [1]. That limitation has been lifted since then, and the resume operation needs to be modified in order to reattach the mediated device (vGPU instance) that was detached on suspend. [1] https://opendev.org/openstack/nova/src/branch/master/nova/virt/libvirt/driver.py#L8003 Steps to reproduce ================== 1 - Set up the environment in order to provide vGPU capabilities to Nova; 2 - Spawn an instance using a flavor that asks for a vGPU; 3 - Suspend the instance; 4 - Resume the instance; Expected result =============== After resuming the instance, it should still have a vGPU instance attached. Actual result ============= The instance comes back without a vGPU attached. Environment =========== - Tested on StarlingX OpenStack - Ussuri; master code still does not provide a fix. - Libvirt v4.7.0 + KVM. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1948705/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

