-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
3
-
False
-
-
False
-
rhos-workloads-compute
-
None
-
-
-
Moderate
Description of problem:
Currently `openstack keypair list` command can take `--project <project>` option.
However, keypair is associated with user but not with project. So this option does not make sense.
According to -help, `-project <project>` shows keypairs for all users associated with project.
User and project do not have direct link (except for role assignment).
So `--project <project>` option is confusing and should not be used with `openstack keypair list` command.
Version-Release number of selected component (if applicable):
python3-openstackclient.noarch 5.5.2-17.1.20230829210830.el9ost @openstack-17.1-for-rhel-9-x86_64-rpms
Moreover, behavior of `openstack keypair list --project <project>` command seems strange.
openstackclient passes parameter `tenant_id` to keystoneclient[1] but such parameter does not exist in keystone api[2].
[2] https://docs.openstack.org/api-ref/identity/v3/#users
keystoneclient does not recognise such parameter and returns all the users.
As a result, keypairs associated with all the users are shown regardless of project as shown in the example below.
~~~
[stack@undercloud ~]$ openstack keypair list --project admin --os-compute-api-version 2.10 --debug 2>&1 | grep curl
REQ: curl -g -i -X GET http://10.0.0.147:5000 -H "Accept: application/json" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16"
REQ: curl -g -i -X GET http://10.0.0.147:8774/v2.1 -H "Accept: application/json" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16"
REQ: curl -g -i -X GET http://10.0.0.147:5000/v3/projects/admin -H "Accept: application/json" -H "User-Agent: python-keystoneclient" -H "X-Auth-Token:
REQ: curl -g -i -X GET http://10.0.0.147:5000/v3/projects?name=admin -H "Accept: application/json" -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0"
REQ: curl -g -i -X GET http://10.0.0.147:5000/v3/users?tenant_id=3c8cb2ac8bba4cc8a472560c806e8b09 -H "Accept: application/json" -H "User-Agent: python-keystoneclient" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=8cd74347fdef4f718e586f221e9fbf80" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=59f1b355eb1d4a529fcf6b42bb10c32d" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=17dbdaa883a645189c13b0f9abccb09c" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=ddefd1bc54734492b260ed7c4003cff1" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=8a1ad8ba8c4347f5bc10fc1b9ce88af2" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=a8bd19ed33af4f7885b6a465af22592c" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=467f891df384448fb197105d2128d646" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=392681f83bf94cde9b058845597ada7d" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=dcfe054e05674900a86cbe9f51943de3" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=87536acd2645408bae05175b1739af90" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=29b5eeaa491344ae8fa03e1cd3564b5b" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=58c3e30a97d34ef38e320735cc0bbc20" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=8ae77973c93e49919824daf2ba1306f1" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token: {SHA256}
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
REQ: curl -g -i -X GET "http://10.0.0.147:8774/v2.1/os-keypairs?user_id=764eda96e164458788f456bdbe48f7e0" -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.10" -H "User-Agent: openstacksdk/0.55.1 keystoneauth1/4.4.0 python-requests/2.25.1 CPython/3.9.16" -H "X-Auth-Token:
354e724e7e04e6698839394b074db9f07bec8236cc1ce6936cb6c954c1eb8ec0" -H "X-OpenStack-Nova-API-Version: 2.10"
:
:
-------------------------------------------------------------
Name | Fingerprint | Type |
-------------------------------------------------------------
test_key | f3:5d:dd:08:a0:07:ef:ee:aa:1b:26:fb:1f:9f:66:2a | ssh | < == created by admin user assigned to admin project |
key_A | a8:45:05:6e:72:61:ae:4f:e1:f7:00:2e:a5:cd:b9:1f | ssh | < == created by user_A user assigned to pj_A project |
key_B | 6c:d1:31:47:79:27:13:cd:0a:4d:d8:ac:ae:08:76:f8 | ssh | < == created by user_B user assigned to pj_B project |
key_C | 1f:65:04:64:f6:d1:45:6c:56:b4:b7:5f:ce:b0:cf:af | ssh | < == created by user_C user assigned to pj_A project --------- ~~~ |