)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chris St. Pierre \u003cchris.a.st.pierre@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-08 15:49:38 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add wrapper for Glance API versions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds a new Glance wrapper that abstracts creation and deletion of"},{"line_number":10,"context_line":"images for the two versions of the Glance API. A functional test is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a57f1b5_f5a7294d","line":7,"updated":"2016-02-10 16:39:54.000000000","message":"Just FYI - there is (almost finished, I think) a spec that proposes renaming wrappers -\u003e services\n\nhttps://review.openstack.org/#/c/172831/","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Chris St. Pierre \u003cchris.a.st.pierre@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-08 15:49:38 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add wrapper for Glance API versions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds a new Glance wrapper that abstracts creation and deletion of"},{"line_number":10,"context_line":"images for the two versions of the Glance API. A functional test is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a57f1b5_30238fbf","line":7,"in_reply_to":"3a57f1b5_f5a7294d","updated":"2016-02-10 17:19:48.000000000","message":"No one has touched it for four months, and it doesn\u0027t seem to be getting any attention anytime soon. :(","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"}],"rally/plugins/openstack/wrappers/glance.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"5aa6deb4dde714e713b51d3f7b010842d541728d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_5512bd63","line":1,"updated":"2016-02-10 16:41:03.000000000","message":"2016","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_eb5f4c0c","line":1,"in_reply_to":"3a57f1b5_5512bd63","updated":"2016-02-10 17:19:48.000000000","message":"Done","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class GlanceV1Wrapper(GlanceWrapper):"},{"line_number":73,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":74,"context_line":"        super(GlanceV1Wrapper, self).__init__(*args, **kwargs)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def create_image(self, container_format, image_location,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_d7db151a","line":73,"updated":"2016-02-10 16:39:54.000000000","message":"Remove this method, it does nothing","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class GlanceV1Wrapper(GlanceWrapper):"},{"line_number":73,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":74,"context_line":"        super(GlanceV1Wrapper, self).__init__(*args, **kwargs)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def create_image(self, container_format, image_location,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_6baa7cd6","line":73,"in_reply_to":"3a57f1b5_d7db151a","updated":"2016-02-10 17:19:48.000000000","message":"Done","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        try:"},{"line_number":88,"context_line":"            if os.path.isfile(image_location):"},{"line_number":89,"context_line":"                print(\"here\")"},{"line_number":90,"context_line":"                kw[\"data\"] \u003d open(image_location)"},{"line_number":91,"context_line":"            else:"},{"line_number":92,"context_line":"                print(\"there\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_37a14995","line":89,"updated":"2016-02-10 16:39:54.000000000","message":"remove this","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        try:"},{"line_number":88,"context_line":"            if os.path.isfile(image_location):"},{"line_number":89,"context_line":"                print(\"here\")"},{"line_number":90,"context_line":"                kw[\"data\"] \u003d open(image_location)"},{"line_number":91,"context_line":"            else:"},{"line_number":92,"context_line":"                print(\"there\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_ebb66c3c","line":89,"in_reply_to":"3a57f1b5_37a14995","updated":"2016-02-10 17:19:48.000000000","message":"Done","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                print(\"here\")"},{"line_number":90,"context_line":"                kw[\"data\"] \u003d open(image_location)"},{"line_number":91,"context_line":"            else:"},{"line_number":92,"context_line":"                print(\"there\")"},{"line_number":93,"context_line":"                kw[\"copy_from\"] \u003d image_location"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"            image \u003d self.client.images.create(**kw)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_77b581cb","line":92,"updated":"2016-02-10 16:39:54.000000000","message":"same here","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                print(\"here\")"},{"line_number":90,"context_line":"                kw[\"data\"] \u003d open(image_location)"},{"line_number":91,"context_line":"            else:"},{"line_number":92,"context_line":"                print(\"there\")"},{"line_number":93,"context_line":"                kw[\"copy_from\"] \u003d image_location"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"            image \u003d self.client.images.create(**kw)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_cb905098","line":92,"in_reply_to":"3a57f1b5_77b581cb","updated":"2016-02-10 17:19:48.000000000","message":"Done","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class GlanceV2Wrapper(GlanceWrapper):"},{"line_number":122,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":123,"context_line":"        super(GlanceV2Wrapper, self).__init__(*args, **kwargs)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _update_image(self, image):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_f7ef31ae","line":122,"updated":"2016-02-10 16:39:54.000000000","message":"ditto","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class GlanceV2Wrapper(GlanceWrapper):"},{"line_number":122,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":123,"context_line":"        super(GlanceV2Wrapper, self).__init__(*args, **kwargs)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _update_image(self, image):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_eb8d0c7c","line":122,"in_reply_to":"3a57f1b5_f7ef31ae","updated":"2016-02-10 17:19:48.000000000","message":"Done","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":123,"context_line":"        super(GlanceV2Wrapper, self).__init__(*args, **kwargs)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _update_image(self, image):"},{"line_number":126,"context_line":"        try:"},{"line_number":127,"context_line":"            return self.client.images.get(image.id)"},{"line_number":128,"context_line":"        except glance_exc.HTTPNotFound:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_77bb4173","line":125,"updated":"2016-02-10 16:39:54.000000000","message":"Name of the method seems to be wrong - there is no \"update\" action. That is something like \"get_image\"","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":123,"context_line":"        super(GlanceV2Wrapper, self).__init__(*args, **kwargs)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _update_image(self, image):"},{"line_number":126,"context_line":"        try:"},{"line_number":127,"context_line":"            return self.client.images.get(image.id)"},{"line_number":128,"context_line":"        except glance_exc.HTTPNotFound:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_8bd01855","line":125,"in_reply_to":"3a57f1b5_77bb4173","updated":"2016-02-10 17:19:48.000000000","message":"It was named that way because it\u0027s used as the update_resource method in wait_for_status, but _get_image() is definitely better. Done.","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"}],"rally/verification/tempest/config.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a0c82b7987b2c5fd951381f746d7fd3ee1756cad","unresolved":false,"context_lines":[{"line_number":394,"context_line":"                      .format(opt\u003doption, opt_val\u003doption_value))"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def _create_image(self):"},{"line_number":397,"context_line":"        glanceclient \u003d glance_wrapper.wrap(self.clients.glance, self)"},{"line_number":398,"context_line":"        params \u003d {"},{"line_number":399,"context_line":"            \"name\": self.generate_random_name(),"},{"line_number":400,"context_line":"            \"disk_format\": CONF.image.disk_format,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_3552a168","line":397,"updated":"2016-02-10 16:39:54.000000000","message":"\"glanceclient\" is a confusing name because people can think this is an original glance client. Better name would be \"glance_wrapper\", \"glance_wrap\" or even \"glance_service\"","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"eaa81f09a4e34e93c0a6d2c6fe8a9118112e0bf1","unresolved":false,"context_lines":[{"line_number":394,"context_line":"                      .format(opt\u003doption, opt_val\u003doption_value))"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def _create_image(self):"},{"line_number":397,"context_line":"        glanceclient \u003d glance_wrapper.wrap(self.clients.glance, self)"},{"line_number":398,"context_line":"        params \u003d {"},{"line_number":399,"context_line":"            \"name\": self.generate_random_name(),"},{"line_number":400,"context_line":"            \"disk_format\": CONF.image.disk_format,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_ab3cf493","line":397,"in_reply_to":"3a57f1b5_3552a168","updated":"2016-02-10 17:19:48.000000000","message":"Done","commit_id":"b0425e6cdd6512b6ec97d877847672fc8d73a621"}]}
