)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lance Bragstad \u003clbragstad@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-10 01:31:46 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: add logging for bug 1578866"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iebc3b0765ffead4ef511274d506cc161014b8dfd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dab17558_06a511b4","line":7,"updated":"2016-05-10 04:16:23.000000000","message":"Can you add more details about the fix. Also, please add bug info in Closes-Bug.\n\n Closes-Bug: #1578866","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"}],"tempest/api/identity/v3/test_users.py":[{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class IdentityV3UsersTest(base.BaseIdentityV3Test):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_c69b0971","line":30,"updated":"2016-05-10 04:16:23.000000000","message":"This should appear before class.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class IdentityV3UsersTest(base.BaseIdentityV3Test):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_8c0c64ee","line":30,"in_reply_to":"dab17558_c69b0971","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        self.non_admin_users_client.update_user_password("},{"line_number":63,"context_line":"            user_id, password\u003dnew_pass, original_password\u003dold_pass)"},{"line_number":64,"context_line":"        self.LOG.debug(\u0027user %{user_id}s password changed: %{time}s\u0027,"},{"line_number":65,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # NOTE(morganfainberg): Fernet tokens are not subsecond aware and"},{"line_number":68,"context_line":"        # Keystone should only be precise to the second. Sleep to ensure"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_06935150","line":65,"updated":"2016-05-10 04:16:23.000000000","message":"LOG should not be a variable inside the class.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        self.non_admin_users_client.update_user_password("},{"line_number":63,"context_line":"            user_id, password\u003dnew_pass, original_password\u003dold_pass)"},{"line_number":64,"context_line":"        self.LOG.debug(\u0027user %{user_id}s password changed: %{time}s\u0027,"},{"line_number":65,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # NOTE(morganfainberg): Fernet tokens are not subsecond aware and"},{"line_number":68,"context_line":"        # Keystone should only be precise to the second. Sleep to ensure"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_4cff1caa","line":65,"in_reply_to":"dab17558_06935150","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # authorize with old token should lead to IdentityError (404 code)"},{"line_number":76,"context_line":"        self.LOG.debug(\u0027validating user %{user_id}s at %{time}s\u0027,"},{"line_number":77,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":78,"context_line":"        self.assertRaises(exceptions.IdentityError,"},{"line_number":79,"context_line":"                          self.non_admin_token.auth,"},{"line_number":80,"context_line":"                          token\u003dself.non_admin_client.token)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_469d5958","line":77,"updated":"2016-05-10 04:16:23.000000000","message":"ditto","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # authorize with old token should lead to IdentityError (404 code)"},{"line_number":76,"context_line":"        self.LOG.debug(\u0027validating user %{user_id}s at %{time}s\u0027,"},{"line_number":77,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":78,"context_line":"        self.assertRaises(exceptions.IdentityError,"},{"line_number":79,"context_line":"                          self.non_admin_token.auth,"},{"line_number":80,"context_line":"                          token\u003dself.non_admin_client.token)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_ac2e8840","line":77,"in_reply_to":"dab17558_469d5958","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                          self.non_admin_token.auth,"},{"line_number":80,"context_line":"                          token\u003dself.non_admin_client.token)"},{"line_number":81,"context_line":"        self.LOG.debug(\u0027validating user %{user_id}s at %{time}s\u0027,"},{"line_number":82,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        # authorize with old password should lead to Unauthorized"},{"line_number":85,"context_line":"        self.assertRaises(exceptions.Unauthorized,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_a6a405a6","line":82,"updated":"2016-05-10 04:16:23.000000000","message":"ditto","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                          self.non_admin_token.auth,"},{"line_number":80,"context_line":"                          token\u003dself.non_admin_client.token)"},{"line_number":81,"context_line":"        self.LOG.debug(\u0027validating user %{user_id}s at %{time}s\u0027,"},{"line_number":82,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        # authorize with old password should lead to Unauthorized"},{"line_number":85,"context_line":"        self.assertRaises(exceptions.Unauthorized,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_8c33c4aa","line":82,"in_reply_to":"dab17558_a6a405a6","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"19d3c10eef96882ec9450632d811a6d873139e24","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        self.non_admin_users_client.update_user_password("},{"line_number":63,"context_line":"            user_id, password\u003dnew_pass, original_password\u003dold_pass)"},{"line_number":64,"context_line":"        LOG.debug(\u0027user %(user_id)s password changed: %(time)s\u0027,"},{"line_number":65,"context_line":"                  {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # NOTE(morganfainberg): Fernet tokens are not subsecond aware and"},{"line_number":68,"context_line":"        # Keystone should only be precise to the second. Sleep to ensure"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_3b7f1016","line":65,"updated":"2016-05-12 04:39:26.000000000","message":"Does the floating point number format time give you any useful information here?","commit_id":"89a266937290f2491bf61a5f1ab14f496d274500"}],"tempest/lib/services/identity/v3/token_client.py":[{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class V3TokenClient(rest_client.RestClient):"},{"line_number":25,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __init__(self, auth_url, disable_ssl_certificate_validation\u003dNone,"},{"line_number":28,"context_line":"                 ca_certs\u003dNone, trace_requests\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_06ba31c0","line":25,"updated":"2016-05-10 04:16:23.000000000","message":"LOG has nothing to do with this class. Should be outside of the class.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class V3TokenClient(rest_client.RestClient):"},{"line_number":25,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def __init__(self, auth_url, disable_ssl_certificate_validation\u003dNone,"},{"line_number":28,"context_line":"                 ca_certs\u003dNone, trace_requests\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_2c4298ae","line":25,"in_reply_to":"dab17558_06ba31c0","updated":"2016-05-10 13:36:16.000000000","message":"This seems to be the pattern in V3TokenClientJSON.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        body \u003d json.dumps(creds, sort_keys\u003dTrue)"},{"line_number":123,"context_line":"        self.LOG.debug(\u0027authenticating user %(user_id)s at %(time)d\u0027,"},{"line_number":124,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"},{"line_number":125,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"},{"line_number":126,"context_line":"        self.LOG.debug(\u0027authenticated user %(user_id)s at %(time)d\u0027,"},{"line_number":127,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_66b17de1","line":124,"updated":"2016-05-10 04:16:23.000000000","message":"LOG should not be variable in the class.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        body \u003d json.dumps(creds, sort_keys\u003dTrue)"},{"line_number":123,"context_line":"        self.LOG.debug(\u0027authenticating user %(user_id)s at %(time)d\u0027,"},{"line_number":124,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"},{"line_number":125,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"},{"line_number":126,"context_line":"        self.LOG.debug(\u0027authenticated user %(user_id)s at %(time)d\u0027,"},{"line_number":127,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_4c455cb1","line":124,"in_reply_to":"dab17558_66b17de1","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"},{"line_number":125,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"},{"line_number":126,"context_line":"        self.LOG.debug(\u0027authenticated user %(user_id)s at %(time)d\u0027,"},{"line_number":127,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"},{"line_number":128,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":129,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_86c62147","line":127,"updated":"2016-05-10 04:16:23.000000000","message":"ditto","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"},{"line_number":125,"context_line":"        resp, body \u003d self.post(self.auth_url, body\u003dbody)"},{"line_number":126,"context_line":"        self.LOG.debug(\u0027authenticated user %(user_id)s at %(time)d\u0027,"},{"line_number":127,"context_line":"                       {\u0027user_id\u0027: user_id or username, \u0027time\u0027: time.time()})"},{"line_number":128,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":129,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_ac14c89f","line":127,"in_reply_to":"dab17558_86c62147","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"}],"tempest/services/identity/v3/json/users_clients.py":[{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class UsersClient(rest_client.RestClient):"},{"line_number":25,"context_line":"    api_version \u003d \"v3\""},{"line_number":26,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def create_user(self, user_name, password\u003dNone, project_id\u003dNone,"},{"line_number":29,"context_line":"                    email\u003dNone, domain_id\u003d\u0027default\u0027, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_26de5511","line":26,"updated":"2016-05-10 04:16:23.000000000","message":"Move out of the class.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class UsersClient(rest_client.RestClient):"},{"line_number":25,"context_line":"    api_version \u003d \"v3\""},{"line_number":26,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def create_user(self, user_name, password\u003dNone, project_id\u003dNone,"},{"line_number":29,"context_line":"                    email\u003dNone, domain_id\u003d\u0027default\u0027, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_2c7a98bd","line":26,"in_reply_to":"dab17558_26de5511","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \"\"\""},{"line_number":85,"context_line":"        update_user \u003d json.dumps({\u0027user\u0027: kwargs})"},{"line_number":86,"context_line":"        self.LOG.debug(\u0027changing password for %(user_id)s at %(time)d\u0027,"},{"line_number":87,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":88,"context_line":"        resp, _ \u003d self.post(\u0027users/%s/password\u0027 % user_id, update_user)"},{"line_number":89,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":90,"context_line":"        self.LOG.debug(\u0027changed password for %(user_id)s at %(time)d\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_46eb99b0","line":87,"updated":"2016-05-10 04:16:23.000000000","message":"LOG is not a variable in the class.","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":12024,"name":"Tong Liu","email":"tongl@vmware.com","username":"tong101"},"change_message_id":"bb84b90579f0d4c26256bee823d83382041cb00c","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        resp, _ \u003d self.post(\u0027users/%s/password\u0027 % user_id, update_user)"},{"line_number":89,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":90,"context_line":"        self.LOG.debug(\u0027changed password for %(user_id)s at %(time)d\u0027,"},{"line_number":91,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":92,"context_line":"        return rest_client.ResponseBody(resp)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def list_user_projects(self, user_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_86cd815f","line":91,"updated":"2016-05-10 04:16:23.000000000","message":"ditto","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19776cf6a4a57ad3cd8fb777f1a435330e497fc8","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        resp, _ \u003d self.post(\u0027users/%s/password\u0027 % user_id, update_user)"},{"line_number":89,"context_line":"        self.expected_success(204, resp.status)"},{"line_number":90,"context_line":"        self.LOG.debug(\u0027changed password for %(user_id)s at %(time)d\u0027,"},{"line_number":91,"context_line":"                       {\u0027user_id\u0027: user_id, \u0027time\u0027: time.time()})"},{"line_number":92,"context_line":"        return rest_client.ResponseBody(resp)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def list_user_projects(self, user_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_0c77d4d3","line":91,"in_reply_to":"dab17558_86cd815f","updated":"2016-05-10 13:36:16.000000000","message":"Done","commit_id":"4e32c1f6ae75f2571eefc33274741aabe663bee0"}]}
