)]}'
{"tempest/lib/services/clients.py":[{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"5c5a3583476b5d9615a579c2626009d99b1e083e","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                    isinstance(self.credentials, auth.IDENTITY_VERSION[k][0])]"},{"line_number":341,"context_line":"        # Zero matches or more than one are both not valid."},{"line_number":342,"context_line":"        if len(identity) !\u003d 1:"},{"line_number":343,"context_line":"            msg \u003d \"Identity must be one, but actual: %s\" % identity"},{"line_number":344,"context_line":"            raise exceptions.InvalidCredentials(msg)"},{"line_number":345,"context_line":"        self.auth_version, auth_provider_class \u003d identity[0]"},{"line_number":346,"context_line":"        self.dscv \u003d disable_ssl_certificate_validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_3d4e2a39","line":343,"range":{"start_line":343,"start_character":18,"end_line":343,"end_character":67},"updated":"2018-07-04 10:34:06.000000000","message":"nit: message should be proper/complete. Here it becomes confusing to know about identity. I mean length of identity or no. of identity\ne.g.: \"Identity must be one in length, but in actual it is: %s\" % identity\"","commit_id":"3c7ea213cc2ef101fbc980e2f9b80bc6be65cdab"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"1cb4e4ec6bc14c9d8d08048f293b249432909643","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                    isinstance(self.credentials, auth.IDENTITY_VERSION[k][0])]"},{"line_number":341,"context_line":"        # Zero matches or more than one are both not valid."},{"line_number":342,"context_line":"        if len(identity) !\u003d 1:"},{"line_number":343,"context_line":"            msg \u003d \"Identity must be one, but actual: %s\" % identity"},{"line_number":344,"context_line":"            raise exceptions.InvalidCredentials(msg)"},{"line_number":345,"context_line":"        self.auth_version, auth_provider_class \u003d identity[0]"},{"line_number":346,"context_line":"        self.dscv \u003d disable_ssl_certificate_validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_b4f7395b","line":343,"updated":"2018-07-11 07:25:59.000000000","message":"ok, I think just a message change is enough, will do.","commit_id":"3c7ea213cc2ef101fbc980e2f9b80bc6be65cdab"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"940385af66e283cd9a6d65394d4b7fd28a495825","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                    isinstance(self.credentials, auth.IDENTITY_VERSION[k][0])]"},{"line_number":341,"context_line":"        # Zero matches or more than one are both not valid."},{"line_number":342,"context_line":"        if len(identity) !\u003d 1:"},{"line_number":343,"context_line":"            msg \u003d \"Identity must be one, but actual: %s\" % identity"},{"line_number":344,"context_line":"            raise exceptions.InvalidCredentials(msg)"},{"line_number":345,"context_line":"        self.auth_version, auth_provider_class \u003d identity[0]"},{"line_number":346,"context_line":"        self.dscv \u003d disable_ssl_certificate_validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_4b7c6eea","line":343,"range":{"start_line":343,"start_character":18,"end_line":343,"end_character":67},"in_reply_to":"5f7c97a3_3d4e2a39","updated":"2018-07-05 07:04:52.000000000","message":"Neither looks really human friendly, maybe :\n\nIn case of 0 raise:\nNo suitable auth provider found for the credentials: {credentials}.\n\nIn case of \u003e1 raise:\nThe auth provider selection is ambiguous, candidates: {identity}.","commit_id":"3c7ea213cc2ef101fbc980e2f9b80bc6be65cdab"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f13807deb449524055d5b1f86108f035a3e64731","unresolved":false,"context_lines":[{"line_number":340,"context_line":"                    isinstance(self.credentials, auth.IDENTITY_VERSION[k][0])]"},{"line_number":341,"context_line":"        # Zero matches or more than one are both not valid."},{"line_number":342,"context_line":"        if len(identity) !\u003d 1:"},{"line_number":343,"context_line":"            msg \u003d \"Identity must be one, but actual: %s\" % identity"},{"line_number":344,"context_line":"            raise exceptions.InvalidCredentials(msg)"},{"line_number":345,"context_line":"        self.auth_version, auth_provider_class \u003d identity[0]"},{"line_number":346,"context_line":"        self.dscv \u003d disable_ssl_certificate_validation"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_5de181fb","line":343,"range":{"start_line":343,"start_character":18,"end_line":343,"end_character":67},"in_reply_to":"5f7c97a3_4b7c6eea","updated":"2018-07-06 03:08:31.000000000","message":"or we can just have single msg conveying both possible error \n\n\"Zero or %s ambiguous auth provider found for the credentials %s:\u0027 identity, credentials.\"","commit_id":"3c7ea213cc2ef101fbc980e2f9b80bc6be65cdab"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"383523c12b07c0b675224ad705f9e8a6a2aa7ce6","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        self.region \u003d region"},{"line_number":332,"context_line":"        # Check if passed or default credentials are valid"},{"line_number":333,"context_line":"        if not self.credentials.is_valid():"},{"line_number":334,"context_line":"            raise exceptions.InvalidCredentials(credentials)"},{"line_number":335,"context_line":"        # Get the identity classes matching the provided credentials"},{"line_number":336,"context_line":"        # TODO(andreaf) Define a new interface in Credentials to get"},{"line_number":337,"context_line":"        # the API version from an instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_8cdc6946","line":334,"range":{"start_line":334,"start_character":48,"end_line":334,"end_character":59},"updated":"2018-07-11 13:55:06.000000000","message":"Can this expose sensitive credentials if this is pre-provisioned credentials? I don\u0027t think it\u0027s likely because these are just test credentials, but I\u0027m not sure.","commit_id":"4cf505badd6fe61c3aa878bb98e3fcd01d280e9a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"e4ee0bf0989815c63163f626080675bf77dba699","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        self.region \u003d region"},{"line_number":332,"context_line":"        # Check if passed or default credentials are valid"},{"line_number":333,"context_line":"        if not self.credentials.is_valid():"},{"line_number":334,"context_line":"            raise exceptions.InvalidCredentials(credentials)"},{"line_number":335,"context_line":"        # Get the identity classes matching the provided credentials"},{"line_number":336,"context_line":"        # TODO(andreaf) Define a new interface in Credentials to get"},{"line_number":337,"context_line":"        # the API version from an instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_e845b770","line":334,"range":{"start_line":334,"start_character":48,"end_line":334,"end_character":59},"in_reply_to":"5f7c97a3_3f43ebb2","updated":"2018-07-12 06:29:49.000000000","message":"good point. Yeah, we shouldn\u0027t expose sensitive data to logs. But I think we already filtered out like that data \u0027password\u0027. Do I misunderstand?\nhttps://github.com/openstack/tempest/blob/master/tempest/lib/auth.py#L685-L689\n\nAnd I\u0027d like to see the cause of failure if like this error occurs.","commit_id":"4cf505badd6fe61c3aa878bb98e3fcd01d280e9a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"79f40a22cc06c1e01e342dcc5babde3f2170de5d","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        self.region \u003d region"},{"line_number":332,"context_line":"        # Check if passed or default credentials are valid"},{"line_number":333,"context_line":"        if not self.credentials.is_valid():"},{"line_number":334,"context_line":"            raise exceptions.InvalidCredentials(credentials)"},{"line_number":335,"context_line":"        # Get the identity classes matching the provided credentials"},{"line_number":336,"context_line":"        # TODO(andreaf) Define a new interface in Credentials to get"},{"line_number":337,"context_line":"        # the API version from an instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_3f43ebb2","line":334,"range":{"start_line":334,"start_character":48,"end_line":334,"end_character":59},"in_reply_to":"5f7c97a3_8cdc6946","updated":"2018-07-12 02:22:50.000000000","message":"nice point. let\u0027s not dump the cred here. i think user can validate the cred explicitly from config when they see this error.","commit_id":"4cf505badd6fe61c3aa878bb98e3fcd01d280e9a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5ea80c79e554a0236b6062a2db00819a42971234","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        self.region \u003d region"},{"line_number":332,"context_line":"        # Check if passed or default credentials are valid"},{"line_number":333,"context_line":"        if not self.credentials.is_valid():"},{"line_number":334,"context_line":"            raise exceptions.InvalidCredentials(credentials)"},{"line_number":335,"context_line":"        # Get the identity classes matching the provided credentials"},{"line_number":336,"context_line":"        # TODO(andreaf) Define a new interface in Credentials to get"},{"line_number":337,"context_line":"        # the API version from an instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_34c75b40","line":334,"range":{"start_line":334,"start_character":48,"end_line":334,"end_character":59},"in_reply_to":"5f7c97a3_e845b770","updated":"2018-07-13 23:57:44.000000000","message":"I feel Masayuki is right here.\nThe sensitive information is only \u0027password\u0027 on both KeystoneV2Credentials and KeystoneV3Credentials like:\n\n 736 class KeystoneV2Credentials(Credentials):\n 737\n 738     ATTRIBUTES \u003d [\u0027username\u0027, \u0027password\u0027, \u0027tenant_name\u0027, \u0027user_id\u0027,\n 739                   \u0027tenant_id\u0027, \u0027project_id\u0027, \u0027project_name\u0027]\n ..\n 776 class KeystoneV3Credentials(Credentials):\n 777     \"\"\"Credentials suitable for the Keystone Identity V3 API\"\"\"\n 778\n 779     ATTRIBUTES \u003d [\u0027domain_id\u0027, \u0027domain_name\u0027, \u0027password\u0027, \u0027username\u0027,\n 780                   \u0027project_domain_id\u0027, \u0027project_domain_name\u0027, \u0027project_id\u0027,\n 781                   \u0027project_name\u0027, \u0027tenant_id\u0027, \u0027tenant_name\u0027, \u0027user_domain_id\u0027,\n\nand v3\u0027s is_invalid() is a little complicated. So it seems worth to dump the information for debugging.","commit_id":"4cf505badd6fe61c3aa878bb98e3fcd01d280e9a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"79f40a22cc06c1e01e342dcc5babde3f2170de5d","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        # Zero matches or more than one are both not valid."},{"line_number":342,"context_line":"        if len(identity) !\u003d 1:"},{"line_number":343,"context_line":"            msg \u003d \"Zero or %s ambiguous auth provider found for the \""},{"line_number":344,"context_line":"            \"credentials: %s\" % (identity, credentials)"},{"line_number":345,"context_line":"            raise exceptions.InvalidCredentials(msg)"},{"line_number":346,"context_line":"        self.auth_version, auth_provider_class \u003d identity[0]"},{"line_number":347,"context_line":"        self.dscv \u003d disable_ssl_certificate_validation"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_5f4027a3","line":344,"range":{"start_line":344,"start_character":43,"end_line":344,"end_character":54},"updated":"2018-07-12 02:22:50.000000000","message":"ditto","commit_id":"4cf505badd6fe61c3aa878bb98e3fcd01d280e9a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5ea80c79e554a0236b6062a2db00819a42971234","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        # Zero matches or more than one are both not valid."},{"line_number":342,"context_line":"        if len(identity) !\u003d 1:"},{"line_number":343,"context_line":"            msg \u003d \"Zero or %s ambiguous auth provider found for the \""},{"line_number":344,"context_line":"            \"credentials: %s\" % (identity, credentials)"},{"line_number":345,"context_line":"            raise exceptions.InvalidCredentials(msg)"},{"line_number":346,"context_line":"        self.auth_version, auth_provider_class \u003d identity[0]"},{"line_number":347,"context_line":"        self.dscv \u003d disable_ssl_certificate_validation"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_34351b44","line":344,"range":{"start_line":344,"start_character":43,"end_line":344,"end_character":54},"in_reply_to":"5f7c97a3_5f4027a3","updated":"2018-07-13 23:57:44.000000000","message":"It is better to output a number as the first argument for easy understanding. How about\n\n msg \u003d \"Zero or %d ambiguous auth provider(s) found. \"\n \"identity: %s, credentials: %s\" % (len(identity), identity, credentials)","commit_id":"4cf505badd6fe61c3aa878bb98e3fcd01d280e9a"}]}
