From 1979c20ff0ce76d06c5b5669ef1128ac63b0386a Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Tue, 25 Feb 2025 10:25:09 -0800 Subject: [PATCH] Fix credential creation openstacksdk's Credential expects user_id and project_id, not user and project. Previously, we would send payloads like {'type': 'ec2', 'blob': '{"access": "s3-user1", "secret": "s3-secret1"}'} which Keystone would reject with 'user_id' is a required property Change-Id: I0544bef7df9247395f0726ea075112d6ac992252 --- openstackclient/identity/v3/credential.py | 4 ++-- openstackclient/tests/unit/identity/v3/test_credential.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/openstackclient/identity/v3/credential.py b/openstackclient/identity/v3/credential.py index 4784b836d6..33297e9d19 100644 --- a/openstackclient/identity/v3/credential.py +++ b/openstackclient/identity/v3/credential.py @@ -88,10 +88,10 @@ class CreateCredential(command.ShowOne): else: project = None credential = identity_client.create_credential( - user=user_id, + user_id=user_id, type=parsed_args.type, blob=parsed_args.data, - project=project, + project_id=project, ) return _format_credential(credential) diff --git a/openstackclient/tests/unit/identity/v3/test_credential.py b/openstackclient/tests/unit/identity/v3/test_credential.py index 2e90d2d78a..f21fd71a0f 100644 --- a/openstackclient/tests/unit/identity/v3/test_credential.py +++ b/openstackclient/tests/unit/identity/v3/test_credential.py @@ -73,10 +73,10 @@ class TestCredentialCreate(identity_fakes.TestIdentityv3): columns, data = self.cmd.take_action(parsed_args) kwargs = { - 'user': self.credential.user_id, + 'user_id': self.credential.user_id, 'type': self.credential.type, 'blob': self.credential.blob, - 'project': None, + 'project_id': None, } self.identity_sdk_client.create_credential.assert_called_once_with( **kwargs @@ -105,10 +105,10 @@ class TestCredentialCreate(identity_fakes.TestIdentityv3): columns, data = self.cmd.take_action(parsed_args) kwargs = { - 'user': self.credential.user_id, + 'user_id': self.credential.user_id, 'type': self.credential.type, 'blob': self.credential.blob, - 'project': self.credential.project_id, + 'project_id': self.credential.project_id, } self.identity_sdk_client.create_credential.assert_called_once_with( **kwargs