)]}'
{"keystone/auth/controllers.py":[{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if \u0027user_id\u0027 not in auth_context:"},{"line_number":257,"context_line":"            msg \u003d \u0027User not found by auth plugin; authentication failed\u0027"},{"line_number":258,"context_line":"            tr_msg \u003d _(\u0027User not found by auth plugin; authentication failed\u0027)"},{"line_number":259,"context_line":"            LOG.warning(msg)"},{"line_number":260,"context_line":"            raise exception.Unauthorized(tr_msg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_c916e14a","line":258,"range":{"start_line":258,"start_character":23,"end_line":258,"end_character":77},"updated":"2018-08-28 17:57:04.000000000","message":"why writing the same string multiple time? can we pass the \u0027msg\u0027 variable here?","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"49bc583c44d61229ce809668b3b2fe8f57fdf2cf","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if \u0027user_id\u0027 not in auth_context:"},{"line_number":257,"context_line":"            msg \u003d \u0027User not found by auth plugin; authentication failed\u0027"},{"line_number":258,"context_line":"            tr_msg \u003d _(\u0027User not found by auth plugin; authentication failed\u0027)"},{"line_number":259,"context_line":"            LOG.warning(msg)"},{"line_number":260,"context_line":"            raise exception.Unauthorized(tr_msg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_ccc90526","line":258,"range":{"start_line":258,"start_character":23,"end_line":258,"end_character":77},"in_reply_to":"3f79a3b5_c916e14a","updated":"2018-08-29 04:00:38.000000000","message":"++","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"df4a1f048281aafc86b0cea2ed2c678f3f877f2b","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if \u0027user_id\u0027 not in auth_context:"},{"line_number":257,"context_line":"            msg \u003d \u0027User not found by auth plugin; authentication failed\u0027"},{"line_number":258,"context_line":"            tr_msg \u003d _(\u0027User not found by auth plugin; authentication failed\u0027)"},{"line_number":259,"context_line":"            LOG.warning(msg)"},{"line_number":260,"context_line":"            raise exception.Unauthorized(tr_msg)"},{"line_number":261,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_8c48ed87","line":258,"range":{"start_line":258,"start_character":23,"end_line":258,"end_character":77},"in_reply_to":"3f79a3b5_c916e14a","updated":"2018-08-29 04:17:30.000000000","message":"Here in exception we have to pass a translated string whereas normal in logging. Thus, duplication of string is done to pass different strings in logging and exception.","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}],"keystone/auth/core.py":[{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                if (CONF.resource.domain_name_url_safe \u003d\u003d \u0027strict\u0027 and"},{"line_number":169,"context_line":"                        utils.is_not_url_safe(domain_name)):"},{"line_number":170,"context_line":"                    msg \u003d \u0027Domain name cannot contain reserved characters.\u0027"},{"line_number":171,"context_line":"                    tr_msg \u003d _(\u0027Domain name cannot contain reserved \u0027"},{"line_number":172,"context_line":"                               \u0027characters.\u0027)"},{"line_number":173,"context_line":"                    LOG.warning(msg)"},{"line_number":174,"context_line":"                    raise exception.Unauthorized(message\u003dtr_msg)"},{"line_number":175,"context_line":"                domain_ref \u003d PROVIDERS.resource_api.get_domain_by_name("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_492411b0","line":172,"range":{"start_line":171,"start_character":31,"end_line":172,"end_character":43},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"df4a1f048281aafc86b0cea2ed2c678f3f877f2b","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                if (CONF.resource.domain_name_url_safe \u003d\u003d \u0027strict\u0027 and"},{"line_number":169,"context_line":"                        utils.is_not_url_safe(domain_name)):"},{"line_number":170,"context_line":"                    msg \u003d \u0027Domain name cannot contain reserved characters.\u0027"},{"line_number":171,"context_line":"                    tr_msg \u003d _(\u0027Domain name cannot contain reserved \u0027"},{"line_number":172,"context_line":"                               \u0027characters.\u0027)"},{"line_number":173,"context_line":"                    LOG.warning(msg)"},{"line_number":174,"context_line":"                    raise exception.Unauthorized(message\u003dtr_msg)"},{"line_number":175,"context_line":"                domain_ref \u003d PROVIDERS.resource_api.get_domain_by_name("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_0c54dd20","line":172,"range":{"start_line":171,"start_character":31,"end_line":172,"end_character":43},"in_reply_to":"3f79a3b5_492411b0","updated":"2018-08-29 04:17:30.000000000","message":"Same reason as above","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"},{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                if (CONF.resource.project_name_url_safe \u003d\u003d \u0027strict\u0027 and"},{"line_number":191,"context_line":"                        utils.is_not_url_safe(project_name)):"},{"line_number":192,"context_line":"                    msg \u003d \u0027Project name cannot contain reserved characters.\u0027"},{"line_number":193,"context_line":"                    tr_msg \u003d _(\u0027Project name cannot contain reserved \u0027"},{"line_number":194,"context_line":"                               \u0027characters.\u0027)"},{"line_number":195,"context_line":"                    LOG.warning(msg)"},{"line_number":196,"context_line":"                    raise exception.Unauthorized(message\u003dtr_msg)"},{"line_number":197,"context_line":"                if \u0027domain\u0027 not in project_info:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_694a2d5c","line":194,"range":{"start_line":193,"start_character":32,"end_line":194,"end_character":42},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"},{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":253,"context_line":"            user_id, hints)"},{"line_number":254,"context_line":"        if len(app_creds) !\u003d 1:"},{"line_number":255,"context_line":"            message \u003d \"Could not find application credential: %s\" % name"},{"line_number":256,"context_line":"            tr_message \u003d _(\"Could not find application credential: %s\") % name"},{"line_number":257,"context_line":"            LOG.warning(six.text_type(message))"},{"line_number":258,"context_line":"            raise exception.Unauthorized(tr_message)"},{"line_number":259,"context_line":"        return app_creds[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_894f8969","line":256,"range":{"start_line":256,"start_character":27,"end_line":256,"end_character":78},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}],"keystone/common/controller.py":[{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":546,"context_line":"            return token.project_domain[\u0027id\u0027]"},{"line_number":547,"context_line":"        else:"},{"line_number":548,"context_line":"            msg \u003d \u0027No domain information specified as part of list request\u0027"},{"line_number":549,"context_line":"            tr_msg \u003d _(\u0027No domain information specified as part of list\u0027"},{"line_number":550,"context_line":"                       \u0027request\u0027)"},{"line_number":551,"context_line":"            LOG.warning(msg)"},{"line_number":552,"context_line":"            raise exception.Unauthorized(tr_msg)"},{"line_number":553,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_69730db6","line":550,"range":{"start_line":549,"start_character":23,"end_line":550,"end_character":32},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}],"keystone/common/request.py":[{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                   \u0027auth_context middleware is not in place. You \u0027"},{"line_number":96,"context_line":"                   \u0027must have this middleware in your pipeline \u0027"},{"line_number":97,"context_line":"                   \u0027to perform authenticated calls\u0027)"},{"line_number":98,"context_line":"            tr_msg \u003d _(\u0027An authenticated call was made and there is \u0027"},{"line_number":99,"context_line":"                       \u0027no request.context. This means the \u0027"},{"line_number":100,"context_line":"                       \u0027auth_context middleware is not in place. You \u0027"},{"line_number":101,"context_line":"                       \u0027must have this middleware in your pipeline \u0027"},{"line_number":102,"context_line":"                       \u0027to perform authenticated calls\u0027)"},{"line_number":103,"context_line":"            LOG.warning(msg)"},{"line_number":104,"context_line":"            raise exception.Unauthorized(tr_msg)"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_0964d9e4","line":102,"range":{"start_line":98,"start_character":23,"end_line":102,"end_character":55},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}],"keystone/credential/providers/fernet/core.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"dfa5aec1f224da574555dd9b4aaa5a85f597e96d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        except (TypeError, ValueError) as e:"},{"line_number":88,"context_line":"            msg \u003d _(\u0027Credential could not be encrypted: %s\u0027) % str(e)"},{"line_number":89,"context_line":"            LOG.error(msg)"},{"line_number":90,"context_line":"            raise exception.CredentialEncryptionError(msg)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def decrypt(self, credential):"},{"line_number":93,"context_line":"        \"\"\"Attempt to decrypt a credential."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b3ea160c","side":"PARENT","line":90,"range":{"start_line":90,"start_character":54,"end_line":90,"end_character":57},"updated":"2018-08-27 11:17:39.000000000","message":"_ should not be removed for exception. example: https://github.com/openstack/keystone/blob/master/keystone/api/os_oauth1.py#L254-L257","commit_id":"177c0e610180d8709f90046f5d0e6563c95742f6"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"6ce1e4e55a63282fd85016e00478c42ee92db4d9","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        except (TypeError, ValueError) as e:"},{"line_number":88,"context_line":"            msg \u003d _(\u0027Credential could not be encrypted: %s\u0027) % str(e)"},{"line_number":89,"context_line":"            LOG.error(msg)"},{"line_number":90,"context_line":"            raise exception.CredentialEncryptionError(msg)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def decrypt(self, credential):"},{"line_number":93,"context_line":"        \"\"\"Attempt to decrypt a credential."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_5714b84c","side":"PARENT","line":90,"range":{"start_line":90,"start_character":54,"end_line":90,"end_character":57},"in_reply_to":"3f79a3b5_b3ea160c","updated":"2018-08-28 06:39:11.000000000","message":"Done","commit_id":"177c0e610180d8709f90046f5d0e6563c95742f6"},{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        except (fernet.InvalidToken, TypeError, ValueError):"},{"line_number":110,"context_line":"            msg \u003d (\u0027Credential could not be decrypted. Please contact the \u0027"},{"line_number":111,"context_line":"                   \u0027administrator\u0027)"},{"line_number":112,"context_line":"            tr_msg \u003d _(\u0027Credential could not be decrypted. Please contact the\u0027"},{"line_number":113,"context_line":"                       \u0027administrator\u0027)"},{"line_number":114,"context_line":"            LOG.error(msg)"},{"line_number":115,"context_line":"            raise exception.CredentialEncryptionError(tr_msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_c9b2614a","line":113,"range":{"start_line":112,"start_character":23,"end_line":113,"end_character":38},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}],"keystone/federation/controllers.py":[{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        if not origin:"},{"line_number":282,"context_line":"            msg \u003d \u0027Request must have an origin query parameter\u0027"},{"line_number":283,"context_line":"            tr_msg \u003d _(\u0027Request must have an origin query parameter\u0027)"},{"line_number":284,"context_line":"            LOG.error(msg)"},{"line_number":285,"context_line":"            raise exception.ValidationError(tr_msg)"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_8986a965","line":283,"range":{"start_line":283,"start_character":23,"end_line":283,"end_character":67},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"},{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":324,"context_line":"            remote_id \u003d request.environ[remote_id_name]"},{"line_number":325,"context_line":"        except KeyError:"},{"line_number":326,"context_line":"            msg \u003d \u0027Missing entity ID from environment\u0027"},{"line_number":327,"context_line":"            tr_msg \u003d _(\u0027Missing entity ID from environment\u0027)"},{"line_number":328,"context_line":"            LOG.error(msg)"},{"line_number":329,"context_line":"            raise exception.Unauthorized(tr_msg)"},{"line_number":330,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_a9e36534","line":327,"range":{"start_line":327,"start_character":23,"end_line":327,"end_character":59},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}],"keystone/federation/idp.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"e8e0ecc6fce8993fe4659460655cd3c5f433eb1d","unresolved":false,"context_lines":[{"line_number":531,"context_line":"            try:"},{"line_number":532,"context_line":"                return sigver.read_cert_from_file(CONF.saml.certfile, \u0027pem\u0027)"},{"line_number":533,"context_line":"            except (IOError, sigver.CertificateError) as e:"},{"line_number":534,"context_line":"                msg \u003d (\u0027Cannot open certificate %(cert_file)s.\u0027"},{"line_number":535,"context_line":"                       \u0027Reason: %(reason)s\u0027) % {"},{"line_number":536,"context_line":"                    \u0027cert_file\u0027: CONF.saml.certfile, \u0027reason\u0027: e}"},{"line_number":537,"context_line":"                tr_msg \u003d _(\u0027Cannot open certificate %(cert_file)s.\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_aa99ed79","line":534,"range":{"start_line":534,"start_character":61,"end_line":534,"end_character":62},"updated":"2018-08-30 06:18:17.000000000","message":"nit: the blank is missed","commit_id":"4c8e228c5e792c1e7f38ee481c7e01e255643cfb"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"e8e0ecc6fce8993fe4659460655cd3c5f433eb1d","unresolved":false,"context_lines":[{"line_number":534,"context_line":"                msg \u003d (\u0027Cannot open certificate %(cert_file)s.\u0027"},{"line_number":535,"context_line":"                       \u0027Reason: %(reason)s\u0027) % {"},{"line_number":536,"context_line":"                    \u0027cert_file\u0027: CONF.saml.certfile, \u0027reason\u0027: e}"},{"line_number":537,"context_line":"                tr_msg \u003d _(\u0027Cannot open certificate %(cert_file)s.\u0027"},{"line_number":538,"context_line":"                           \u0027Reason: %(reason)s\u0027) % {"},{"line_number":539,"context_line":"                    \u0027cert_file\u0027: CONF.saml.certfile, \u0027reason\u0027: e}"},{"line_number":540,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_4a885921","line":537,"range":{"start_line":537,"start_character":65,"end_line":537,"end_character":66},"updated":"2018-08-30 06:18:17.000000000","message":"ditto","commit_id":"4c8e228c5e792c1e7f38ee481c7e01e255643cfb"}],"keystone/federation/utils.py":[{"author":{"_account_id":15699,"name":"sonu","email":"sonu.bhumca11@gmail.com","username":"sonu.kumar"},"change_message_id":"aad7731a923e6b94f2df7ec4bcb1e10a6f134b4b","unresolved":false,"context_lines":[{"line_number":612,"context_line":"            msg \u003d (\"Could not map any federated user properties to identity \""},{"line_number":613,"context_line":"                   \"values. Check debug logs or the mapping used for \""},{"line_number":614,"context_line":"                   \"additional details.\")"},{"line_number":615,"context_line":"            tr_msg \u003d _(\"Could not map any federated user properties to \""},{"line_number":616,"context_line":"                       \"identity values. Check debug logs or the mapping used\""},{"line_number":617,"context_line":"                       \"for additional details.\")"},{"line_number":618,"context_line":"            LOG.warning(msg)"},{"line_number":619,"context_line":"            raise exception.ValidationError(tr_msg)"},{"line_number":620,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_89d46949","line":617,"range":{"start_line":615,"start_character":23,"end_line":617,"end_character":47},"updated":"2018-08-28 17:57:04.000000000","message":"ditto","commit_id":"a789acf4e0e266102bfcd6ca3448c5211af0f616"}]}
