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
This commit is contained in:
yangweiwei 2017-11-17 11:39:15 +08:00
parent 4742d4df70
commit 0f749cacc2
4 changed files with 13 additions and 23 deletions

View File

@ -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>

View File

@ -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',

View File

@ -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):

View File

@ -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>`_]