Activity log for bug #1978294

Date Who What changed Old value New value Message
2022-06-10 08:20:58 Konrad Gube bug added bug
2022-06-10 08:25:57 Konrad Gube description When extending an attached Volume, Cinder will notify Nova after running the volume driver's extend_volume method, so that Nova can take steps to make the additional space available to the instance the volume is attached to. Nova is notified using the external server event API [1], which is an asynchronous operation and has no effect on the volume status or the success of the extend. For most drivers this is fine, but there are proposed changes to the NFS [2] and NetApp [3] drivers that rely on Nova to perform the actual resize if the volume is attached. A failure to resize by Nova would then lead to an inconsistent volume status and size, because currently both are set before Nova even gets notified of the resize. Lucio Seki, who first worked on [2] and [3], collected some thoughts on this in an etherpad [4] together with other potential issues of the changes. As I see it, there are two approaches to fixing this: 1. Have Cinder poll Nova for the completion. Might require [5] to get fixed, to make resize failures show up in the instance action log. Cinder would then poll the actions log of the instance to get the status of the operation and update the volume status accordingly. 2. Have Nova call back into Cinder when the resize is finished. The "os-reset_status" volume action could perhaps be abused for this, but a cleaner solution would be the introduction of a new volume action, akin to "os-migrate_volume_completion". I believe a new volume action would be the best way to implement this, and I would like to work on this, with the goal of getting [2] and [3] merged eventually. I'm new to Cinder development though, so I am very happy about any suggestions or feedback. [1]: https://docs.openstack.org/api-ref/compute/?expanded=run-events-detail#run-events [2]: https://review.opendev.org/c/openstack/cinder/+/739079 [3]: https://review.opendev.org/c/openstack/cinder/+/820578 [4]: https://etherpad.opendev.org/p/fix-nfs-online-extend [5]: https://review.opendev.org/c/openstack/nova/+/680648/ When extending an attached Volume, Cinder will notify Nova after running the volume driver's extend_volume method, so that Nova can take steps to make the additional space available to the instance the volume is attached to. Nova is notified using the external server event API [1], which is an asynchronous operation and has no effect on the volume status or the success of the extend. For most drivers this is fine, but there are proposed changes to the NFS [2] and NetApp [3] drivers that rely on Nova to perform the actual resize if the volume is attached. A failure to resize by Nova would then lead to an inconsistent volume status and size, because currently both are set before Nova even gets notified of the resize. Lucio Seki, who first worked on [2] and [3], collected some thoughts on this in an etherpad [4] together with other potential issues of the changes. As I see it, there are two approaches to fixing this: 1. Have Cinder poll Nova for the completion. Might require [5] to get fixed, to make resize failures show up in the instance action log. Cinder would then poll the actions log of the instance to get the status of the operation and update the volume status accordingly. 2. Have Nova call back into Cinder when the resize is finished. The "os-reset_status" volume action could perhaps be abused for this, but a cleaner solution would be the introduction of a new volume action, akin to "os-migrate_volume_completion". I believe a new volume action would be the best way to implement this, and I would like to work on this, with the goal of getting [2] and [3] merged eventually. I'm new to Cinder development though, so I am very happy about any suggestions or feedback. [1]: https://docs.openstack.org/api-ref/compute/?expanded=run-events-detail#run-events [2]: https://review.opendev.org/c/openstack/cinder/+/739079 [3]: https://review.opendev.org/c/openstack/cinder/+/820578 [4]: https://etherpad.opendev.org/p/fix-nfs-online-extend [5]: https://review.opendev.org/c/openstack/nova/+/680648/
2022-06-10 12:13:53 Konrad Gube cinder: assignee Konrad Gube (kgube)
2022-06-10 12:15:42 Konrad Gube description When extending an attached Volume, Cinder will notify Nova after running the volume driver's extend_volume method, so that Nova can take steps to make the additional space available to the instance the volume is attached to. Nova is notified using the external server event API [1], which is an asynchronous operation and has no effect on the volume status or the success of the extend. For most drivers this is fine, but there are proposed changes to the NFS [2] and NetApp [3] drivers that rely on Nova to perform the actual resize if the volume is attached. A failure to resize by Nova would then lead to an inconsistent volume status and size, because currently both are set before Nova even gets notified of the resize. Lucio Seki, who first worked on [2] and [3], collected some thoughts on this in an etherpad [4] together with other potential issues of the changes. As I see it, there are two approaches to fixing this: 1. Have Cinder poll Nova for the completion. Might require [5] to get fixed, to make resize failures show up in the instance action log. Cinder would then poll the actions log of the instance to get the status of the operation and update the volume status accordingly. 2. Have Nova call back into Cinder when the resize is finished. The "os-reset_status" volume action could perhaps be abused for this, but a cleaner solution would be the introduction of a new volume action, akin to "os-migrate_volume_completion". I believe a new volume action would be the best way to implement this, and I would like to work on this, with the goal of getting [2] and [3] merged eventually. I'm new to Cinder development though, so I am very happy about any suggestions or feedback. [1]: https://docs.openstack.org/api-ref/compute/?expanded=run-events-detail#run-events [2]: https://review.opendev.org/c/openstack/cinder/+/739079 [3]: https://review.opendev.org/c/openstack/cinder/+/820578 [4]: https://etherpad.opendev.org/p/fix-nfs-online-extend [5]: https://review.opendev.org/c/openstack/nova/+/680648/ When extending an attached Volume, Cinder will notify Nova after running the volume driver's extend_volume method, so that Nova can take steps to make the additional space available to the instance the volume is attached to. Nova is notified using the external server event API [1], which is an asynchronous operation and has no effect on the volume status or the success of the extend. For most drivers this is fine, but there are proposed changes to the NFS [2] and NetApp [3] drivers that rely on Nova to perform the actual resize if the volume is attached. A failure to resize by Nova would then lead to an inconsistent volume status and size, because currently both are set before Nova even gets notified of the resize. Lucio Seki, who first worked on [2] and [3], collected some thoughts on this in an etherpad [4] together with other potential issues of the changes. There are essentially two approaches to fixing this: 1. Have Cinder poll Nova for the completion. Might require [5] to get fixed, to make resize failures show up in the instance action log. Cinder would then poll the actions log of the instance to get the status of the operation and update the volume status accordingly. 2. Have Nova call back into Cinder when the resize is finished. The "os-reset_status" volume action could perhaps be abused for this, but a cleaner solution would be the introduction of a new volume action, akin to "os-migrate_volume_completion". I believe a new volume action would be the best way to implement this, and I would like to work on this, with the goal of getting [2] and [3] merged eventually. I'm new to Cinder development though, so I am very happy about any suggestions or feedback. [1]: https://docs.openstack.org/api-ref/compute/?expanded=run-events-detail#run-events [2]: https://review.opendev.org/c/openstack/cinder/+/739079 [3]: https://review.opendev.org/c/openstack/cinder/+/820578 [4]: https://etherpad.opendev.org/p/fix-nfs-online-extend [5]: https://review.opendev.org/c/openstack/nova/+/680648/
2022-06-10 15:46:17 Kan Itani bug added subscriber Kan Itani
2022-06-14 14:40:13 Konrad Gube cinder: status New In Progress
2022-06-14 23:50:28 Sofia Enriquez tags attach nova
2022-06-14 23:50:53 Sofia Enriquez cinder: importance Undecided Medium
2022-06-14 23:51:35 Sofia Enriquez summary No feedback from Nova when extending attached Volumes [NFS/NetApp] No feedback from Nova when extending attached Volumes
2022-06-14 23:52:31 Sofia Enriquez tags attach nova attach netapp nfs nova
2022-06-15 13:08:28 Sofia Enriquez tags attach netapp nfs nova attach netapp nfs nova quobyte
2022-06-15 13:08:37 Sofia Enriquez summary [NFS/NetApp] No feedback from Nova when extending attached Volumes [NFS/Quobyte/NetApp] No feedback from Nova when extending attached Volumes
2022-06-16 21:09:51 Madko bug added subscriber Madko
2022-06-25 02:27:38 Jose Phillips bug added subscriber Jose Phillips
2022-06-28 08:32:42 Konrad Gube bug task added nova
2022-06-28 08:33:16 Konrad Gube nova: status New In Progress
2022-06-28 08:33:22 Konrad Gube nova: assignee Konrad Gube (kgube)
2022-09-01 17:26:14 melanie witt bug added subscriber melanie witt