)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0c919c0d8c50c3a512b833f23e8e70e748d1c5f3","unresolved":true,"context_lines":[{"line_number":11,"context_line":"when performing instance snapshot, even if it is implemented in the"},{"line_number":12,"context_line":"backing driver. Default value is True."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This can be usefull in case of nova backend migration, to force nova"},{"line_number":15,"context_line":"honor the glance configuration and do not guess it from the actual"},{"line_number":16,"context_line":"backend."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"29862009_0e992b7d","line":14,"range":{"start_line":14,"start_character":12,"end_line":14,"end_character":19},"updated":"2021-06-09 17:19:02.000000000","message":"useful","commit_id":"9fd1b225c07b1c478ea4bf955773ab501cb20939"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"424132afa71e4a3c48ecebecb783e650b249d9ac","unresolved":false,"context_lines":[{"line_number":11,"context_line":"when performing instance snapshot, even if it is implemented in the"},{"line_number":12,"context_line":"backing driver. Default value is True."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This can be usefull in case of nova backend migration, to force nova"},{"line_number":15,"context_line":"honor the glance configuration and do not guess it from the actual"},{"line_number":16,"context_line":"backend."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"29863dd3_48d56fd8","line":14,"range":{"start_line":14,"start_character":12,"end_line":14,"end_character":19},"in_reply_to":"29862009_0e992b7d","updated":"2021-06-10 09:09:50.000000000","message":"Done","commit_id":"9fd1b225c07b1c478ea4bf955773ab501cb20939"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0c919c0d8c50c3a512b833f23e8e70e748d1c5f3","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This can be usefull in case of nova backend migration, to force nova"},{"line_number":15,"context_line":"honor the glance configuration and do not guess it from the actual"},{"line_number":16,"context_line":"backend."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Implements: blueprint configure-direct-snapshot"},{"line_number":19,"context_line":"Change-Id: Iab55d6a1fcde763ca859d0d1ecfb11a11cf35738"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a1cbd71_adb18ab2","line":16,"updated":"2021-06-09 17:19:02.000000000","message":"Can you explain more about why this would be useful? I\u0027m guessing this is if you\u0027re trying to migrate _away_ from RBD to something else, is that right?","commit_id":"9fd1b225c07b1c478ea4bf955773ab501cb20939"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"424132afa71e4a3c48ecebecb783e650b249d9ac","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This can be usefull in case of nova backend migration, to force nova"},{"line_number":15,"context_line":"honor the glance configuration and do not guess it from the actual"},{"line_number":16,"context_line":"backend."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Implements: blueprint configure-direct-snapshot"},{"line_number":19,"context_line":"Change-Id: Iab55d6a1fcde763ca859d0d1ecfb11a11cf35738"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2e7c04bb_36a134cb","line":16,"in_reply_to":"1a1cbd71_adb18ab2","updated":"2021-06-10 09:09:50.000000000","message":"Done","commit_id":"9fd1b225c07b1c478ea4bf955773ab501cb20939"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ae9b1f791c77405bd8a8f02fcd14ccaae894812e","unresolved":true,"context_lines":[{"line_number":11,"context_line":"when performing instance snapshot, even if it is implemented in the"},{"line_number":12,"context_line":"backing driver. Default value is True."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This can be useful in case of nova backend migration, to force nova"},{"line_number":15,"context_line":"honor the glance configuration and do not guess it from the actual"},{"line_number":16,"context_line":"backend. Indeed, when using the nova RBD backend with image who were"},{"line_number":17,"context_line":"originally stored in ceph, it will put the image snapshot in RBD too"},{"line_number":18,"context_line":"even if an RBD store is no longer configured in glance."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Implements: blueprint configure-direct-snapshot"},{"line_number":21,"context_line":"Change-Id: Iab55d6a1fcde763ca859d0d1ecfb11a11cf35738"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"eb11990e_669c2f8c","line":18,"range":{"start_line":14,"start_character":0,"end_line":18,"end_character":55},"updated":"2021-07-08 09:47:29.000000000","message":"What do you mean by an image `who were originally stored in ceph`?\n\nWhen using the rbd imagebackend with the libvirt virt driver you can\u0027t move images to a new store within Glance as the ephemeral disks Nova creates directly reference the images as parents/backing stores. Moving these to swift or file would break that chain within RBD itself and render the disks useless.\n\nYou would need to flatten any existing ephemeral disks first before moving the images in Glance and at that point any request to directly snapshot the disks would fail and we would fallback to the offline snapshot and upload via g-api workflow.","commit_id":"6f7a7e16db4ff00b73ea01955669a257dad34e20"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0c919c0d8c50c3a512b833f23e8e70e748d1c5f3","unresolved":true,"context_lines":[{"line_number":2887,"context_line":"                                    purge_props\u003dFalse)"},{"line_number":2888,"context_line":"            else:"},{"line_number":2889,"context_line":"                raise exception.Forbidden(\u0027Direct snapshot disallowed in \u0027"},{"line_number":2890,"context_line":"                                          \u0027nova config.\u0027)"},{"line_number":2891,"context_line":"        except (NotImplementedError, exception.ImageUnacceptable,"},{"line_number":2892,"context_line":"                exception.Forbidden) as e:"},{"line_number":2893,"context_line":"            if type(e) !\u003d NotImplementedError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"c5bb4c10_3c5b5470","line":2890,"updated":"2021-06-09 17:19:02.000000000","message":"So, FWIW, I think if you disable glance\u0027s location API, you\u0027ll effectively get the same thing. I wonder if there\u0027s a benefit to keeping that exposed, but still disabling fast snapshots?\n\nEither way, I think I\u0027d prefer if the above code looked like this:\n\n if not CONF.libvirt.allow_direct_snapshot:\n     raise Forbidden()\n\ninstead of indenting everything yet another level.","commit_id":"9fd1b225c07b1c478ea4bf955773ab501cb20939"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"424132afa71e4a3c48ecebecb783e650b249d9ac","unresolved":false,"context_lines":[{"line_number":2887,"context_line":"                                    purge_props\u003dFalse)"},{"line_number":2888,"context_line":"            else:"},{"line_number":2889,"context_line":"                raise exception.Forbidden(\u0027Direct snapshot disallowed in \u0027"},{"line_number":2890,"context_line":"                                          \u0027nova config.\u0027)"},{"line_number":2891,"context_line":"        except (NotImplementedError, exception.ImageUnacceptable,"},{"line_number":2892,"context_line":"                exception.Forbidden) as e:"},{"line_number":2893,"context_line":"            if type(e) !\u003d NotImplementedError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"94464f1c_395745b3","line":2890,"in_reply_to":"c5bb4c10_3c5b5470","updated":"2021-06-10 09:09:50.000000000","message":"Done","commit_id":"9fd1b225c07b1c478ea4bf955773ab501cb20939"}]}
