)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f57df9abdf3e851d73e80cc40bd4b7c98be3a01","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix evacuate logging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Evacuate can be divided into 3 categaries based on storage backend:"},{"line_number":10,"context_line":"1 shared storage"},{"line_number":11,"context_line":"2 non-shared storage (local)"},{"line_number":12,"context_line":"3 volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_eedf75d4","line":9,"range":{"start_line":9,"start_character":31,"end_line":9,"end_character":41},"updated":"2018-09-05 20:25:01.000000000","message":"categories","commit_id":"e70326cf2f29ac0944724f434dba1b722667fbe7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1f96f68bf7fffc11c9c37718f087954319bf5b85","unresolved":false,"context_lines":[{"line_number":10,"context_line":"1 shared storage"},{"line_number":11,"context_line":"2 non-shared storage (local)"},{"line_number":12,"context_line":"3 volume"},{"line_number":13,"context_line":"Currently the related logging code lacks account for volume-backed"},{"line_number":14,"context_line":"instance evacuation, when it uses non-shared storage and does not"},{"line_number":15,"context_line":"have image info. This patch tries to fix that to make the logging"},{"line_number":16,"context_line":"more accurate."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_643d96b9","line":13,"range":{"start_line":13,"start_character":35,"end_line":13,"end_character":40},"updated":"2018-08-27 13:27:10.000000000","message":"nit: does not","commit_id":"e70326cf2f29ac0944724f434dba1b722667fbe7"}],"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f57df9abdf3e851d73e80cc40bd4b7c98be3a01","unresolved":false,"context_lines":[{"line_number":2982,"context_line":"        image_meta \u003d {}"},{"line_number":2983,"context_line":"        if image_ref:"},{"line_number":2984,"context_line":"            image_meta \u003d self.image_api.get(context, image_ref)"},{"line_number":2985,"context_line":"        elif evacuate:"},{"line_number":2986,"context_line":"            # For evacuate the API does not send down the image_ref since the"},{"line_number":2987,"context_line":"            # image does not change so just get it from what was stashed in"},{"line_number":2988,"context_line":"            # the instance system_metadata when the instance was created (or"},{"line_number":2989,"context_line":"            # last rebuilt). This also works for volume-backed instances."},{"line_number":2990,"context_line":"            image_meta \u003d instance.image_meta"},{"line_number":2991,"context_line":""},{"line_number":2992,"context_line":"        # NOTE(mriedem): On an evacuate, we need to update"},{"line_number":2993,"context_line":"        # the instance\u0027s host and node properties to reflect it\u0027s"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_8e6da104","line":2990,"range":{"start_line":2985,"start_character":8,"end_line":2990,"end_character":44},"updated":"2018-09-05 20:25:01.000000000","message":"Somewhat related.","commit_id":"26d12119d0bd8bcaa1ea5f729730387744d9a5df"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f57df9abdf3e851d73e80cc40bd4b7c98be3a01","unresolved":false,"context_lines":[{"line_number":3123,"context_line":"                LOG.info(\u0027disk on shared storage, evacuating using\u0027"},{"line_number":3124,"context_line":"                         \u0027 existing disk\u0027)"},{"line_number":3125,"context_line":"            elif instance.image_ref:"},{"line_number":3126,"context_line":"                image_ref \u003d orig_image_ref \u003d instance.image_ref"},{"line_number":3127,"context_line":"                LOG.info(\"disk not on shared storage, evacuating from \""},{"line_number":3128,"context_line":"                         \"image: \u0027%s\u0027\", str(image_ref))"},{"line_number":3129,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_ee7bf5bb","line":3126,"range":{"start_line":3126,"start_character":16,"end_line":3126,"end_character":63},"updated":"2018-09-05 20:25:01.000000000","message":"This does change the behavior of this method since image_ref/orig_image_ref won\u0027t be set for volume-backed evacuate. However, as noted above, for evacuate the image_ref and orig_image_ref are not passed down from the API because the image doesn\u0027t change during evacuate. So this code is kind of pointless.","commit_id":"26d12119d0bd8bcaa1ea5f729730387744d9a5df"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2f57df9abdf3e851d73e80cc40bd4b7c98be3a01","unresolved":false,"context_lines":[{"line_number":3130,"context_line":"                LOG.info(\u0027disk on volume, evacuating using existing \u0027"},{"line_number":3131,"context_line":"                         \u0027volume\u0027)"},{"line_number":3132,"context_line":""},{"line_number":3133,"context_line":"        if image_ref:"},{"line_number":3134,"context_line":"            image_meta \u003d objects.ImageMeta.from_image_ref("},{"line_number":3135,"context_line":"                context, self.image_api, image_ref)"},{"line_number":3136,"context_line":"        else:"},{"line_number":3137,"context_line":"            image_meta \u003d instance.image_meta"},{"line_number":3138,"context_line":""},{"line_number":3139,"context_line":"        # We check trusted certs capabilities for both evacuate (rebuild on"},{"line_number":3140,"context_line":"        # another host) and rebuild (rebuild on the same host) because for"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_ce35d9f8","line":3137,"range":{"start_line":3133,"start_character":8,"end_line":3137,"end_character":44},"updated":"2018-09-05 20:25:01.000000000","message":"And this is redundant with what\u0027s in rebuild_instance - meaning we\u0027re also getting the image from glance at least twice for evacuate/rebuild...yay.","commit_id":"26d12119d0bd8bcaa1ea5f729730387744d9a5df"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"77210b5d4b36d85241b89cdc6402bad11868d607","unresolved":false,"context_lines":[{"line_number":3130,"context_line":"                LOG.info(\u0027disk on volume, evacuating using existing \u0027"},{"line_number":3131,"context_line":"                         \u0027volume\u0027)"},{"line_number":3132,"context_line":""},{"line_number":3133,"context_line":"        if image_ref:"},{"line_number":3134,"context_line":"            image_meta \u003d objects.ImageMeta.from_image_ref("},{"line_number":3135,"context_line":"                context, self.image_api, image_ref)"},{"line_number":3136,"context_line":"        else:"},{"line_number":3137,"context_line":"            image_meta \u003d instance.image_meta"},{"line_number":3138,"context_line":""},{"line_number":3139,"context_line":"        # We check trusted certs capabilities for both evacuate (rebuild on"},{"line_number":3140,"context_line":"        # another host) and rebuild (rebuild on the same host) because for"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_34da9ae8","line":3137,"range":{"start_line":3133,"start_character":8,"end_line":3137,"end_character":44},"in_reply_to":"3f79a3b5_ce35d9f8","updated":"2018-09-05 21:43:04.000000000","message":"https://review.openstack.org/#/c/600260/","commit_id":"26d12119d0bd8bcaa1ea5f729730387744d9a5df"}]}
