)]}'
{"etc/glance-artifacts-paste.ini":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Use this pipeline for no auth - DEFAULT"},{"line_number":2,"context_line":"[pipeline:glare-api]"},{"line_number":3,"context_line":"pipeline \u003d healthcheck versionnegotiation osprofiler unauthenticated-context rootapp"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Use this pipeline for keystone auth"},{"line_number":6,"context_line":"[pipeline:glare-api-keystone]"}],"source_content_type":"text/x-properties","patch_set":11,"id":"3a7e1126_a0126655","line":3,"updated":"2015-12-19 01:24:36.000000000","message":"We recently approved the patch that introduces the `cors` middleware in Glance. Could you add `corse` at the very beginning of each pipeline?","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Use this pipeline for no auth - DEFAULT"},{"line_number":2,"context_line":"[pipeline:glare-api]"},{"line_number":3,"context_line":"pipeline \u003d healthcheck versionnegotiation osprofiler unauthenticated-context rootapp"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Use this pipeline for keystone auth"},{"line_number":6,"context_line":"[pipeline:glare-api-keystone]"}],"source_content_type":"text/x-properties","patch_set":11,"id":"3a7e1126_ea534015","line":3,"in_reply_to":"3a7e1126_a0126655","updated":"2015-12-21 13:44:18.000000000","message":"Done","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"2d43c3d29df63941b5e8d904c53ceecc54dd2405","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Use this pipeline for no auth - DEFAULT"},{"line_number":2,"context_line":"[pipeline:glare-api]"},{"line_number":3,"context_line":"pipeline \u003d cors healthcheck versionnegotiation osprofiler unauthenticated-context rootapp"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-properties","patch_set":16,"id":"5a5ae5dd_f867c7b4","line":1,"updated":"2016-02-05 12:39:22.000000000","message":"Should this file be renamed to `glance-glare-paste.ini` ?","commit_id":"edca7374b1d79196b3b33fb5d4ec6db17de9d5a4"}],"etc/glance-artifacts.conf":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":349,"context_line":"#store_capabilities_update_min_interval \u003d 0"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"#"},{"line_number":352,"context_line":"# From glance.store"},{"line_number":353,"context_line":"#"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"# If True, swiftclient won\u0027t check for a valid SSL certificate when"}],"source_content_type":"text/plain","patch_set":11,"id":"3a7e1126_1a02c80b","line":352,"updated":"2015-12-19 01:24:36.000000000","message":"In the future, I think we could extract the configs coming from glance_store to a common config file.","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":349,"context_line":"#store_capabilities_update_min_interval \u003d 0"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"#"},{"line_number":352,"context_line":"# From glance.store"},{"line_number":353,"context_line":"#"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"# If True, swiftclient won\u0027t check for a valid SSL certificate when"}],"source_content_type":"text/plain","patch_set":11,"id":"3a7e1126_2a46284f","line":352,"in_reply_to":"3a7e1126_1a02c80b","updated":"2015-12-21 13:44:18.000000000","message":"Yeah, this may be a good idea. Let\u0027s just do it in a different patch","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"}],"etc/oslo-config-generator/glance-artifacts.conf":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":5,"context_line":"namespace \u003d oslo.db"},{"line_number":6,"context_line":"namespace \u003d oslo.db.concurrency"},{"line_number":7,"context_line":"namespace \u003d keystonemiddleware.auth_token"},{"line_number":8,"context_line":"namespace \u003d oslo.log"}],"source_content_type":"text/plain","patch_set":11,"id":"3a7e1126_8015ea40","line":8,"updated":"2015-12-19 01:24:36.000000000","message":"You should add oslo.middlewarehere to also have support for `cors`","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":5,"context_line":"namespace \u003d oslo.db"},{"line_number":6,"context_line":"namespace \u003d oslo.db.concurrency"},{"line_number":7,"context_line":"namespace \u003d keystonemiddleware.auth_token"},{"line_number":8,"context_line":"namespace \u003d oslo.log"}],"source_content_type":"text/plain","patch_set":11,"id":"3a7e1126_2ae2a82f","line":8,"in_reply_to":"3a7e1126_8015ea40","updated":"2015-12-21 13:44:18.000000000","message":"Done","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"}],"glance/api/artifacts/__init__.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"4d53a64707730a9a0684beb49580bb8f8b851c3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3a57f1b5_39aad371","side":"PARENT","updated":"2016-02-09 19:30:16.000000000","message":"Sorry, I should have noticed this in my previous review as well. I believe this package should be renamed as well.","commit_id":"ad75afad0f86548c8ef4bb45bb21328d2a6c0cb4"},{"author":{"_account_id":16658,"name":"Darja Shakhray","email":"damalyavkina@gmail.com","username":"dshakhray"},"change_message_id":"d4b896b26e081861330428db55fd0b58c0abfecb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3a57f1b5_0bc1bee4","side":"PARENT","in_reply_to":"3a57f1b5_39aad371","updated":"2016-02-09 20:01:14.000000000","message":"Done, need to rename Artifacts like https://github.com/openstack/glance/blob/master/glance/artifacts/domain/proxy.py#L52 ?","commit_id":"ad75afad0f86548c8ef4bb45bb21328d2a6c0cb4"}],"glance/api/middleware/version_negotiation.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from glance.api.artifacts import versions as artifacts_versions"},{"line_number":26,"context_line":"from glance.api import versions"},{"line_number":27,"context_line":"from glance.common import wsgi"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_0001fa04","line":26,"updated":"2015-12-19 01:24:36.000000000","message":"We should probably move the *images* api under glance/api/images at some point","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from glance.api.artifacts import versions as artifacts_versions"},{"line_number":26,"context_line":"from glance.api import versions"},{"line_number":27,"context_line":"from glance.common import wsgi"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_ea3260a6","line":26,"in_reply_to":"3a7e1126_0001fa04","updated":"2015-12-21 13:44:18.000000000","message":"Yeah, but let\u0027s do it step by step: may be when the API is stable or something.\nDon\u0027t forget that the names of the api modules are referenced in *-paste.ini files which are considered \"config files\", so any changes here may break existing deployments unless that configs are modified.","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            req_version \u003d accept[token_loc:]"},{"line_number":57,"context_line":"        else:"},{"line_number":58,"context_line":"            LOG.debug(\"Using url versioning\")"},{"line_number":59,"context_line":"            # Remove version in url so it doesn\u0027t confliFct later"},{"line_number":60,"context_line":"            req_version \u003d self._pop_path_info(req)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_2006761d","line":59,"updated":"2015-12-19 01:24:36.000000000","message":"s/confliFct/conflicg/","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            req_version \u003d accept[token_loc:]"},{"line_number":57,"context_line":"        else:"},{"line_number":58,"context_line":"            LOG.debug(\"Using url versioning\")"},{"line_number":59,"context_line":"            # Remove version in url so it doesn\u0027t confliFct later"},{"line_number":60,"context_line":"            req_version \u003d self._pop_path_info(req)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_4ad29429","line":59,"in_reply_to":"3a7e1126_2006761d","updated":"2015-12-21 13:44:18.000000000","message":"Done","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def _get_allowed_versions(self):"},{"line_number":75,"context_line":"        allowed_versions \u003d {}"},{"line_number":76,"context_line":"        if CONF.enable_v1_api:"},{"line_number":77,"context_line":"            allowed_versions[\u0027v1\u0027] \u003d 1"},{"line_number":78,"context_line":"            allowed_versions[\u0027v1.0\u0027] \u003d 1"},{"line_number":79,"context_line":"            allowed_versions[\u0027v1.1\u0027] \u003d 1"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_c006921b","line":76,"updated":"2015-12-19 01:24:36.000000000","message":"Won\u0027t this fail if you start just artifacts since `enable_v[12]_api` is not in the artifacts configs? (or is it?)","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def _get_allowed_versions(self):"},{"line_number":75,"context_line":"        allowed_versions \u003d {}"},{"line_number":76,"context_line":"        if CONF.enable_v1_api:"},{"line_number":77,"context_line":"            allowed_versions[\u0027v1\u0027] \u003d 1"},{"line_number":78,"context_line":"            allowed_versions[\u0027v1.0\u0027] \u003d 1"},{"line_number":79,"context_line":"            allowed_versions[\u0027v1.1\u0027] \u003d 1"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_eabca0bc","line":76,"in_reply_to":"3a7e1126_c006921b","updated":"2015-12-21 13:44:18.000000000","message":"This one is not executed when you run glance-artifacts. Artifacts use GlareVersionNegotiatorFilter (see below) - a subclass of this one which overrides this method","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            allowed_versions[\u0027v2.0\u0027] \u003d 2"},{"line_number":83,"context_line":"            allowed_versions[\u0027v2.1\u0027] \u003d 2"},{"line_number":84,"context_line":"            allowed_versions[\u0027v2.2\u0027] \u003d 2"},{"line_number":85,"context_line":"        if CONF.enable_v3_api:"},{"line_number":86,"context_line":"            allowed_versions[\u0027v3\u0027] \u003d 3"},{"line_number":87,"context_line":"            allowed_versions[\u0027v3.0\u0027] \u003d 3"},{"line_number":88,"context_line":"        return allowed_versions"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_e00b8e22","line":85,"updated":"2015-12-19 01:24:36.000000000","message":"why v3?","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            allowed_versions[\u0027v2.0\u0027] \u003d 2"},{"line_number":83,"context_line":"            allowed_versions[\u0027v2.1\u0027] \u003d 2"},{"line_number":84,"context_line":"            allowed_versions[\u0027v2.2\u0027] \u003d 2"},{"line_number":85,"context_line":"        if CONF.enable_v3_api:"},{"line_number":86,"context_line":"            allowed_versions[\u0027v3\u0027] \u003d 3"},{"line_number":87,"context_line":"            allowed_versions[\u0027v3.0\u0027] \u003d 3"},{"line_number":88,"context_line":"        return allowed_versions"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_8a82bcc6","line":85,"in_reply_to":"3a7e1126_e00b8e22","updated":"2015-12-21 13:44:18.000000000","message":"This is needed to ensure backwards compatibility: if the api-paste has the v3 section pointing to api/v3, then we need to allow the requests to that version: it will return appropriate redirect messages. See the class comments to glance/api/v3/router.py","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"}],"glance/cmd/artifacts.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da74cabdb45fcc6683aa95748814e9d0e1099883","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2015 Mirantis, Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_fa049c18","line":3,"updated":"2015-12-19 01:24:36.000000000","message":"you copied this file from glance-api, right? I guess the copyright should stay the same as api\u0027s","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"},{"author":{"_account_id":8127,"name":"Alexander Tivelkov","email":"locher@yandex.ru","username":"ativelkov"},"change_message_id":"54d7bdacea67f3ee7460a76cad869c591ff409cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2015 Mirantis, Inc."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a7e1126_ca63e440","line":3,"in_reply_to":"3a7e1126_fa049c18","updated":"2015-12-21 13:44:18.000000000","message":"The header was written automatically by my IDE. Sure, will change that.","commit_id":"5f6cad51623ee7d011f6637f4cb5a864c10c6e5c"}],"setup.cfg":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"2d43c3d29df63941b5e8d904c53ceecc54dd2405","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    glance-registry \u003d glance.cmd.registry:main"},{"line_number":33,"context_line":"    glance-replicator \u003d glance.cmd.replicator:main"},{"line_number":34,"context_line":"    glance-scrubber \u003d glance.cmd.scrubber:main"},{"line_number":35,"context_line":"    glance-artifacts \u003d glance.cmd.artifacts:main"},{"line_number":36,"context_line":"glance.common.image_location_strategy.modules \u003d"},{"line_number":37,"context_line":"    location_order_strategy \u003d glance.common.location_strategy.location_order"},{"line_number":38,"context_line":"    store_type_strategy \u003d glance.common.location_strategy.store_type"}],"source_content_type":"text/x-ttcn-cfg","patch_set":16,"id":"5a5ae5dd_b8338faa","line":35,"updated":"2016-02-05 12:39:22.000000000","message":"glance-glare*","commit_id":"edca7374b1d79196b3b33fb5d4ec6db17de9d5a4"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"991433cff569453424e08b35c3a5e250895f4de3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    glance-registry \u003d glance.cmd.registry:main"},{"line_number":33,"context_line":"    glance-replicator \u003d glance.cmd.replicator:main"},{"line_number":34,"context_line":"    glance-scrubber \u003d glance.cmd.scrubber:main"},{"line_number":35,"context_line":"    glance-glare \u003d glance.cmd.glare:main"},{"line_number":36,"context_line":"glance.common.image_location_strategy.modules \u003d"},{"line_number":37,"context_line":"    location_order_strategy \u003d glance.common.location_strategy.location_order"},{"line_number":38,"context_line":"    store_type_strategy \u003d glance.common.location_strategy.store_type"}],"source_content_type":"text/x-ttcn-cfg","patch_set":17,"id":"5a5ae5dd_91f7f2f4","line":35,"updated":"2016-02-09 17:16:01.000000000","message":"You forgot to rename the file to `glance/cmd/glare.py`, It\u0027s still `glance/cmd/artifacts.py`","commit_id":"0451896b58842adebe93f0df10839b13ca505d37"},{"author":{"_account_id":16658,"name":"Darja Shakhray","email":"damalyavkina@gmail.com","username":"dshakhray"},"change_message_id":"2c618eaaf86ba72defac811a8e6d47fcf226da79","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    glance-registry \u003d glance.cmd.registry:main"},{"line_number":33,"context_line":"    glance-replicator \u003d glance.cmd.replicator:main"},{"line_number":34,"context_line":"    glance-scrubber \u003d glance.cmd.scrubber:main"},{"line_number":35,"context_line":"    glance-glare \u003d glance.cmd.glare:main"},{"line_number":36,"context_line":"glance.common.image_location_strategy.modules \u003d"},{"line_number":37,"context_line":"    location_order_strategy \u003d glance.common.location_strategy.location_order"},{"line_number":38,"context_line":"    store_type_strategy \u003d glance.common.location_strategy.store_type"}],"source_content_type":"text/x-ttcn-cfg","patch_set":17,"id":"3a57f1b5_73094a31","line":35,"in_reply_to":"5a5ae5dd_91f7f2f4","updated":"2016-02-09 19:12:02.000000000","message":"oh, apologize....","commit_id":"0451896b58842adebe93f0df10839b13ca505d37"}]}
