Incorrect usage message
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-openstackclient |
Fix Released
|
Medium
|
Ukesh |
Bug Description
When I login to a system and try the openstack command it prints out a usage error:
# openstack user list
Missing parameter(s):
Set a username with --os-username, OS_USERNAME, or auth.username
Set an authentication URL, with --os-auth-url, OS_AUTH_URL or auth.auth_url
Set a scope, such as a project or domain, set a project scope with --os-project-name, OS_PROJECT_NAME or auth.project_name, set a domain scope with --os-domain-name, OS_DOMAIN_NAME or auth.domain_name
This is terrible advice. The correct thing for me to do is set OS_CLOUD=admin (since this is what's in /etc/openstack/
The usage message should be changed to mention OS_CLOUD at least. At best, seems like it should be able to check if there's clouds defined already.
Could just pick the first cloud defined if there's only 1, or maybe there's a way to define a default cloud?
Changed in python-openstackclient: | |
assignee: | nobody → Ukesh (ukeshkumar) |
Using python- openstackclient >= 3.0.0 lead to this result(token auth is broken): openstackclient ==3.0.1 127.0.0. 1:35357/ v3 user list
# pip freeze | grep openstackclient
python-
# openstack --os-token=ADMIN --os-url=http://
Missing parameter(s):
Set a username with --os-username, OS_USERNAME, or auth.username
Set an authentication URL, with --os-auth-url, OS_AUTH_URL or auth.auth_url
After switching back to v2.6.0 token auth works again! openstackclient ==2.6.0 127.0.0. 1:35357/ v3 user list ------- ------- ------- ------- +------ -+ ------- ------- ------- ------- +------ -+ fa78fc93257207c 57 | admin | ------- ------- ------- ------- +------ -+
# pip freeze | grep openstackclient
python-
# openstack --os-token=ADMIN --os-url=http://
+------
| ID | Name |
+------
| e1e325738ed849d
+------
Versions of the rest installed components: =10.0.0. 0b2 =2.11.1 are==4. 8.0 keystoneclient= =3.4.0
# pip freeze | grep keystone
keystone=
keystoneauth1=
keystonemiddlew
python-