)]}'
{"bin/keystone-manage":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"663cf4f9bd122a481444c114494447b55b060fce","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from keystone.common import environment"},{"line_number":18,"context_line":"from keystone.openstack.common import gettextutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"environment.use_stdlib()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAPX%2F%2F600%3D","line":20,"updated":"2013-06-06 23:58:24.000000000","message":"I don\u0027t understand why keystone-manage has to change. It\u0027s not multithreaded in any way.","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"2e6d990cafc7e33dd34308ac9b2388caff5e36f7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from keystone.common import environment"},{"line_number":18,"context_line":"from keystone.openstack.common import gettextutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"environment.use_stdlib()"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAAPX%2F%2F3vU%3D","line":20,"in_reply_to":"AAAAPX%2F%2F600%3D","updated":"2013-06-12 00:20:44.000000000","message":"It\u0027s not multithreaded, so we should use the stdlib.\n\nI want it to be that a decision MUST be made to use either stdlib or eventlet. There is no default.","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"}],"httpd/keystone.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"de66c2d46204f403132465eb0a8557cbd18d29c5","unresolved":false,"context_lines":[{"line_number":10,"context_line":"CONF \u003d config.CONF"},{"line_number":11,"context_line":"CONF(project\u003d\u0027keystone\u0027)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"config.setup_logging(CONF)"},{"line_number":14,"context_line":"environment.use_stdlib()"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"conf \u003d CONF.config_file[0]"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAPX%2F%2F31k%3D","line":13,"updated":"2013-06-07 00:11:53.000000000","message":"this seems to be fixing a different problem?","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"2e6d990cafc7e33dd34308ac9b2388caff5e36f7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"CONF \u003d config.CONF"},{"line_number":11,"context_line":"CONF(project\u003d\u0027keystone\u0027)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"config.setup_logging(CONF)"},{"line_number":14,"context_line":"environment.use_stdlib()"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"conf \u003d CONF.config_file[0]"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAPX%2F%2F3vI%3D","line":13,"in_reply_to":"AAAAPX%2F%2F31k%3D","updated":"2013-06-12 00:20:44.000000000","message":"yes, it\u0027s unrelated. i\u0027ll move it to a patch of it\u0027s own.","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"de66c2d46204f403132465eb0a8557cbd18d29c5","unresolved":false,"context_lines":[{"line_number":13,"context_line":"config.setup_logging(CONF)"},{"line_number":14,"context_line":"environment.use_stdlib()"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"conf \u003d CONF.config_file[0]"},{"line_number":17,"context_line":"name \u003d os.path.basename(__file__)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"if CONF.debug:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAPX%2F%2F31Y%3D","line":16,"updated":"2013-06-07 00:11:53.000000000","message":"same here, why this change?","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"}],"keystone/common/environment/__init__.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    \"\"\"Ensure that environment configuration is only run once."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    If environment is reconfigured in the same way then it is ignored."},{"line_number":20,"context_line":"    It is an error to attempt to reconfigure envrionment in a different way."},{"line_number":21,"context_line":"    \"\"\""},{"line_number":22,"context_line":"    def decorator(func):"},{"line_number":23,"context_line":"        @functools.wraps(func)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fb0Q%3D","line":20,"updated":"2013-06-04 01:50:37.000000000","message":"Minor spelling error\n\u0027envrionment\u0027 -\u003e \u0027environment\u0027","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"1c4ac7b53a2901f428bf74272ec426af7fe7491b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    \"\"\"Ensure that environment configuration is only run once."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    If environment is reconfigured in the same way then it is ignored."},{"line_number":20,"context_line":"    It is an error to attempt to reconfigure envrionment in a different way."},{"line_number":21,"context_line":"    \"\"\""},{"line_number":22,"context_line":"    def decorator(func):"},{"line_number":23,"context_line":"        @functools.wraps(func)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2FbvQ%3D","line":20,"in_reply_to":"AAAAPH%2F%2Fb0Q%3D","updated":"2013-06-04 02:20:11.000000000","message":"Done","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                if _configured \u003d\u003d name:"},{"line_number":28,"context_line":"                    return"},{"line_number":29,"context_line":"                else:"},{"line_number":30,"context_line":"                    raise SystemError(\"Envrionment has already been \""},{"line_number":31,"context_line":"                                      \"configured as %s\" % _configured)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            LOG.info(\"Environment configured as: %s\", name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fb0E%3D","line":30,"updated":"2013-06-04 01:50:37.000000000","message":"Same spelling error here","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"1c4ac7b53a2901f428bf74272ec426af7fe7491b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                if _configured \u003d\u003d name:"},{"line_number":28,"context_line":"                    return"},{"line_number":29,"context_line":"                else:"},{"line_number":30,"context_line":"                    raise SystemError(\"Envrionment has already been \""},{"line_number":31,"context_line":"                                      \"configured as %s\" % _configured)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            LOG.info(\"Environment configured as: %s\", name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2FbvI%3D","line":30,"in_reply_to":"AAAAPH%2F%2Fb0E%3D","updated":"2013-06-04 02:20:11.000000000","message":"Done","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"de66c2d46204f403132465eb0a8557cbd18d29c5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                    raise SystemError(\"Environment has already been \""},{"line_number":35,"context_line":"                                      \"configured as %s\" % _configured)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"            LOG.info(\"Environment configured as: %s\", name)"},{"line_number":38,"context_line":"            _configured \u003d name"},{"line_number":39,"context_line":"            return func(*args, **kwargs)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAPX%2F%2F32s%3D","line":37,"updated":"2013-06-07 00:11:53.000000000","message":"strings should be wrapped in _() for translation.","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"2e6d990cafc7e33dd34308ac9b2388caff5e36f7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                    raise SystemError(\"Environment has already been \""},{"line_number":35,"context_line":"                                      \"configured as %s\" % _configured)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"            LOG.info(\"Environment configured as: %s\", name)"},{"line_number":38,"context_line":"            _configured \u003d name"},{"line_number":39,"context_line":"            return func(*args, **kwargs)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAPX%2F%2FuA0%3D","line":37,"in_reply_to":"AAAAPX%2F%2F32s%3D","updated":"2013-06-12 00:20:44.000000000","message":"Done","commit_id":"a7a8163a26765b37c9754085ec6aac0783675751"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"bcb952a52a4e1e1276e04b36712a291188d7ff40","unresolved":false,"context_lines":[{"line_number":17,"context_line":"subprocess \u003d None"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def configure_once(name):"},{"line_number":21,"context_line":"    \"\"\"Ensure that environment configuration is only run once."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    If environment is reconfigured in the same way then it is ignored."}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAPX%2F%2FmnE%3D","line":20,"updated":"2013-06-14 15:28:37.000000000","message":"nice","commit_id":"53fa945113b1f19368ffc11cd04d45563ed6e361"}],"keystone/middleware/ec2_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"bcb952a52a4e1e1276e04b36712a291188d7ff40","unresolved":false,"context_lines":[{"line_number":27,"context_line":"import webob.dec"},{"line_number":28,"context_line":"import webob.exc"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from keystone.common import environment"},{"line_number":31,"context_line":"from nova import flags"},{"line_number":32,"context_line":"from nova import utils"},{"line_number":33,"context_line":"from nova import wsgi"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAPX%2F%2Fmm4%3D","line":30,"updated":"2013-06-14 15:28:37.000000000","message":"this technically belongs in its own grouping after nova","commit_id":"53fa945113b1f19368ffc11cd04d45563ed6e361"}],"keystone/middleware/s3_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"bcb952a52a4e1e1276e04b36712a291188d7ff40","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from keystone.common import environment"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from keystone.openstack.common import jsonutils"},{"line_number":41,"context_line":"from swift.common import utils as swift_utils"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"PROTOCOL_NAME \u003d \u0027S3 Token Authentication\u0027"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAPX%2F%2Fmmo%3D","line":41,"updated":"2013-06-14 15:28:37.000000000","message":"same as last file\n\n  import swift\n  import webob\n\n  import keystone","commit_id":"53fa945113b1f19368ffc11cd04d45563ed6e361"}],"keystone/test.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":29,"context_line":"import unittest2 as unittest"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"from keystone.common import environment"},{"line_number":32,"context_line":"environment.use_eventlet()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from keystone import catalog"},{"line_number":35,"context_line":"from keystone.common import kvs"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fbzg%3D","line":32,"updated":"2013-06-04 01:50:37.000000000","message":"Just out of curiosity, this needs to be here to configure the environment before importing anything else correct? How come this isn\u0027t done in other files with \u0027from keystone.common import environment\u0027?","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}],"tests/test_auth.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import datetime"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from keystone import test"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from keystone import auth"},{"line_number":22,"context_line":"from keystone import config"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fby8%3D","line":19,"updated":"2013-06-04 01:50:37.000000000","message":"Why was this pulled out of the keystone imports?","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}],"tests/test_auth_plugin.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from keystone import test"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from keystone import auth"},{"line_number":22,"context_line":"from keystone import exception"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fbys%3D","line":19,"updated":"2013-06-04 01:50:37.000000000","message":"Same comment here","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}],"tests/test_backend.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import default_fixtures"},{"line_number":19,"context_line":"import uuid"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from keystone import test"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from keystone.catalog import core"},{"line_number":24,"context_line":"from keystone import config"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fbyo%3D","line":21,"updated":"2013-06-04 01:50:37.000000000","message":"And here","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}],"tests/test_backend_kvs.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import nose.exc"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from keystone import test"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from keystone import catalog"},{"line_number":23,"context_line":"from keystone.catalog.backends import kvs as catalog_kvs"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2FbyU%3D","line":20,"updated":"2013-06-04 01:50:37.000000000","message":"How come we can\u0027t import from keystone.common import environment here and keep test in alphabetical order and keep the configuration from importing it the first time? I could be missing something, just a thought.","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}],"tests/test_ipv6.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystone import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from keystone.common import environment"},{"line_number":21,"context_line":"from keystone import config"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fbx8%3D","line":20,"updated":"2013-06-04 01:50:37.000000000","message":"Won\u0027t this keep the configuration from importing test as it was imported first?","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"1c4ac7b53a2901f428bf74272ec426af7fe7491b","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystone import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from keystone.common import environment"},{"line_number":21,"context_line":"from keystone import config"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fbus%3D","line":20,"in_reply_to":"AAAAPH%2F%2Fbx8%3D","updated":"2013-06-04 02:20:11.000000000","message":"No i don\u0027t think so, you can import environment as many times as you like. It\u0027s just that only in one place should you call environment.use_eventlet()","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}],"tests/test_ssl.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            key\u003dKEY, ca\u003dCA, cert_required\u003dTrue)"},{"line_number":139,"context_line":"        # Verify Admin"},{"line_number":140,"context_line":"        conn \u003d environment.httplib.HTTPSConnection(\u0027127.0.0.1\u0027,"},{"line_number":141,"context_line":"                                                   CONF.admin_port)"},{"line_number":142,"context_line":"        try:"},{"line_number":143,"context_line":"            conn.request(\u0027GET\u0027, \u0027/\u0027)"},{"line_number":144,"context_line":"            self.fail(\u0027Admin API shoulda failed with SSL handshake!\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2FbxY%3D","line":141,"updated":"2013-06-04 01:50:37.000000000","message":"(NIT): should the \u0027C\u0027 in CONF be lined up with the \u0027127.0.0.1\u0027 or is this just a rendering issue with Gerrit? I know I have seen it do that before too.","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"1c4ac7b53a2901f428bf74272ec426af7fe7491b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            key\u003dKEY, ca\u003dCA, cert_required\u003dTrue)"},{"line_number":139,"context_line":"        # Verify Admin"},{"line_number":140,"context_line":"        conn \u003d environment.httplib.HTTPSConnection(\u0027127.0.0.1\u0027,"},{"line_number":141,"context_line":"                                                   CONF.admin_port)"},{"line_number":142,"context_line":"        try:"},{"line_number":143,"context_line":"            conn.request(\u0027GET\u0027, \u0027/\u0027)"},{"line_number":144,"context_line":"            self.fail(\u0027Admin API shoulda failed with SSL handshake!\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2Fbu8%3D","line":141,"in_reply_to":"AAAAPH%2F%2FbxY%3D","updated":"2013-06-04 02:20:11.000000000","message":"It looks ok to me with the \u0027C\u0027 directly under the \u0027 this is what passes my pep8 scan.","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ccf366ef8b5f9e5163f9e5555963180845bcaded","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        except ssl.SSLError:"},{"line_number":146,"context_line":"            pass"},{"line_number":147,"context_line":"        # Verify Public"},{"line_number":148,"context_line":"        conn \u003d environment.httplib.HTTPSConnection(\u0027127.0.0.1\u0027,"},{"line_number":149,"context_line":"                                                   CONF.public_port)"},{"line_number":150,"context_line":"        try:"},{"line_number":151,"context_line":"            conn.request(\u0027GET\u0027, \u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAPH%2F%2FbxM%3D","line":148,"updated":"2013-06-04 01:50:37.000000000","message":"Same comment here","commit_id":"f141d1cd04f023e6f706b81e232997ff04b57182"}]}
