)]}'
{"specs/liberty/approved/backup-volume-backed-instance.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bc71c5676cd30c9f6ede05f6de198ac02768218d","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"1. Image Create: When there is a call to Nova to backup a volume backed"},{"line_number":40,"context_line":"instance, we can check if it\u0027s volume backed. If it is, then call the existing"},{"line_number":41,"context_line":"volume snapshot function. "},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Rotation: We may need another change for the rotation of backup. Because"},{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af86dd1_7a823454","line":41,"updated":"2015-06-12 20:54:02.000000000","message":"cleanup the whitespace issue","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"9f4d7dabf36af59572d22e1e46a105b8fd5be7ad","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"1. Image Create: When there is a call to Nova to backup a volume backed"},{"line_number":40,"context_line":"instance, we can check if it\u0027s volume backed. If it is, then call the existing"},{"line_number":41,"context_line":"volume snapshot function. "},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Rotation: We may need another change for the rotation of backup. Because"},{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa32b979_6fee128d","line":41,"in_reply_to":"1af86dd1_7a823454","updated":"2015-06-15 12:26:46.000000000","message":"Done","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bc71c5676cd30c9f6ede05f6de198ac02768218d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"instance, we can check if it\u0027s volume backed. If it is, then call the existing"},{"line_number":41,"context_line":"volume snapshot function. "},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Rotation: We may need another change for the rotation of backup. Because"},{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"},{"line_number":45,"context_line":"remove the image. However, if the instance is volume backed, then image"},{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af86dd1_fa962493","line":43,"updated":"2015-06-12 20:54:02.000000000","message":"It\u0027s not \u0027may need\u0027, we \u0027do need\u0027 this, right?  That\u0027s in the actual code change.","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"9f4d7dabf36af59572d22e1e46a105b8fd5be7ad","unresolved":false,"context_lines":[{"line_number":40,"context_line":"instance, we can check if it\u0027s volume backed. If it is, then call the existing"},{"line_number":41,"context_line":"volume snapshot function. "},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Rotation: We may need another change for the rotation of backup. Because"},{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"},{"line_number":45,"context_line":"remove the image. However, if the instance is volume backed, then image"},{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa32b979_8ff35673","line":43,"in_reply_to":"1af86dd1_fa962493","updated":"2015-06-15 12:26:46.000000000","message":"Done","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bc71c5676cd30c9f6ede05f6de198ac02768218d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"},{"line_number":47,"context_line":"be added to remove the snapshoted volume."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we may have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"},{"line_number":51,"context_line":"support it. And throw an explicit exception if the target doesn\u0027t support."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af86dd1_9a8df07d","line":49,"updated":"2015-06-12 20:54:02.000000000","message":"Drop the usage of \u0027may\u0027 here since we do need to make the change.","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"9f4d7dabf36af59572d22e1e46a105b8fd5be7ad","unresolved":false,"context_lines":[{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"},{"line_number":47,"context_line":"be added to remove the snapshoted volume."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we may have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"},{"line_number":51,"context_line":"support it. And throw an explicit exception if the target doesn\u0027t support."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa32b979_ef02223e","line":49,"in_reply_to":"1af86dd1_9a8df07d","updated":"2015-06-15 12:26:46.000000000","message":"Done","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e6e9ac0999400bf29f5b3258d0608b6c09e9378","unresolved":false,"context_lines":[{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"},{"line_number":51,"context_line":"support it. And throw an explicit exception if the target doesn\u0027t support."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"4. Microversion: This change doesn\u0027t need a micro version. Because it\u0027s not a"},{"line_number":54,"context_line":"change to the API extensions, it\u0027s a change in the nova.compute.api module"},{"line_number":55,"context_line":"which would make it work for v2 and v2.1."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af86dd1_1a7340b3","line":53,"updated":"2015-06-12 20:47:44.000000000","message":"I brought this up in the change talking about what needs a microversion and what doesn\u0027t:\n\nhttps://review.openstack.org/#/c/191188/1/doc/source/api_microversion_dev.rst","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bc71c5676cd30c9f6ede05f6de198ac02768218d","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"  * Unit test will be added for this new feature"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  * New test case will be added in Tempest to cover this."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Documentation Impact"},{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af86dd1_9a1730ed","line":136,"updated":"2015-06-12 20:54:02.000000000","message":"You should probably fill this out a bit with more details, i.e. Tempest is branchless so Tempest would have to be configured to know if it can run this test or not (there are similar examples of this in tempest.conf, like live_migrate_paused_instances.  One of the arguments for a microversion on this change was if you need to configure Tempest to test it then it probably needed a microversion.  We said we didn\u0027t need a microversion IRC though (or we thought anyway), so the only option then is making Tempest configurable for testing this (by default it doesn\u0027t support it, so devstack on master would have to set it to True to test it, but then stable/kilo and stable/juno won\u0027t try running the test).\n\nAs part of the test, I think we also want to call out the verification of the rotated backup for the glance image and the cinder volume so we know the rotations are working properly.","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"9f4d7dabf36af59572d22e1e46a105b8fd5be7ad","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"  * Unit test will be added for this new feature"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  * New test case will be added in Tempest to cover this."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Documentation Impact"},{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa32b979_ef89c2cb","line":136,"in_reply_to":"1af86dd1_9a1730ed","updated":"2015-06-15 12:26:46.000000000","message":"Yep, and seems we also need a change in devstack to set the config, let\u0027s call it \u0027support_volume_backed_backup\u0027,  to be True, right?","commit_id":"6691f0fb16a3420d0d8b227d0708405afb84f4b6"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"08fcc01f0f6bbea945320f83d585b031d78e0581","unresolved":false,"context_lines":[{"line_number":64,"context_line":"a backend to create the snapshot. After a time (depending on used backend,"},{"line_number":65,"context_line":"volume size and so on) the creating is finished and state of the snapshot"},{"line_number":66,"context_line":"object is changed to \u0027available\u0027 or \u0027error\u0027. I.e. the process finishes later"},{"line_number":67,"context_line":"than a caller receives the response. That said, the backup action may return"},{"line_number":68,"context_line":"with complete status but the volume is still in creating status. This is a"},{"line_number":69,"context_line":"known limitation of snapshot_volume_backend, see"},{"line_number":70,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2245. For"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a50d1a3_20adcde8","line":67,"updated":"2015-07-29 09:59:16.000000000","message":"I\u0027d want to put accent to task state behavior, not to the early return from backup action (because for image-based instances backup action doesn\u0027t wait finish of image creation as well). Just task state indicates if backup is finished for an end user, IIANM.","commit_id":"7e5963e93e5c7ab7821d9d5e0172c07ebb6aaf4e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"5f5ef7f864127a7a2e8deeef9fa9c068359c262c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"a backend to create the snapshot. After a time (depending on used backend,"},{"line_number":65,"context_line":"volume size and so on) the creating is finished and state of the snapshot"},{"line_number":66,"context_line":"object is changed to \u0027available\u0027 or \u0027error\u0027. I.e. the process finishes later"},{"line_number":67,"context_line":"than a caller receives the response. That said, the backup action may return"},{"line_number":68,"context_line":"with complete status but the volume is still in creating status. This is a"},{"line_number":69,"context_line":"known limitation of snapshot_volume_backend, see"},{"line_number":70,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2245. For"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a50d1a3_d34721a1","line":67,"in_reply_to":"3a50d1a3_20adcde8","updated":"2015-07-29 10:24:57.000000000","message":"hmm, looks like i\u0027m wrong, Nova waits for the finish of backup operation. So no changes are needed here.","commit_id":"7e5963e93e5c7ab7821d9d5e0172c07ebb6aaf4e"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"08fcc01f0f6bbea945320f83d585b031d78e0581","unresolved":false,"context_lines":[{"line_number":65,"context_line":"volume size and so on) the creating is finished and state of the snapshot"},{"line_number":66,"context_line":"object is changed to \u0027available\u0027 or \u0027error\u0027. I.e. the process finishes later"},{"line_number":67,"context_line":"than a caller receives the response. That said, the backup action may return"},{"line_number":68,"context_line":"with complete status but the volume is still in creating status. This is a"},{"line_number":69,"context_line":"known limitation of snapshot_volume_backend, see"},{"line_number":70,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2245. For"},{"line_number":71,"context_line":"backup volume backed instance, we\u0027re reusing the snapshot_volume_backend, so"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a50d1a3_bd5346e1","line":68,"updated":"2015-07-29 09:59:16.000000000","message":"not volume, but snapshot","commit_id":"7e5963e93e5c7ab7821d9d5e0172c07ebb6aaf4e"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"58f775621b0191b4fcc94442164be6fdc4190bbb","unresolved":false,"context_lines":[{"line_number":65,"context_line":"volume size and so on) the creating is finished and state of the snapshot"},{"line_number":66,"context_line":"object is changed to \u0027available\u0027 or \u0027error\u0027. I.e. the process finishes later"},{"line_number":67,"context_line":"than a caller receives the response. That said, the backup action may return"},{"line_number":68,"context_line":"with complete status but the volume is still in creating status. This is a"},{"line_number":69,"context_line":"known limitation of snapshot_volume_backend, see"},{"line_number":70,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2245. For"},{"line_number":71,"context_line":"backup volume backed instance, we\u0027re reusing the snapshot_volume_backend, so"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a50d1a3_fcd2095b","line":68,"in_reply_to":"3a50d1a3_bd5346e1","updated":"2015-07-29 22:38:55.000000000","message":"Done","commit_id":"7e5963e93e5c7ab7821d9d5e0172c07ebb6aaf4e"}],"specs/mitaka/approved/backup-volume-backed-instance.rst":[{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"79961e6fe44abb06a4cde3bce50eecf5b2f0516f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova backup is a good function for user who want to do a regular backup"},{"line_number":14,"context_line":"for their instance. It can help user create instance backup and will remove"},{"line_number":15,"context_line":"the old images based on the rotation config set by user automatically."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a2fa921_190b762b","line":15,"updated":"2015-10-09 15:14:42.000000000","message":"\"Nova backup is a good function for users\"\n\"It can help users create instance backups\"\n\"rotation config set by users\"\n\nIts a good simple way to do single backups, but its missing some key features. There is no way to do timed backups without further orchestration. There is no way to do different backup strategies except the FIFO model that we have.\n\nIf someone wants to do that they would need further orchestration, which would probably negate the need for this feature entirely, as snapshot could be used directly.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"79961e6fe44abb06a4cde3bce50eecf5b2f0516f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Currently, the problem is Nova backup only supports instances created based"},{"line_number":22,"context_line":"image. That said, Nova will always fail to backup a volume backed instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a2fa921_bc3350f5","line":22,"updated":"2015-10-09 15:14:42.000000000","message":"\"based on images\"","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"9390eda207ae9d4c418aa22f4960eb3cd7ad50bb","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"----------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* User want to backup an instance which is volume backed."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a2ca52d_46067bcf","line":28,"updated":"2015-10-14 14:57:53.000000000","message":"I think need an explanation of why a user would want to do this. Let me explain why:\n\nUsing a volume instead of an image is a fundamentally different choice. One of the reasons a user would chose to use a volume is to get persistence. I think backing up an image backed instance is really a poor way to achieve persistence. So it is not clear to me that a user would want to backup a volume backed instance.\n\nNow I may well be missing something and that is why I ask for an explanation. As it stands I am not sure there is any point in extending the operation to include volume backed instances.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cd922b5910d6895a4dd8b447822885848029b5a1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Priorities have not been decided for Liberty."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a1a9d01_822489af","line":33,"updated":"2015-10-02 17:04:22.000000000","message":"Nit: This should say \"None\" really, or have the work liberty removed.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bc4ad9623ac5831ce4a00a9139f1824373d8e710","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Project Priority"},{"line_number":31,"context_line":"-----------------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Priorities have not been decided for Liberty."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_e4c44641","line":33,"in_reply_to":"9a1a9d01_822489af","updated":"2015-11-23 17:57:57.000000000","message":"This section has now been removed, please remove it.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"79961e6fe44abb06a4cde3bce50eecf5b2f0516f","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"1. Image Create: When there is a call to Nova to backup a volume backed"},{"line_number":40,"context_line":"instance, we can check if it\u0027s volume backed. If it is, then call the existing"},{"line_number":41,"context_line":"volume snapshot function."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Rotation: We need another change for the rotation of backup. Because"},{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a2fa921_977aed86","line":41,"updated":"2015-10-09 15:14:42.000000000","message":"Cinder has not only a \u0027snapshot\u0027 method but also a \u0027backup\u0027 method.\n\nThe \u0027backup\u0027 method seems to have its own \u0027restore\u0027 feature, perhaps negating the need to create a glance image for each backup.\n\nAt the very least the presence of \u0027backup\u0027 in nova that actually snapshots, whereas \u0027backup\u0027 in cinder does a full volume copy will be pretty confusing to users.\n\nIs there any way to better integrate this with cinder backup?","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bc4ad9623ac5831ce4a00a9139f1824373d8e710","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"1. Image Create: When there is a call to Nova to backup a volume backed"},{"line_number":40,"context_line":"instance, we can check if it\u0027s volume backed. If it is, then call the existing"},{"line_number":41,"context_line":"volume snapshot function."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Rotation: We need another change for the rotation of backup. Because"},{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_246ece2f","line":41,"in_reply_to":"7a2fa921_977aed86","updated":"2015-11-23 17:57:57.000000000","message":"A very good point here, but the Nova backup concept is about taking new snapshots, and deleting old snapshots.\n\nIts hard to map that into the Cinder concepts I guess.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cd922b5910d6895a4dd8b447822885848029b5a1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"},{"line_number":45,"context_line":"remove the image. However, if the instance is volume backed, then image"},{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"},{"line_number":47,"context_line":"be added to remove the snapshoted volume."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a1a9d01_65905a96","line":47,"updated":"2015-10-02 17:04:22.000000000","message":"Part of me wonders if this should be out of scope as its orchestration, and we should actually remove the back up API, rather than complete it.\n\nBut this does seem like a useful function, with minimal overhead.\n\nI do worry about about how many Cinder drivers work correctly when you snapshot an attached volume, but I guess thats only the same as any other snapshot, so I should ignore that.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bc4ad9623ac5831ce4a00a9139f1824373d8e710","unresolved":false,"context_lines":[{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"},{"line_number":45,"context_line":"remove the image. However, if the instance is volume backed, then image"},{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"},{"line_number":47,"context_line":"be added to remove the snapshoted volume."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_3355ae4f","line":47,"in_reply_to":"7a2fa921_d75ce51a","updated":"2015-11-23 17:57:57.000000000","message":"Sorry I am causing confusion here, but nova-volume is where cinder came from.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"79961e6fe44abb06a4cde3bce50eecf5b2f0516f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"currently the existing rotation function only call Glance image delete to"},{"line_number":45,"context_line":"remove the image. However, if the instance is volume backed, then image"},{"line_number":46,"context_line":"delete won\u0027t remove the volume snapshoted by backup. So new change will"},{"line_number":47,"context_line":"be added to remove the snapshoted volume."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a2fa921_d75ce51a","line":47,"in_reply_to":"9a1a9d01_65905a96","updated":"2015-10-09 15:14:42.000000000","message":"I think it should possibly removed completely. Is it a relic from adding backups to nova-volume?","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cd922b5910d6895a4dd8b447822885848029b5a1","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"},{"line_number":51,"context_line":"support it. And throw an explicit exception if the target doesn\u0027t support."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"4. Microversion: This change doesn\u0027t need a micro version. Because it\u0027s not a"},{"line_number":54,"context_line":"change to the API extensions, it\u0027s a change in the nova.compute.api module"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a1a9d01_62761040","line":51,"updated":"2015-10-02 17:04:22.000000000","message":"I am not sure if we want to make the API synchronous like this, we usually let folks set policy instead, so maybe add a policy for this instead?\n\nIts tempting to leave that detail until the code review.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bc4ad9623ac5831ce4a00a9139f1824373d8e710","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"3. RPC: Because this is a new feature, so we have to add a new version for"},{"line_number":50,"context_line":"RPC to avoid Nova API sends the request to the compute node which can\u0027t"},{"line_number":51,"context_line":"support it. And throw an explicit exception if the target doesn\u0027t support."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"4. Microversion: This change doesn\u0027t need a micro version. Because it\u0027s not a"},{"line_number":54,"context_line":"change to the API extensions, it\u0027s a change in the nova.compute.api module"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_f3e5e6a7","line":51,"in_reply_to":"9a1a9d01_62761040","updated":"2015-11-23 17:57:57.000000000","message":"So I am stronger on this one, we have to assume an asynchronous API here.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"79961e6fe44abb06a4cde3bce50eecf5b2f0516f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"And there are some other considerations should be noted at here:"},{"line_number":58,"context_line":"1. If there are more than one volume for the instance, and if the first"},{"line_number":59,"context_line":"snapshot is failed to be deleted, then other snapshots will be deleted"},{"line_number":60,"context_line":"continually."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"2. Currently, when Cinder returns a response of snapshot create call, it has"},{"line_number":63,"context_line":"created just a snapshot object with \u0027creating\u0027 state and asynchronously called"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a2fa921_b754c9c9","line":60,"updated":"2015-10-09 15:14:42.000000000","message":"Don\u0027t understand what is meant here.\n\n\u0027Deleted continually\u0027? Try to delete forever? That sounds like a bad plan.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cd922b5910d6895a4dd8b447822885848029b5a1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"known limitation of snapshot_volume_backend, see"},{"line_number":70,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2245. For"},{"line_number":71,"context_line":"backup volume backed instance, we\u0027re reusing the snapshot_volume_backend, so"},{"line_number":72,"context_line":"for now, we will leave it as it is and add a note/log in code."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"},{"line_number":75,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a1a9d01_42b98cca","line":72,"updated":"2015-10-02 17:04:22.000000000","message":"Its a good note, but thats fine, like you say.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"9390eda207ae9d4c418aa22f4960eb3cd7ad50bb","unresolved":false,"context_lines":[{"line_number":75,"context_line":"------------"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"User have to call snapshot manually to do a regularly backup for volume backed"},{"line_number":78,"context_line":"instances."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Data model impact"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a2ca52d_66861767","line":78,"updated":"2015-10-14 14:57:53.000000000","message":"I think this is what a user would expect.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cd922b5910d6895a4dd8b447822885848029b5a1","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    change in Devstack master branch to set it as True to test it. As part of"},{"line_number":161,"context_line":"    the test, the case will run the verification of the rotated backup for the"},{"line_number":162,"context_line":"    Glance image and the Cinder volume so we know the rotations are working"},{"line_number":163,"context_line":"    properly."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Documentation Impact"},{"line_number":166,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a1a9d01_0201546a","line":163,"updated":"2015-10-02 17:04:22.000000000","message":"We could skip if it fails with a known error, but lets leave that detail up to tempest, I think we just need to say you will add a test here.","commit_id":"3728d4e6e9855510b1dae5f084ee354b94967a21"}]}
