)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"deb173e00ddbad4ff150f3e690b41a7acff6e592","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix: Unshelving an instance uses original image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The driver use the property image_ref to boot the"},{"line_number":10,"context_line":"the instance."},{"line_number":11,"context_line":"This patch updates the image_ref property with the"},{"line_number":12,"context_line":"shelved_image_id stored during the shelving."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAVX%2F%2FoX8%3D","line":9,"updated":"2014-03-02 11:07:33.000000000","message":"use \u003d\u003e uses","commit_id":"d3b962399d09f0ac57226452ed0825ff1bc513ef"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9077c1fc2d8035cbfbd5bbe3ce7fd08a1b102043","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix: Unshelving an instance uses original image"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The driver use the property image_ref to boot the"},{"line_number":10,"context_line":"the instance."},{"line_number":11,"context_line":"This patch updates the image_ref property with the"},{"line_number":12,"context_line":"shelved_image_id stored during the shelving."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAVn%2F%2F8yc%3D","line":9,"in_reply_to":"AAAAVX%2F%2FoX8%3D","updated":"2014-03-03 08:34:02.000000000","message":"Done","commit_id":"d3b962399d09f0ac57226452ed0825ff1bc513ef"}],"nova/compute/manager.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"deb173e00ddbad4ff150f3e690b41a7acff6e592","unresolved":false,"context_lines":[{"line_number":3619,"context_line":"        limits \u003d filter_properties.get(\u0027limits\u0027, {})"},{"line_number":3620,"context_line":""},{"line_number":3621,"context_line":"        if image:"},{"line_number":3622,"context_line":"            image_ref \u003d instance.image_ref"},{"line_number":3623,"context_line":"            instance.image_ref \u003d image[\u0027id\u0027]"},{"line_number":3624,"context_line":""},{"line_number":3625,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAVX%2F%2FoX4%3D","line":3622,"updated":"2014-03-02 11:07:33.000000000","message":"could you change this to shelved_image_ref \nit would make the code easier to understand","commit_id":"d3b962399d09f0ac57226452ed0825ff1bc513ef"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9077c1fc2d8035cbfbd5bbe3ce7fd08a1b102043","unresolved":false,"context_lines":[{"line_number":3619,"context_line":"        limits \u003d filter_properties.get(\u0027limits\u0027, {})"},{"line_number":3620,"context_line":""},{"line_number":3621,"context_line":"        if image:"},{"line_number":3622,"context_line":"            image_ref \u003d instance.image_ref"},{"line_number":3623,"context_line":"            instance.image_ref \u003d image[\u0027id\u0027]"},{"line_number":3624,"context_line":""},{"line_number":3625,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAVn%2F%2F8yE%3D","line":3622,"in_reply_to":"AAAAVX%2F%2FoX4%3D","updated":"2014-03-03 08:34:02.000000000","message":"sure, i\u0027m going to change it.","commit_id":"d3b962399d09f0ac57226452ed0825ff1bc513ef"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"581a2d45de580a8699f3d1e77445b87697914fc5","unresolved":false,"context_lines":[{"line_number":3633,"context_line":"                LOG.exception(_(\u0027Instance failed to spawn\u0027), instance\u003dinstance)"},{"line_number":3634,"context_line":""},{"line_number":3635,"context_line":"        if image:"},{"line_number":3636,"context_line":"            instance.image_ref \u003d image_ref"},{"line_number":3637,"context_line":"            image_service \u003d glance.get_default_image_service()"},{"line_number":3638,"context_line":"            image_service.delete(context, image[\u0027id\u0027])"},{"line_number":3639,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAVn%2F%2F%2FFg%3D","line":3636,"updated":"2014-03-02 23:28:59.000000000","message":"Why change it back here?  Should it just stay as the original image id?","commit_id":"d3b962399d09f0ac57226452ed0825ff1bc513ef"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9077c1fc2d8035cbfbd5bbe3ce7fd08a1b102043","unresolved":false,"context_lines":[{"line_number":3633,"context_line":"                LOG.exception(_(\u0027Instance failed to spawn\u0027), instance\u003dinstance)"},{"line_number":3634,"context_line":""},{"line_number":3635,"context_line":"        if image:"},{"line_number":3636,"context_line":"            instance.image_ref \u003d image_ref"},{"line_number":3637,"context_line":"            image_service \u003d glance.get_default_image_service()"},{"line_number":3638,"context_line":"            image_service.delete(context, image[\u0027id\u0027])"},{"line_number":3639,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAVn%2F%2F8w8%3D","line":3636,"in_reply_to":"AAAAVn%2F%2F%2FFg%3D","updated":"2014-03-03 08:34:02.000000000","message":"Actually we want the instance always refer to the original image. the shelved_image is deleted.","commit_id":"d3b962399d09f0ac57226452ed0825ff1bc513ef"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"538abb728a92b3344efeb45da07f4e3ed51c266b","unresolved":false,"context_lines":[{"line_number":3636,"context_line":"                                  block_device_info\u003dblock_device_info)"},{"line_number":3637,"context_line":"        except Exception:"},{"line_number":3638,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3639,"context_line":"                LOG.exception(_(\u0027Instance failed to spawn\u0027), instance\u003dinstance)"},{"line_number":3640,"context_line":""},{"line_number":3641,"context_line":"        if image:"},{"line_number":3642,"context_line":"            instance.image_ref \u003d shelved_image_ref"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAVn%2F%2FbGo%3D","line":3639,"updated":"2014-03-06 06:22:37.000000000","message":"One question:\n\nif something failed here, the instance\u0027s image_ref was not reset ,right?","commit_id":"aa5628c0eeb05ebe8fd234f9872a23c36f34d00b"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"3ae22638a62467b5407c55e767dbde18f7306c41","unresolved":false,"context_lines":[{"line_number":3636,"context_line":"                                  block_device_info\u003dblock_device_info)"},{"line_number":3637,"context_line":"        except Exception:"},{"line_number":3638,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3639,"context_line":"                LOG.exception(_(\u0027Instance failed to spawn\u0027), instance\u003dinstance)"},{"line_number":3640,"context_line":""},{"line_number":3641,"context_line":"        if image:"},{"line_number":3642,"context_line":"            instance.image_ref \u003d shelved_image_ref"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAVn%2F%2Fatk%3D","line":3639,"in_reply_to":"AAAAVn%2F%2Faz8%3D","updated":"2014-03-06 07:35:43.000000000","message":"make sense to me ,thanks","commit_id":"aa5628c0eeb05ebe8fd234f9872a23c36f34d00b"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"48b53177efec7b24a3c5eefbd956bf71083aaaac","unresolved":false,"context_lines":[{"line_number":3636,"context_line":"                                  block_device_info\u003dblock_device_info)"},{"line_number":3637,"context_line":"        except Exception:"},{"line_number":3638,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3639,"context_line":"                LOG.exception(_(\u0027Instance failed to spawn\u0027), instance\u003dinstance)"},{"line_number":3640,"context_line":""},{"line_number":3641,"context_line":"        if image:"},{"line_number":3642,"context_line":"            instance.image_ref \u003d shelved_image_ref"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAVn%2F%2Faz8%3D","line":3639,"in_reply_to":"AAAAVn%2F%2FbGo%3D","updated":"2014-03-06 07:17:35.000000000","message":"I think it doesn\u0027t matter because the change is just to the local instance object. Nothing is saved in the db until later when the image property has been reset.","commit_id":"aa5628c0eeb05ebe8fd234f9872a23c36f34d00b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3ed6180cd8ac9dc9ab74209c463e95461ef2726a","unresolved":false,"context_lines":[{"line_number":3783,"context_line":"                LOG.exception(_(\u0027Instance failed to spawn\u0027), instance\u003dinstance)"},{"line_number":3784,"context_line":""},{"line_number":3785,"context_line":"        if image:"},{"line_number":3786,"context_line":"            instance.image_ref \u003d shelved_image_ref"},{"line_number":3787,"context_line":"            image_service \u003d glance.get_default_image_service()"},{"line_number":3788,"context_line":"            image_service.delete(context, image[\u0027id\u0027])"},{"line_number":3789,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_d08e8acf","line":3786,"updated":"2017-12-01 16:56:45.000000000","message":"Why would we set it back to the old image_ref (before the snapshot image ref?) - the image[\u0027id\u0027] is the snapshot image ref, which is used to create the guest, so that\u0027s what we want to be shown for the backing image for the instance.","commit_id":"60455490c2c664dd41364ede29add64967a08844"}],"nova/tests/compute/test_shelve.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"1ee772990173bae133678c5bf75c39859dc7f385","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        def fake_delete(self2, ctxt, image_id):"},{"line_number":184,"context_line":"            self.deleted_image_id \u003d image_id"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        def check_image_ref(*args, **kwargs):"},{"line_number":187,"context_line":"            self.assertEqual(args[2], image)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        fake_image.stub_out_image_service(self.stubs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2BZ5I%3D","line":186,"updated":"2014-02-21 11:25:28.000000000","message":"Also unnecessary - see below","commit_id":"d1ce698c2ad854709ca02eda1765c14ab28743c4"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"1ee772990173bae133678c5bf75c39859dc7f385","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        self.compute.driver.spawn(self.context, instance, image,"},{"line_number":208,"context_line":"                injected_files\u003d[], admin_password\u003dNone,"},{"line_number":209,"context_line":"                network_info\u003d[],"},{"line_number":210,"context_line":"                block_device_info\u003d\u0027fake_bdm\u0027).WithSideEffects(check_image_ref)"},{"line_number":211,"context_line":"        self.compute._get_power_state(self.context, instance).AndReturn(123)"},{"line_number":212,"context_line":"        db.instance_update_and_get_original(self.context, instance[\u0027uuid\u0027],"},{"line_number":213,"context_line":"                {\u0027power_state\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2BZ5g%3D","line":210,"updated":"2014-02-21 11:25:28.000000000","message":"Well you don\u0027t really need this, right... mox will automatically make sure that the arguments are checked.","commit_id":"d1ce698c2ad854709ca02eda1765c14ab28743c4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"aafc53ff40cf3eb86eaa222db981049b5f3bfa8a","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        self.compute.driver.spawn(self.context, instance, image,"},{"line_number":208,"context_line":"                injected_files\u003d[], admin_password\u003dNone,"},{"line_number":209,"context_line":"                network_info\u003d[],"},{"line_number":210,"context_line":"                block_device_info\u003d\u0027fake_bdm\u0027).WithSideEffects(check_image_ref)"},{"line_number":211,"context_line":"        self.compute._get_power_state(self.context, instance).AndReturn(123)"},{"line_number":212,"context_line":"        db.instance_update_and_get_original(self.context, instance[\u0027uuid\u0027],"},{"line_number":213,"context_line":"                {\u0027power_state\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2BZuk%3D","line":210,"in_reply_to":"AAAAUX%2F%2BZ5g%3D","updated":"2014-02-21 11:45:59.000000000","message":"oh yes your are right, sometimes we want to do too much ;)","commit_id":"d1ce698c2ad854709ca02eda1765c14ab28743c4"}]}
