Activity log for bug #1732428

Date Who What changed Old value New value Message
2017-11-15 12:37:32 Kalle Happonen bug added bug
2017-11-15 12:45:52 Anton Aksola bug added subscriber Anton Aksola
2017-11-15 12:53:29 Kalle Happonen description If you unshelve instances on compute nodes that use qcow2 backed instances, the instance image_ref will point to the original image the VM was lauched from. The base file for /var/lib/nova/instances/uuid/disk will be the snapshot which was used for shelving. This causes errors with e.g. resizes and migrations. Steps to reproduce/what happens: Have at least 2 compute nodes configured with the standard qcow2 backed images. 1) Launch an instance. 2) Shelve the instance. In the background this should in practice create a flattened snapshot of the VM. 3) Unshelve the instance. The instance will boot on one of the compute nodes. The /var/lib/nova/instances/uuid/disk should now have the snapshot as its base file. The instance metadata still claims that the image_ref is the original image which the VM was launched from, not the snapshot. 4) Resize/migrate the instance. /var/lib/nova/instances/uuid/disk should be copied to the other compute node. If you resize to an image with the same size disk, go to 5), if you resize to flavor with a larger disk, it probably causes an error here when it tries to grow the disk. 5a) If the instance was running: When nova tries to start the VM, it will copy the original base image to the new compute node, not the snapshot base image. The instance can't boot, since it doesn't find its actual base file, and it goes to an ERROR state. 5b) If the instance was shutdown: You can confirm the resize, but the VM won't start. The snapshot base file may be removed from the source machine causing dataloss. What should have happened: Either the instance image_ref should be updated to the snapshot image, or the snapshot image should be rebased to the original image, or is should force a raw only image after unshelve, or something else you smart people come up with. Environment: RDO Neutron with KVM rpm -qa |grep nova openstack-nova-common-14.0.6-1.el7.noarch python2-novaclient-6.0.1-1.el7.noarch python-nova-14.0.6-1.el7.noarch openstack-nova-compute-14.0.6-1.el7.noarch If you unshelve instances on compute nodes that use qcow2 backed instances, the instance image_ref will point to the original image the VM was lauched from. The base file for /var/lib/nova/instances/uuid/disk will be the snapshot which was used for shelving. This causes errors with e.g. resizes and migrations. Steps to reproduce/what happens: Have at least 2 compute nodes configured with the standard qcow2 backed images. 1) Launch an instance. 2) Shelve the instance. In the background this should in practice create a flattened snapshot of the VM. 3) Unshelve the instance. The instance will boot on one of the compute nodes. The /var/lib/nova/instances/uuid/disk should now have the snapshot as its base file. The instance metadata still claims that the image_ref is the original image which the VM was launched from, not the snapshot. 4) Resize/migrate the instance. /var/lib/nova/instances/uuid/disk should be copied to the other compute node. If you resize to an image with the same size disk, go to 5), if you resize to flavor with a larger disk, it probably causes an error here when it tries to grow the disk. 5a) If the instance was running: When nova tries to start the VM, it will copy the original base image to the new compute node, not the snapshot base image. The instance can't boot, since it doesn't find its actual base file, and it goes to an ERROR state. 5b) If the instance was shutdown: You can confirm the resize, but the VM won't start. The snapshot base file may be removed from the source machine causing dataloss. What should have happened: Either the instance image_ref should be updated to the snapshot image, or the snapshot image should be rebased to the original image, or is should force a raw only image after unshelve, or something else you smart people come up with. Environment: RDO Neutron with KVM rpm -qa |grep nova openstack-nova-common-14.0.6-1.el7.noarch python2-novaclient-6.0.1-1.el7.noarch python-nova-14.0.6-1.el7.noarch openstack-nova-compute-14.0.6-1.el7.noarch Also a big thank you to Toni Peltonen and Anton Aksola from nebula.fi for discovering and debugging this issue.
2017-12-01 16:44:12 Matt Riedemann tags shelve
2017-12-01 17:05:13 Matt Riedemann nova: assignee Matt Riedemann (mriedem)
2017-12-01 17:05:15 Matt Riedemann nova: status New Triaged
2017-12-01 17:05:18 Matt Riedemann nova: importance Undecided Medium
2017-12-01 17:05:22 Matt Riedemann nominated for series nova/ocata
2017-12-01 17:05:22 Matt Riedemann bug task added nova/ocata
2017-12-01 17:05:22 Matt Riedemann nominated for series nova/pike
2017-12-01 17:05:22 Matt Riedemann bug task added nova/pike
2017-12-01 17:05:44 Matt Riedemann nova/ocata: status New Confirmed
2017-12-01 17:05:49 Matt Riedemann nova/pike: importance Undecided Medium
2017-12-01 17:05:51 Matt Riedemann nova/pike: status New Confirmed
2017-12-01 17:05:53 Matt Riedemann nova/ocata: importance Undecided Medium
2017-12-01 20:54:17 OpenStack Infra nova: status Triaged In Progress
2018-07-12 12:14:55 Jukka Nousiainen bug added subscriber Jukka Nousiainen
2018-08-29 20:42:26 Matt Riedemann nova: assignee Matt Riedemann (mriedem)
2018-08-29 20:42:29 Matt Riedemann nova: status In Progress Confirmed
2018-09-13 20:27:28 jichenjc bug added subscriber jichenjc
2018-12-18 09:10:11 Dominique Poulain bug added subscriber Dominique Poulain
2019-05-28 18:31:01 Bartłomiej Daca bug added subscriber Bartłomiej Daca
2019-11-26 13:42:02 OpenStack Infra nova: status Confirmed In Progress
2019-11-26 13:42:02 OpenStack Infra nova: assignee Alexandre arents (aarents)
2020-08-17 15:30:10 OpenStack Infra nova: status In Progress Fix Released
2021-04-09 11:41:02 Lee Yarwood nominated for series nova/ussuri
2021-04-09 11:41:02 Lee Yarwood bug task added nova/ussuri
2021-04-09 11:41:02 Lee Yarwood nominated for series nova/train
2021-04-09 11:41:02 Lee Yarwood bug task added nova/train
2021-04-09 11:41:12 Lee Yarwood nova/train: importance Undecided Medium
2021-04-09 11:41:14 Lee Yarwood nova/ussuri: importance Undecided Medium
2021-04-09 11:41:18 Lee Yarwood nova/ussuri: assignee Lee Yarwood (lyarwood)
2021-04-09 11:41:21 Lee Yarwood nova/train: status New In Progress
2021-04-09 11:41:23 Lee Yarwood nova/ussuri: status New In Progress
2021-04-09 11:41:27 Lee Yarwood nova/train: assignee Lee Yarwood (lyarwood)
2021-04-30 17:56:27 OpenStack Infra nova/ussuri: status In Progress Fix Committed
2021-04-30 17:59:54 OpenStack Infra tags shelve in-stable-ussuri shelve
2021-05-22 20:54:11 OpenStack Infra tags in-stable-ussuri shelve in-stable-train in-stable-ussuri shelve
2021-05-23 11:15:07 OpenStack Infra nova/train: status In Progress Fix Committed
2021-06-03 17:26:10 Elod Illes nova/ussuri: status Fix Committed Fix Released
2023-08-31 13:44:12 OpenStack Infra nova/train: status Fix Committed Fix Released