misleading error message when openrc not sourced
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-swiftclient |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Platform:
Devstack (Grizzly) running on Ubuntu 12.04 (Precise)
The Issue:
The swift command returns "The service catalog is empty" error when the user forgot to source openrc after running stack.sh. The error message does not provide the user accurate information to correct the issue.
To replicate:
./stack.sh
swift -A <keystone_url> --os-username=
Expected Result:
Failed to retrieve service catalog. Make sure openrc has been sourced.
Actual Result:
Traceback (most recent call last):
File "/usr/local/
execfile(
File "/opt/stack/
error_queue)
File "/opt/stack/
headers = conn.head_account()
File "/opt/stack/
return self._retry(None, head_account)
File "/opt/stack/
self.url, self.token = self.get_auth()
File "/opt/stack/
insecure=
File "/opt/stack/
insecure=
File "/opt/stack/
endpoint_
File "/opt/stack/
raise exceptions.
keystoneclient.
affects: | devstack → python-swiftclient |
(Judging by line numbers, the traceback was from swiftclient 1.5.0.)
As best I can tell, this was fixed in https:/ /review. openstack. org/#/c/ 94353/ (and released in 2.2.0). The client should now correctly error out with:
No tenant specified
or, if it detects Keystone v3:
No project name or project id specified.
Thanks to Donagh for spotting the need for `os_options. get(... )` instead of `... in os_options`!