)]}'
{"nova/image/glance.py":[{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"ae9e9eb293eabe8e08959013524f6d23f5a471b3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    params \u003d {}"},{"line_number":111,"context_line":"    params[\u0027insecure\u0027] \u003d CONF.glance_api_insecure"},{"line_number":112,"context_line":"    if CONF.auth_strategy \u003d\u003d \u0027keystone\u0027:"},{"line_number":113,"context_line":"\t#NOTE(isethi): The older versions of glanceclient would expect"},{"line_number":114,"context_line":"\t#\t       keyword \u0027token\u0027, but newer versions would expect"},{"line_number":115,"context_line":"\t#\t       the header \u0027X-Auth-Token\u0027"},{"line_number":116,"context_line":"        params[\u0027token\u0027] \u003d context.auth_token"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FovM%3D","line":113,"updated":"2013-07-15 15:22:16.000000000","message":"Tabs?!!","commit_id":"8ed305efc46f46bbec906975f0cadbd465411fa7"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"ae9e9eb293eabe8e08959013524f6d23f5a471b3","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            \u0027X-Tenant-Id\u0027: context.tenant,"},{"line_number":121,"context_line":"            \u0027X-Roles\u0027: \u0027,\u0027.join(context.roles),"},{"line_number":122,"context_line":"            \u0027X-Identity-Status\u0027: \u0027Confirmed\u0027,"},{"line_number":123,"context_line":"            \u0027X-Service-Catalog\u0027: json.dumps(context.service_catalog),"},{"line_number":124,"context_line":"        }"},{"line_number":125,"context_line":"        params[\u0027identity_headers\u0027] \u003d identity_headers"},{"line_number":126,"context_line":"    endpoint \u003d \u0027%s://%s:%s\u0027 % (scheme, host, port)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FouQ%3D","line":123,"updated":"2013-07-15 15:22:16.000000000","message":"I think many HTTP servers default to a limit of 8K for header values. This is probably fine, but we want to make sure that the service_catalog never gets that big.","commit_id":"8ed305efc46f46bbec906975f0cadbd465411fa7"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"bf5713fe26bb4ff5395acf2c4f53f7f7436cae89","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    params[\u0027insecure\u0027] \u003d CONF.glance_api_insecure"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    if CONF.auth_strategy \u003d\u003d \u0027keystone\u0027:"},{"line_number":114,"context_line":"        # NOTE(isethi): The older versions of glanceclient would expect"},{"line_number":115,"context_line":"        # keyword \u0027token\u0027, but newer versions would expect the header"},{"line_number":116,"context_line":"        # \u0027X-Auth-Token\u0027"},{"line_number":117,"context_line":"        params[\u0027token\u0027] \u003d context.auth_token"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fiu0%3D","line":114,"updated":"2013-07-16 19:37:24.000000000","message":"may be specify version number of the glanceclient here to say that on and after version xx.yy it works.\n\n(looks painful, though might be critical for folks using older ones)","commit_id":"d54a280ffad70e20cf6563c4c1638764f410ffe9"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"943f805fa998904d24e1cdca5bbfbf5ab11e2c8b","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        params[\u0027ssl_compression\u0027] \u003d False"},{"line_number":112,"context_line":"    else:"},{"line_number":113,"context_line":"        scheme \u003d \u0027http\u0027"},{"line_number":114,"context_line":"    params \u003d {}"},{"line_number":115,"context_line":"    params[\u0027insecure\u0027] \u003d CONF.glance_api_insecure"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    if CONF.auth_strategy \u003d\u003d \u0027keystone\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FWy0%3D","line":114,"updated":"2013-08-01 13:59:31.000000000","message":"Does this delete the ssl settings? The empty dict is set in line 106. Why do you need to do this here again?","commit_id":"fba835387c071065b3eca45e1c916b3d902570dd"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"f690a4834c8ee7a8c05b1409690a9a5656c0b378","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        params[\u0027ssl_compression\u0027] \u003d False"},{"line_number":112,"context_line":"    else:"},{"line_number":113,"context_line":"        scheme \u003d \u0027http\u0027"},{"line_number":114,"context_line":"    params \u003d {}"},{"line_number":115,"context_line":"    params[\u0027insecure\u0027] \u003d CONF.glance_api_insecure"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    if CONF.auth_strategy \u003d\u003d \u0027keystone\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FWqE%3D","line":114,"in_reply_to":"AAAAQn%2F%2FWwg%3D","updated":"2013-08-01 14:46:09.000000000","message":"yeah, good stuff guys!","commit_id":"fba835387c071065b3eca45e1c916b3d902570dd"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"5857f7c6d7415359f2b4cb71bbdf53c9a41c3ad8","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        params[\u0027ssl_compression\u0027] \u003d False"},{"line_number":112,"context_line":"    else:"},{"line_number":113,"context_line":"        scheme \u003d \u0027http\u0027"},{"line_number":114,"context_line":"    params \u003d {}"},{"line_number":115,"context_line":"    params[\u0027insecure\u0027] \u003d CONF.glance_api_insecure"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    if CONF.auth_strategy \u003d\u003d \u0027keystone\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FWwg%3D","line":114,"in_reply_to":"AAAAQn%2F%2FWy0%3D","updated":"2013-08-01 14:11:25.000000000","message":"Great catch.  Also raises the question of line #115 being necessary?","commit_id":"fba835387c071065b3eca45e1c916b3d902570dd"}],"nova/tests/glance/stubs.py":[{"author":{"_account_id":5347,"name":"Eddie Sheffield","email":"eddie.sheffield@rackspace.com","username":"eddie-sheffield"},"change_message_id":"ff96045582d2e3fd925e6556fbf36a12af2d1956","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        self.identity_headers \u003d params.get(\u0027identity_headers\u0027)"},{"line_number":28,"context_line":"        if self.identity_headers:"},{"line_number":29,"context_line":"            if self.identity_headers.get(\u0027X-Auth-Token\u0027):"},{"line_number":30,"context_line":"                self.auth_token \u003d (self.identity_headers.get(\u0027auth_token\u0027) or"},{"line_number":31,"context_line":"                                   self.auth_token)"},{"line_number":32,"context_line":"                del self.identity_headers[\u0027X-Auth-Token\u0027]"},{"line_number":33,"context_line":"        self._images \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FsqA%3D","line":30,"updated":"2013-07-24 20:58:14.000000000","message":"I believe this should be \u0027X-Auth-Token\u0027 since that\u0027s what was being checked for in the line above.\n\nAlso is the \u0027or\u0027 clause necessary? Since existence was checked in the \u0027if\u0027 above won\u0027t this get always succeed?","commit_id":"85f1ab6ccb36104d45b21f84881af46a42e15c49"}],"nova/tests/image/test_glance.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"9573fad5ad65e5568a26a804197c955a0d0141b9","unresolved":false,"context_lines":[{"line_number":617,"context_line":"            fake_client \u003d glance_stubs.StubGlanceClient(version,"},{"line_number":618,"context_line":"                                       endpoint, **params)"},{"line_number":619,"context_line":"            self.assertTrue(fake_client.auth_token is not None)"},{"line_number":620,"context_line":"            self.assertTrue(fake_client.identity_headers is not None)"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"        self.stubs.Set(glanceclient.Client, \u0027__init__\u0027,"},{"line_number":623,"context_line":"                       _get_fake_glanceclient)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FtCA%3D","line":620,"updated":"2013-07-24 18:57:39.000000000","message":"Can you check that the correct keys are available in the identity_headers.","commit_id":"85f1ab6ccb36104d45b21f84881af46a42e15c49"}]}
