diff options
| author | yangweiwei <yangweiwei@cmss.chinamobile.com> | 2017-11-17 11:39:15 +0800 |
|---|---|---|
| committer | yangweiwei <yangweiwei@cmss.chinamobile.com> | 2017-11-17 11:39:15 +0800 |
| commit | 0f749cacc2b0a76226a6a7ab7769ecf1475a160b (patch) | |
| tree | 37ecbfb863b416606c2c18efa29bd47006eb051e | |
| parent | 4742d4df7089cd10d03635a1b3dbca9e7e80b1cc (diff) | |
| download | python-openstackclient-0f749cacc2b0a76226a6a7ab7769ecf1475a160b.tar.gz | |
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
4 files changed, 13 insertions, 23 deletions
diff --git a/doc/source/cli/command-objects/credential.rst b/doc/source/cli/command-objects/credential.rst index 47c847c8..7fe57310 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 <type> - New credential type: cert, ec2 + New credential type: cert, ec2, totp and so on .. option:: --project <project> @@ -73,7 +73,7 @@ List credentials .. option:: --type <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 <type> - New credential type: cert, ec2 + New credential type: cert, ec2, totp and so on. .. option:: --data <data> diff --git a/openstackclient/identity/v3/credential.py b/openstackclient/identity/v3/credential.py index 79ef632c..981f940a 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='<type>', - 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='<type>', - 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='<type>', - 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 161f0484..de0306dd 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 00000000..e3665273 --- /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 <https://bugs.launchpad.net/bugs/1731848>`_] |
