)]}'
{"keystoneclient/httpclient.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"bf7797ee66bebaf197e6e9dbbf1065ba82a15feb","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        # If trust_id is set, passing domain/project/token is not appropriate"},{"line_number":378,"context_line":"        # as we want a new trust-scoped token, any other scope will fail"},{"line_number":379,"context_line":"        if trust_id and username and password:"},{"line_number":380,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":381,"context_line":"        else:"},{"line_number":382,"context_line":"            kwargs.update({"},{"line_number":383,"context_line":"                \u0027user_id\u0027: user_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_d2ccf68b","line":380,"updated":"2014-06-04 07:20:01.000000000","message":"token auth would break here? though it might be broken already.\n\nIs there any reason for the user/pass check? Can\u0027t we just say if trust_id?","commit_id":"77af7418d4cc68cfce54e2bdb71e2455eb0c30f6"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"7101222b36393f2dba7dbe3b72e8ed6aac36f3ed","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        # If trust_id is set, passing domain/project/token is not appropriate"},{"line_number":378,"context_line":"        # as we want a new trust-scoped token, any other scope will fail"},{"line_number":379,"context_line":"        if trust_id and username and password:"},{"line_number":380,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":381,"context_line":"        else:"},{"line_number":382,"context_line":"            kwargs.update({"},{"line_number":383,"context_line":"                \u0027user_id\u0027: user_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_73e752ac","line":380,"in_reply_to":"1ae5cdf2_2850f909","updated":"2014-06-06 09:21:44.000000000","message":"Tested, token auth does work, we just want to prefer user/pass if they exist, to avoid using an existing trust-scoped token.  When the client has a reference to an existing non-trust-scoped token reauth using the token when specifying a trust works fine.","commit_id":"77af7418d4cc68cfce54e2bdb71e2455eb0c30f6"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"a01689f8bd0368907583c2acd6944a4b2b5c1bba","unresolved":false,"context_lines":[{"line_number":377,"context_line":"        # If trust_id is set, passing domain/project/token is not appropriate"},{"line_number":378,"context_line":"        # as we want a new trust-scoped token, any other scope will fail"},{"line_number":379,"context_line":"        if trust_id and username and password:"},{"line_number":380,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":381,"context_line":"        else:"},{"line_number":382,"context_line":"            kwargs.update({"},{"line_number":383,"context_line":"                \u0027user_id\u0027: user_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_2850f909","line":380,"in_reply_to":"1ae5cdf2_d2ccf68b","updated":"2014-06-06 08:37:48.000000000","message":"Well if you have a client which has already obtained a token, you don\u0027t want to pass the token in preference to user/pass, because you can\u0027t get another token with the trust-scoped token in the auth_ref.  So we can\u0027t just say trust_id.\n\nBut you\u0027re right, if the token isn\u0027t trust-scoped, it should be possible, or at least I think it should, will have to do some testing to confirm.  Maybe we need an elif to handle this case.","commit_id":"77af7418d4cc68cfce54e2bdb71e2455eb0c30f6"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"a82b5611991ec91a5e031611c2acea68627e1bb9","unresolved":false,"context_lines":[{"line_number":388,"context_line":"                \u0027project_domain_id\u0027: project_domain_id,"},{"line_number":389,"context_line":"                \u0027project_domain_name\u0027: project_domain_name,"},{"line_number":390,"context_line":"                \u0027token\u0027: token,"},{"line_number":391,"context_line":"                \u0027trust_id\u0027: trust_id,"},{"line_number":392,"context_line":"            })"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        (keyring_key, auth_ref) \u003d self.get_auth_ref_from_keyring(**kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_9d3748e3","line":391,"updated":"2014-05-31 13:12:22.000000000","message":"Drop setting trust_id?  The only way trust_id would be set is \n! (trust_id and username and password)","commit_id":"77af7418d4cc68cfce54e2bdb71e2455eb0c30f6"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"20af6f7f4b98bedc49a5291fe182595a68fd1803","unresolved":false,"context_lines":[{"line_number":388,"context_line":"                \u0027project_domain_id\u0027: project_domain_id,"},{"line_number":389,"context_line":"                \u0027project_domain_name\u0027: project_domain_name,"},{"line_number":390,"context_line":"                \u0027token\u0027: token,"},{"line_number":391,"context_line":"                \u0027trust_id\u0027: trust_id,"},{"line_number":392,"context_line":"            })"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        (keyring_key, auth_ref) \u003d self.get_auth_ref_from_keyring(**kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_734e2898","line":391,"in_reply_to":"1ae5cdf2_9d3748e3","updated":"2014-06-01 06:45:01.000000000","message":"Hmm, yeah I wondered about that, but wasn\u0027t sure if there could be a situation where an unscoped v2 token was provided, which was to be re-scoped to a trust?","commit_id":"77af7418d4cc68cfce54e2bdb71e2455eb0c30f6"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"5e70233b20923409f3e4af1821eaf806c7d5956a","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                kwargs[\u0027token\u0027] \u003d token"},{"line_number":383,"context_line":"        else:"},{"line_number":384,"context_line":"            kwargs.update({"},{"line_number":385,"context_line":"                \u0027user_id\u0027: user_id,"},{"line_number":386,"context_line":"                \u0027domain_id\u0027: domain_id,"},{"line_number":387,"context_line":"                \u0027domain_name\u0027: domain_name,"},{"line_number":388,"context_line":"                \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_3e26ef16","line":385,"updated":"2014-06-10 21:58:23.000000000","message":"why not passing \"user_id\" even if \"trust_id\" is set as it belongs to identity?","commit_id":"ab0695cd552a63bc1f612e786f9f547bdbf2ddb2"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"003f03dd2b57c67f338befa35761f00ed2415966","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                kwargs[\u0027token\u0027] \u003d token"},{"line_number":383,"context_line":"        else:"},{"line_number":384,"context_line":"            kwargs.update({"},{"line_number":385,"context_line":"                \u0027user_id\u0027: user_id,"},{"line_number":386,"context_line":"                \u0027domain_id\u0027: domain_id,"},{"line_number":387,"context_line":"                \u0027domain_name\u0027: domain_name,"},{"line_number":388,"context_line":"                \u0027project_id\u0027: project_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_4d75c0c9","line":385,"in_reply_to":"1ae5cdf2_3e26ef16","updated":"2014-06-11 10:56:52.000000000","message":"Because the user_id is implicitly defined by the trust, so you don\u0027t need it, you just need a token or username and password.","commit_id":"ab0695cd552a63bc1f612e786f9f547bdbf2ddb2"}],"keystoneclient/tests/v3/test_client.py":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"5e70233b20923409f3e4af1821eaf806c7d5956a","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            \u0027{\"auth\": {\"scope\": {\"OS-TRUST:trust\": {\"id\": \"fe0aef\"}}, \u0027"},{"line_number":134,"context_line":"            \u0027\"identity\": {\"password\": {\"user\": {\"domain\": {\"name\": \u0027"},{"line_number":135,"context_line":"            \u0027\"exampledomain\"}, \"password\": \"password\", \"name\": \"exampleuser\"}}\u0027"},{"line_number":136,"context_line":"            \u0027, \"methods\": [\"password\"]}}}\u0027)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        c \u003d client.Client(user_domain_name\u003d\u0027exampledomain\u0027,"},{"line_number":139,"context_line":"                          username\u003d\u0027exampleuser\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_1224c7ad","line":136,"updated":"2014-06-10 21:58:23.000000000","message":"content of auth_body_expected should come from fixtures instead of hardcoding it here","commit_id":"ab0695cd552a63bc1f612e786f9f547bdbf2ddb2"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"003f03dd2b57c67f338befa35761f00ed2415966","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            \u0027{\"auth\": {\"scope\": {\"OS-TRUST:trust\": {\"id\": \"fe0aef\"}}, \u0027"},{"line_number":134,"context_line":"            \u0027\"identity\": {\"password\": {\"user\": {\"domain\": {\"name\": \u0027"},{"line_number":135,"context_line":"            \u0027\"exampledomain\"}, \"password\": \"password\", \"name\": \"exampleuser\"}}\u0027"},{"line_number":136,"context_line":"            \u0027, \"methods\": [\"password\"]}}}\u0027)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        c \u003d client.Client(user_domain_name\u003d\u0027exampledomain\u0027,"},{"line_number":139,"context_line":"                          username\u003d\u0027exampleuser\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_2d5f9442","line":136,"in_reply_to":"1ae5cdf2_1224c7ad","updated":"2014-06-11 10:56:52.000000000","message":"The fixtures define the canned responses though don\u0027t they, not the request body, which will change depending on the test?\n\nPart of the problem is the request body isn\u0027t checked by any of the existing tests here AFAICS, so the code could pass any body and the test would still pass.","commit_id":"ab0695cd552a63bc1f612e786f9f547bdbf2ddb2"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"5e70233b20923409f3e4af1821eaf806c7d5956a","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        auth_body_expected \u003d ("},{"line_number":167,"context_line":"            \u0027{\"auth\": {\"scope\": {\"OS-TRUST:trust\": {\"id\": \"fe0aef\"}}, \u0027"},{"line_number":168,"context_line":"            \u0027\"identity\": {\"token\": {\"id\": \"u_token\"}, \"methods\": [\"token\"]}}}\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        c \u003d client.Client(token\u003d\u0027u_token\u0027,"},{"line_number":171,"context_line":"                          auth_url\u003dself.TEST_URL,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ae5cdf2_9218d776","line":168,"updated":"2014-06-10 21:58:23.000000000","message":"content of auth_body_expected should come from fixtures instead of hardcoding it here","commit_id":"ab0695cd552a63bc1f612e786f9f547bdbf2ddb2"}]}
