)]}'
{"keystoneauth1/access/access.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9577e841c85966bfaed1544bc83953c4ab803384","unresolved":false,"context_lines":[{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    @property"},{"line_number":771,"context_line":"    def application_credential_restricted(self):"},{"line_number":772,"context_line":"        return self._data[\u0027token\u0027].get(\u0027application_credential_restricted\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_2c3fa2b4","line":772,"updated":"2018-01-17 15:20:04.000000000","message":"This is a boolean, right? If so, where do we keep the other half of the mapping that would use this?","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"03e8088f7d691ab40832c8091db1df8023305ef0","unresolved":false,"context_lines":[{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    @property"},{"line_number":771,"context_line":"    def application_credential_restricted(self):"},{"line_number":772,"context_line":"        return self._data[\u0027token\u0027].get(\u0027application_credential_restricted\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_2c0c823f","line":772,"in_reply_to":"7f96bb07_0c6e662e","updated":"2018-01-17 15:32:28.000000000","message":"Oh, gotcha. I don\u0027t think so, this is a server-side restriction: https://review.openstack.org/#/c/533431/5/keystone/application_credential/controllers.py@89\n\nI suppose it\u0027s probably not worth exposing this on the client side? Or if we find we want to for some reason we can add it later","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a4fd2d05df43ee6adfaa61ab2b6f8e79a5dfa846","unresolved":false,"context_lines":[{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    @property"},{"line_number":771,"context_line":"    def application_credential_restricted(self):"},{"line_number":772,"context_line":"        return self._data[\u0027token\u0027].get(\u0027application_credential_restricted\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_0c6e662e","line":772,"in_reply_to":"7f96bb07_0ccd0665","updated":"2018-01-17 15:27:49.000000000","message":"Are we going to write code in the client that uses this information to prevent certain calls from being made?","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"55dc654b49968b0edbbbc02f8560b7f85930a95e","unresolved":false,"context_lines":[{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    @property"},{"line_number":771,"context_line":"    def application_credential_restricted(self):"},{"line_number":772,"context_line":"        return self._data[\u0027token\u0027].get(\u0027application_credential_restricted\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_869a52b6","line":772,"in_reply_to":"7f96bb07_2c0c823f","updated":"2018-01-17 15:37:13.000000000","message":"Yeah - I think that\u0027s ultimately where I was going, but didn\u0027t want to say we shouldn\u0027t include it if we had a reason to.","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"005679d16b51dbbe6e4f51cc065da39a20874aff","unresolved":false,"context_lines":[{"line_number":769,"context_line":""},{"line_number":770,"context_line":"    @property"},{"line_number":771,"context_line":"    def application_credential_restricted(self):"},{"line_number":772,"context_line":"        return self._data[\u0027token\u0027].get(\u0027application_credential_restricted\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_0ccd0665","line":772,"in_reply_to":"7f96bb07_2c3fa2b4","updated":"2018-01-17 15:24:36.000000000","message":"It is a boolean. I don\u0027t understand what you mean by the other half.","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"}],"keystoneauth1/loading/_plugins/identity/v3.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ccfefa4425ed73327366401f6dde6d0520f5c8df","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                        help\u003d\"Application credential auth secret\"),"},{"line_number":272,"context_line":"        ]),"},{"line_number":273,"context_line":"        options.extend(["},{"line_number":274,"context_line":"            loading.Opt(\u0027id\u0027, help\u003d\u0027Application credential ID\u0027),"},{"line_number":275,"context_line":"        ]),"},{"line_number":276,"context_line":"        options.extend(["},{"line_number":277,"context_line":"            loading.Opt(\u0027name\u0027, help\u003d\u0027Application credential name\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_a6950e89","line":274,"updated":"2018-01-17 15:37:12.000000000","message":"Wondering if it would be clearer to say \u0027application_credential_id\u0027 and \u0027application_credential_name\u0027 or if that\u0027s clear enough when the v3applicationcredential plugin is being selected.","commit_id":"61f7fcc2856aa237d005b4445bcf4a10081ff564"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"a6433db9b6e2a649c2ce10879dd9788a327f66b4","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                        help\u003d\"Application credential auth secret\"),"},{"line_number":272,"context_line":"        ]),"},{"line_number":273,"context_line":"        options.extend(["},{"line_number":274,"context_line":"            loading.Opt(\u0027id\u0027, help\u003d\u0027Application credential ID\u0027),"},{"line_number":275,"context_line":"        ]),"},{"line_number":276,"context_line":"        options.extend(["},{"line_number":277,"context_line":"            loading.Opt(\u0027name\u0027, help\u003d\u0027Application credential name\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_c6fe1a6a","line":274,"in_reply_to":"7f96bb07_46be8aff","updated":"2018-01-17 15:49:53.000000000","message":"I\u0027m not positive but I think with ksa you need to be explicit about the plugin you\u0027re using: http://git.openstack.org/cgit/openstack/keystoneauth/tree/keystoneauth1/loading/conf.py#n122\n\nI think it\u0027s openstackclient that tries to be smart about selecting the plugin.\n\nBut in any case, let\u0027s say we\u0027re looking at it from openstackclient\u0027s perspective, does it make sense to say OS_ID and OS_SECRET if you want to auth with an application credential?\n\nTalking it through like that I am thinking not, it should probably be more verbose, like OS_APPLICATION_CREDENTIAL_ID and OS_APPLICATION_CREDENTIAL_SECRET","commit_id":"61f7fcc2856aa237d005b4445bcf4a10081ff564"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72371c0b2739b46b2402611864df58cedd9d7dc7","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                        help\u003d\"Application credential auth secret\"),"},{"line_number":272,"context_line":"        ]),"},{"line_number":273,"context_line":"        options.extend(["},{"line_number":274,"context_line":"            loading.Opt(\u0027id\u0027, help\u003d\u0027Application credential ID\u0027),"},{"line_number":275,"context_line":"        ]),"},{"line_number":276,"context_line":"        options.extend(["},{"line_number":277,"context_line":"            loading.Opt(\u0027name\u0027, help\u003d\u0027Application credential name\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_46be8aff","line":274,"in_reply_to":"7f96bb07_a6950e89","updated":"2018-01-17 15:39:16.000000000","message":"I\u0027m kinda dense when it comes to ksa stuff... but the plugin gets selected when specific parameters are present, right?","commit_id":"61f7fcc2856aa237d005b4445bcf4a10081ff564"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"777177297734de0ab2d3195193acd5e1eacbc076","unresolved":false,"context_lines":[{"line_number":271,"context_line":"                        help\u003d\"Application credential auth secret\"),"},{"line_number":272,"context_line":"        ]),"},{"line_number":273,"context_line":"        options.extend(["},{"line_number":274,"context_line":"            loading.Opt(\u0027id\u0027, help\u003d\u0027Application credential ID\u0027),"},{"line_number":275,"context_line":"        ]),"},{"line_number":276,"context_line":"        options.extend(["},{"line_number":277,"context_line":"            loading.Opt(\u0027name\u0027, help\u003d\u0027Application credential name\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_b4316da5","line":274,"in_reply_to":"7f96bb07_c6fe1a6a","updated":"2018-01-19 15:57:33.000000000","message":"++ I would agree.","commit_id":"61f7fcc2856aa237d005b4445bcf4a10081ff564"}],"keystoneauth1/tests/unit/identity/test_identity_v3.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9577e841c85966bfaed1544bc83953c4ab803384","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                \"self\": \"https://identity:5000/v3/projects\","},{"line_number":190,"context_line":"            }"},{"line_number":191,"context_line":"        }"},{"line_number":192,"context_line":"        self.TEST_APP_CRED_RESPONSE \u003d {"},{"line_number":193,"context_line":"            \"token\": {"},{"line_number":194,"context_line":"                \"methods\": ["},{"line_number":195,"context_line":"                    \"application_credential\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_8c6116ac","line":192,"range":{"start_line":192,"start_character":13,"end_line":192,"end_character":35},"updated":"2018-01-17 15:20:04.000000000","message":"This is an application credential scoped token, right?","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a4fd2d05df43ee6adfaa61ab2b6f8e79a5dfa846","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                \"self\": \"https://identity:5000/v3/projects\","},{"line_number":190,"context_line":"            }"},{"line_number":191,"context_line":"        }"},{"line_number":192,"context_line":"        self.TEST_APP_CRED_RESPONSE \u003d {"},{"line_number":193,"context_line":"            \"token\": {"},{"line_number":194,"context_line":"                \"methods\": ["},{"line_number":195,"context_line":"                    \"application_credential\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_ec70da0a","line":192,"range":{"start_line":192,"start_character":13,"end_line":192,"end_character":35},"in_reply_to":"7f96bb07_6c860a16","updated":"2018-01-17 15:27:49.000000000","message":"Oh - cool. I didn\u0027t think I saw a change to the token providers.","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"005679d16b51dbbe6e4f51cc065da39a20874aff","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                \"self\": \"https://identity:5000/v3/projects\","},{"line_number":190,"context_line":"            }"},{"line_number":191,"context_line":"        }"},{"line_number":192,"context_line":"        self.TEST_APP_CRED_RESPONSE \u003d {"},{"line_number":193,"context_line":"            \"token\": {"},{"line_number":194,"context_line":"                \"methods\": ["},{"line_number":195,"context_line":"                    \"application_credential\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_6c860a16","line":192,"range":{"start_line":192,"start_character":13,"end_line":192,"end_character":35},"in_reply_to":"7f96bb07_8c6116ac","updated":"2018-01-17 15:24:36.000000000","message":"Technically it\u0027s a project-scoped token. Current implementation of the server-side auth plugin doesn\u0027t create a new scope type for application credentials, rather it uses the application_credential auth method to create a project-scoped token.\n\nCould rename this variable to TEST_APP_CRED_TOKEN_RESPONSE ?","commit_id":"00f3064464aa45efa7ea05c314c3e1c3157a9c57"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1cbf0b75a40c19250acf6ed2c7d35a5ca335844f","unresolved":false,"context_lines":[{"line_number":403,"context_line":"        self.assertRaises(exceptions.AuthorizationFailure, a.get_auth_ref, s)"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"    def test_application_credential_method(self):"},{"line_number":406,"context_line":"        self.stub_auth(json\u003dself.TEST_APP_CRED_TOKEN_RESPONSE)"},{"line_number":407,"context_line":"        ac \u003d v3.ApplicationCredential(self.TEST_URL,"},{"line_number":408,"context_line":"                                      id\u003dself.TEST_APP_CRED_ID,"},{"line_number":409,"context_line":"                                      secret\u003dself.TEST_APP_CRED_SECRET)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_06bf22d1","line":406,"range":{"start_line":406,"start_character":33,"end_line":406,"end_character":61},"updated":"2018-01-17 15:44:51.000000000","message":"Since this is just a project-scoped token, we should have to add any tests to?\n\nhttps://github.com/openstack/keystoneauth/blob/d56791d6e83a30ed0f00195b922010fe8059cf50/keystoneauth1/tests/unit/access/test_v3_access.py","commit_id":"61f7fcc2856aa237d005b4445bcf4a10081ff564"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9353d9a24eacf4b758b4b9827083340f501dca7e","unresolved":false,"context_lines":[{"line_number":403,"context_line":"        self.assertRaises(exceptions.AuthorizationFailure, a.get_auth_ref, s)"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"    def test_application_credential_method(self):"},{"line_number":406,"context_line":"        self.stub_auth(json\u003dself.TEST_APP_CRED_TOKEN_RESPONSE)"},{"line_number":407,"context_line":"        ac \u003d v3.ApplicationCredential(self.TEST_URL,"},{"line_number":408,"context_line":"                                      id\u003dself.TEST_APP_CRED_ID,"},{"line_number":409,"context_line":"                                      secret\u003dself.TEST_APP_CRED_SECRET)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_66de26db","line":406,"range":{"start_line":406,"start_character":33,"end_line":406,"end_character":61},"in_reply_to":"7f96bb07_06bf22d1","updated":"2018-01-17 15:55:27.000000000","message":"Not sure ... the only thing that\u0027s different about this response is the methods list","commit_id":"61f7fcc2856aa237d005b4445bcf4a10081ff564"}]}
