From 0f749cacc2b0a76226a6a7ab7769ecf1475a160b Mon Sep 17 00:00:00 2001 From: yangweiwei Date: Fri, 17 Nov 2017 11:39:15 +0800 Subject: [PATCH] Fix credentials in create, update and list. Now, keystone has supported serverl auth method, like 'totp'. Before we use this method, we should create the credential first. And we need create it with type 'totp'. But now we cannot create credential with this method. Also, I think the type should not have constrains. We can create any type in keystone project. So, we should do these actions too. The type would be more which We cannot control. Change-Id: Ie0482da3133fb515e4bb8e45f8c54f509589cc5e Closes-bug: #1731848 --- doc/source/cli/command-objects/credential.rst | 6 +++--- openstackclient/identity/v3/credential.py | 9 +++------ .../tests/unit/identity/v3/test_credential.py | 14 -------------- .../notes/bug-1731848-71d0a5fdb1a34a8b.yaml | 7 +++++++ 4 files changed, 13 insertions(+), 23 deletions(-) create mode 100644 releasenotes/notes/bug-1731848-71d0a5fdb1a34a8b.yaml diff --git a/doc/source/cli/command-objects/credential.rst b/doc/source/cli/command-objects/credential.rst index 47c847c895..7fe57310f3 100644 --- a/doc/source/cli/command-objects/credential.rst +++ b/doc/source/cli/command-objects/credential.rst @@ -19,7 +19,7 @@ Create new credential .. option:: --type - New credential type: cert, ec2 + New credential type: cert, ec2, totp and so on .. option:: --project @@ -73,7 +73,7 @@ List credentials .. option:: --type - Filter credentials by type: cert, ec2 + Filter credentials by type: cert, ec2, totp and so on credential set -------------- @@ -96,7 +96,7 @@ Set credential properties .. option:: --type - New credential type: cert, ec2 + New credential type: cert, ec2, totp and so on. .. option:: --data diff --git a/openstackclient/identity/v3/credential.py b/openstackclient/identity/v3/credential.py index 79ef632cc4..981f940aae 100644 --- a/openstackclient/identity/v3/credential.py +++ b/openstackclient/identity/v3/credential.py @@ -43,8 +43,7 @@ class CreateCredential(command.ShowOne): '--type', default="cert", metavar='', - choices=['ec2', 'cert'], - help=_('New credential type: cert, ec2'), + help=_('New credential type: cert, ec2, totp and so on'), ) parser.add_argument( 'data', @@ -124,8 +123,7 @@ class ListCredential(command.Lister): parser.add_argument( '--type', metavar='', - choices=['ec2', 'cert'], - help=_('Filter credentials by type: cert, ec2'), + help=_('Filter credentials by type: cert, ec2, totp and so on'), ) return parser @@ -173,9 +171,8 @@ class SetCredential(command.Command): parser.add_argument( '--type', metavar='', - choices=['ec2', 'cert'], required=True, - help=_('New credential type: cert, ec2'), + help=_('New credential type: cert, ec2, totp and so on'), ) parser.add_argument( '--data', diff --git a/openstackclient/tests/unit/identity/v3/test_credential.py b/openstackclient/tests/unit/identity/v3/test_credential.py index 161f048447..de0306dd68 100644 --- a/openstackclient/tests/unit/identity/v3/test_credential.py +++ b/openstackclient/tests/unit/identity/v3/test_credential.py @@ -124,20 +124,6 @@ class TestCredentialCreate(TestCredential): self.assertEqual(self.columns, columns) self.assertEqual(self.data, data) - def test_credential_create_with_invalid_type(self): - arglist = [ - self.credential.user_id, - self.credential.blob, - '--type', 'invalid_type', - ] - verifylist = [ - ('user', self.credential.user_id), - ('data', self.credential.blob), - ('type', 'invalid_type'), - ] - self.assertRaises(utils.ParserException, self.check_parser, - self.cmd, arglist, verifylist) - class TestCredentialDelete(TestCredential): diff --git a/releasenotes/notes/bug-1731848-71d0a5fdb1a34a8b.yaml b/releasenotes/notes/bug-1731848-71d0a5fdb1a34a8b.yaml new file mode 100644 index 0000000000..e36652734e --- /dev/null +++ b/releasenotes/notes/bug-1731848-71d0a5fdb1a34a8b.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Remove the type value limit in credentials when do create, + reset or list. Now 'totp' method is supported in keystone + project and we could create credentials with 'totp' type. + [Bug `1731848 `_]