cinder quota not available in a non-default domain
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Confirmed
|
Medium
|
Unassigned | ||
OpenStack Dashboard (Horizon) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I am running a multi-domain environment and am unable to access cinder quota information in Horizon from a non-default domain.
My default domain is with the SQL back end and the other one with an LDAP back end.
The effects include not being able to launch instances and not being able to modify quota information.
The error I get performing related actions is this: https:/
And for example the code failing when launching an instance is this: https:/
I tried to remove unnecessary information from logs (Time, request id-s, sensitive information).
From horizon logs(apache2 error log):
[:error] Internal Server Error: /horizon/
[:error] Traceback (most recent call last):
[:error] File "/usr/lib/
[:error] response = wrapped_
[:error] File "/usr/share/
[:error] return view_func(request, *args, **kwargs)
[:error] File "/usr/share/
[:error] return view_func(request, *args, **kwargs)
[:error] File "/usr/share/
[:error] return view_func(request, *args, **kwargs)
[:error] File "/usr/share/
[:error] return view_func(request, *args, **kwargs)
[:error] File "/usr/lib/
[:error] return self.dispatch(
[:error] File "/usr/lib/
[:error] return handler(request, *args, **kwargs)
[:error] File "/usr/share/
[:error] context = self.get_
[:error] File "/usr/share/
[:error] workflow = self.get_workflow()
[:error] File "/usr/share/
[:error] entry_point=
[:error] File "/usr/share/
[:error] valid = step.action.
[:error] File "/usr/lib/
[:error] return self.is_bound and not bool(self.errors)
[:error] File "/usr/lib/
[:error] self.full_clean()
[:error] File "/usr/lib/
[:error] self._clean_form()
[:error] File "/usr/lib/
[:error] cleaned_data = self.clean()
[:error] File "/usr/share/
[:error] self._check_
[:error] File "/usr/share/
[:error] available_volume = usages[
[:error] KeyError: 'available'
And a related bug seems to be a call to cinder api:
INFO cinder.
ERROR cinder.
INFO cinder.
INFO eventlet.
Where the project id is febe06c4fb8e4b4
But since the Service project id is 7442f0f3f5bd452
The service project is in the default domain and the user project is in the LDAP backed domain.
Also from keystone log this line can be found:
WARNING keystone.
For now I have made a bypass when launching an instance, asking for quota information with the code found in the volume tab:
Instead of
I'm using
usages = quotas.
usages = quotas.
Which seems to work fine.
Changed in cinder: | |
importance: | Undecided → Medium |
Changed in cinder: | |
assignee: | nobody → Ankush Shriram Pokalwar (ankushpo) |
Changed in cinder: | |
assignee: | Ankush Shriram Pokalwar (ankushpo) → nobody |
Try this
In cinder.conf
[keystone_ authtoken]
# are.auth_ token
# From keystonemiddlew
#
# Complete public Identity API endpoint. (string value) $YOURIP: 5000/v3 $ADMINIP: 35357
auth_uri = http://
auth_plugin = password
auth_url = http://
username = cinder
password = notsharing
project_name = services
in vi /etc/cinder/ api-paste. ini factory = keystonemiddlew are.auth_ token:filter_ factory $ADMINIP: 35357 stillnottelling
[filter:authtoken]
paste.filter_
auth_plugin = password
auth_url = http://
username = cinder
password=
project_name = services
user_domain_name = Default
project_domain_name = Default
Seems to be working for me