)]}'
{"karbor/services/protection/protection_plugins/image/image_protection_plugin.py":[{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"1282465ee49f6a7557e97ddab32f371e5c0b8b5e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            status \u003d resource_section.get_object(\"status\")"},{"line_number":52,"context_line":"            return status"},{"line_number":53,"context_line":"        except Exception:"},{"line_number":54,"context_line":"            return \"undefined\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_options_schema(self, resources_type):"},{"line_number":57,"context_line":"        return image_schemas.OPTIONS_SCHEMA"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_ae97a246","line":54,"range":{"start_line":54,"start_character":12,"end_line":54,"end_character":30},"updated":"2016-09-07 06:45:27.000000000","message":"return constants.RESOURCE_STATUS_UNDEFINED instead?","commit_id":"a484efebab6c6555b17b0bf9446298b35773987f"},{"author":{"_account_id":23068,"name":"Wang Hui","email":"wanghui71@huawei.com","username":"krejwang"},"change_message_id":"cdb1c42e066060562f2a27eb658be84f703fdec1","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                                       constants.RESOURCE_STATUS_PROTECTING)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        glance_client \u003d self._glance_client(context)"},{"line_number":79,"context_line":"        LOG.info(_(\u0027Protect image into bank started, image_id: %s\u0027), image_id)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            image \u003d glance_client.images.get(image_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_39156e48","line":79,"range":{"start_line":79,"start_character":17,"end_line":79,"end_character":18},"updated":"2016-08-30 03:48:23.000000000","message":"I wonder if it can be changed to \"_LI\" according to patch 352903?","commit_id":"a484efebab6c6555b17b0bf9446298b35773987f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"1282465ee49f6a7557e97ddab32f371e5c0b8b5e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                image \u003d glance_client.images.get(image_id)"},{"line_number":88,"context_line":"                retry_attempts -\u003d 1"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            if retry_attempts \u003d\u003d 0:"},{"line_number":91,"context_line":"                raise Exception"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"            image_response \u003d glance_client.images.data(image_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_0275bf30","line":90,"range":{"start_line":90,"start_character":15,"end_line":90,"end_character":34},"updated":"2016-09-07 06:45:27.000000000","message":"It is better to change the condition to \u0027image.status !\u003d \"active\"\u0027. Because there is an extreme case that when entering the \u0027while\u0027 while image.status !\u003d \u0027active\u0027 and retry_attempts \u003d\u003d 1, if the next image.status \u003d\u003d active, then exit from \u0027while\u0027, at the same time, retry_attempts \u003d\u003d 0, we should not raise an exception by check retry_attempts \u003d\u003d 0.","commit_id":"a484efebab6c6555b17b0bf9446298b35773987f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"1282465ee49f6a7557e97ddab32f371e5c0b8b5e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                yield"},{"line_number":157,"context_line":"                image_info \u003d glance_client.images.get(image.id)"},{"line_number":158,"context_line":"                retry_attempts -\u003d 1"},{"line_number":159,"context_line":"            if retry_attempts \u003d\u003d 0:"},{"line_number":160,"context_line":"                raise Exception"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"            heat_template.put_parameter(image_id, image.id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_a25df37a","line":159,"range":{"start_line":159,"start_character":14,"end_line":159,"end_character":34},"updated":"2016-09-07 06:45:27.000000000","message":"ditto","commit_id":"a484efebab6c6555b17b0bf9446298b35773987f"}],"karbor/tests/unit/protection/test_glance_protection_plugin.py":[{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"1282465ee49f6a7557e97ddab32f371e5c0b8b5e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        return self.bank_section"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"class GlanceProtectionPluginTest(base.TestCase):"},{"line_number":77,"context_line":"    def setUp(self):"},{"line_number":78,"context_line":"        super(GlanceProtectionPluginTest, self).setUp()"},{"line_number":79,"context_line":"        self.plugin \u003d ImageToBankProtectionPlugin()"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_629ccb0f","line":76,"range":{"start_line":76,"start_character":6,"end_line":76,"end_character":32},"updated":"2016-09-07 06:45:27.000000000","message":"change the class name to \u0027ImageToBankProtectionPluginTest\u0027?","commit_id":"a484efebab6c6555b17b0bf9446298b35773987f"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"1282465ee49f6a7557e97ddab32f371e5c0b8b5e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        options_schema \u003d self.plugin.get_saved_info_schema("},{"line_number":112,"context_line":"            constants.IMAGE_RESOURCE_TYPE)"},{"line_number":113,"context_line":"        self.assertEqual(options_schema,"},{"line_number":114,"context_line":"                         image_plugin_schemas.SAVED_INFO_SCHEMA)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def test_get_supported_resources_types(self):"},{"line_number":117,"context_line":"        types \u003d self.plugin.get_supported_resources_types()"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a89bdaa_8210ef5a","line":114,"updated":"2016-09-07 06:45:27.000000000","message":"Is there a need to add the test cases for \u0027activity_*\u0027 functions?","commit_id":"a484efebab6c6555b17b0bf9446298b35773987f"}]}
