)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ab0f78b04294420b9d9f909535aff98d94f8e4df","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova both configured with RBD backend, but glance does"},{"line_number":10,"context_line":"not return location information from the API, nova will fail to clone"},{"line_number":11,"context_line":"the image from glance pool and will download it from the API. In this"},{"line_number":12,"context_line":"case, image will be already flat, and subsequent flatten call will"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_e348ba8a","line":9,"range":{"start_line":9,"start_character":19,"end_line":9,"end_character":23},"updated":"2020-01-27 20:09:20.000000000","message":"are both","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a4cfe876301710a79dfdc483c209cbddd6e4bebe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova both configured with RBD backend, but glance does"},{"line_number":10,"context_line":"not return location information from the API, nova will fail to clone"},{"line_number":11,"context_line":"the image from glance pool and will download it from the API. In this"},{"line_number":12,"context_line":"case, image will be already flat, and subsequent flatten call will"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_a0b38e98","line":9,"range":{"start_line":9,"start_character":19,"end_line":9,"end_character":23},"in_reply_to":"3fa7e38b_e348ba8a","updated":"2020-01-28 11:17:11.000000000","message":"Done","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ab0f78b04294420b9d9f909535aff98d94f8e4df","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova both configured with RBD backend, but glance does"},{"line_number":10,"context_line":"not return location information from the API, nova will fail to clone"},{"line_number":11,"context_line":"the image from glance pool and will download it from the API. In this"},{"line_number":12,"context_line":"case, image will be already flat, and subsequent flatten call will"},{"line_number":13,"context_line":"fail."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_23525237","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":61},"updated":"2020-01-27 20:09:20.000000000","message":"Would it be easier to highlight the use case where Nova and Glance don\u0027t share the same backend during unshelve?","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a4cfe876301710a79dfdc483c209cbddd6e4bebe","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova both configured with RBD backend, but glance does"},{"line_number":10,"context_line":"not return location information from the API, nova will fail to clone"},{"line_number":11,"context_line":"the image from glance pool and will download it from the API. In this"},{"line_number":12,"context_line":"case, image will be already flat, and subsequent flatten call will"},{"line_number":13,"context_line":"fail."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_80b0d28e","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":61},"in_reply_to":"3fa7e38b_23525237","updated":"2020-01-28 11:17:11.000000000","message":"for other backends I think flatten will raise NotImplementedError and it is handled in code already","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"4f9fc601e2761d5b749004bf4c43d84fb3907899","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova both configured with RBD backend, but glance does"},{"line_number":10,"context_line":"not return location information from the API, nova will fail to clone"},{"line_number":11,"context_line":"the image from glance pool and will download it from the API. In this"},{"line_number":12,"context_line":"case, image will be already flat, and subsequent flatten call will"},{"line_number":13,"context_line":"fail."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_c90115b7","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":61},"in_reply_to":"3fa7e38b_80b0d28e","updated":"2020-01-28 13:39:35.000000000","message":"Apologies, I mean the when they are not using the same Ceph cluster.","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ab0f78b04294420b9d9f909535aff98d94f8e4df","unresolved":false,"context_lines":[{"line_number":13,"context_line":"fail."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This commit makes flatten call idempotent, so that it ignores already"},{"line_number":16,"context_line":"flat images."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: 1860990"},{"line_number":19,"context_line":"Change-Id: Ia6c184c31a980e4728b7309b2afaec4d9f494ac3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_0331560a","line":16,"range":{"start_line":16,"start_character":11,"end_line":16,"end_character":12},"updated":"2020-01-27 20:09:20.000000000","message":"by catching ImageUnacceptable when requesting parent_info()","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a4cfe876301710a79dfdc483c209cbddd6e4bebe","unresolved":false,"context_lines":[{"line_number":13,"context_line":"fail."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This commit makes flatten call idempotent, so that it ignores already"},{"line_number":16,"context_line":"flat images."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: 1860990"},{"line_number":19,"context_line":"Change-Id: Ia6c184c31a980e4728b7309b2afaec4d9f494ac3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_40ae5a2f","line":16,"range":{"start_line":16,"start_character":11,"end_line":16,"end_character":12},"in_reply_to":"3fa7e38b_0331560a","updated":"2020-01-28 11:17:11.000000000","message":"Done","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"b660938ef26441acdfff59378d705e0d961a3967","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova are both configured with RBD backend, but glance"},{"line_number":10,"context_line":"does not return location information from the API, nova will fail to"},{"line_number":11,"context_line":"clone the image from glance pool and will download it from the API."},{"line_number":12,"context_line":"In this case, image will be already flat, and subsequent flatten call"},{"line_number":13,"context_line":"will fail."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This commit makes flatten call idempotent, so that it ignores already"},{"line_number":16,"context_line":"flat images by catching ImageUnacceptable when requesting parent info"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_9bd83851","line":13,"range":{"start_line":9,"start_character":0,"end_line":13,"end_character":10},"updated":"2020-01-28 20:56:22.000000000","message":"I still think this could just describe more simple use case of when Glance and Nova are using different clusters but this is a supernit and not worth blocking the fix.","commit_id":"65825ebfbd58920adac5e8594891eec8e9cec41f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"1076a810b315e75f54c41f45684adc26b9f4f0e2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make RBD imagebackend flatten method idempotent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If glance and nova are both configured with RBD backend, but glance"},{"line_number":10,"context_line":"does not return location information from the API, nova will fail to"},{"line_number":11,"context_line":"clone the image from glance pool and will download it from the API."},{"line_number":12,"context_line":"In this case, image will be already flat, and subsequent flatten call"},{"line_number":13,"context_line":"will fail."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This commit makes flatten call idempotent, so that it ignores already"},{"line_number":16,"context_line":"flat images by catching ImageUnacceptable when requesting parent info"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_967ecddf","line":13,"range":{"start_line":9,"start_character":0,"end_line":13,"end_character":10},"in_reply_to":"3fa7e38b_9bd83851","updated":"2020-01-28 22:32:05.000000000","message":"yup, got your point, will add this if will have to do another patchset","commit_id":"65825ebfbd58920adac5e8594891eec8e9cec41f"}],"nova/virt/libvirt/imagebackend.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ab0f78b04294420b9d9f909535aff98d94f8e4df","unresolved":false,"context_lines":[{"line_number":986,"context_line":"            self.driver.parent_info(self.rbd_name, pool\u003dself.driver.pool)"},{"line_number":987,"context_line":"        except exception.ImageUnacceptable:"},{"line_number":988,"context_line":"            # No parent info, the image is already flat, it is a noop"},{"line_number":989,"context_line":"            pass"},{"line_number":990,"context_line":"        else:"},{"line_number":991,"context_line":"            self.driver.flatten(self.rbd_name, pool\u003dself.driver.pool)"},{"line_number":992,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_e35f5a4a","line":989,"range":{"start_line":989,"start_character":12,"end_line":989,"end_character":16},"updated":"2020-01-27 20:09:20.000000000","message":"I\u0027d rather LOG.debug something here to highlight that we\u0027ve skipped the call to flatten here as it\u0027s already flat.","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"a4cfe876301710a79dfdc483c209cbddd6e4bebe","unresolved":false,"context_lines":[{"line_number":986,"context_line":"            self.driver.parent_info(self.rbd_name, pool\u003dself.driver.pool)"},{"line_number":987,"context_line":"        except exception.ImageUnacceptable:"},{"line_number":988,"context_line":"            # No parent info, the image is already flat, it is a noop"},{"line_number":989,"context_line":"            pass"},{"line_number":990,"context_line":"        else:"},{"line_number":991,"context_line":"            self.driver.flatten(self.rbd_name, pool\u003dself.driver.pool)"},{"line_number":992,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_60a91623","line":989,"range":{"start_line":989,"start_character":12,"end_line":989,"end_character":16},"in_reply_to":"3fa7e38b_e35f5a4a","updated":"2020-01-28 11:17:11.000000000","message":"Done","commit_id":"a8e98b9279f5d115d8cffd5a7455a0126c00de50"}]}
