Cinder/nova API doesn't support quota managent via keystone v3 api
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Mirantis OpenStack | Status tracked in 10.0.x | |||||
10.0.x |
Invalid
|
High
|
MOS Oslo | |||
7.0.x |
Fix Released
|
High
|
Anton Chevychalov | |||
8.0.x |
Invalid
|
Undecided
|
Unassigned | |||
9.x |
Invalid
|
High
|
Dmitry Mescheryakov |
Bug Description
This is MOS7+MU3
Steps to reproduce:
1)Create environment with ceph backend and nova-quotas enabled
2)Install keystone-ldap plagin, that will enable additional domain, except 'default'
3)Deploy environment.
After deployment create openrc_v3_admin file with:
#!/bin/sh
source /root/openrc
export OS_IDENTITY_
export OS_USER_
export OS_AUTH_
unset OS_PROJECT_ID
Try to update quotas:
// SRIX-UNIX - is project created inside non-default keystone domain:
# openstack quota show SRIX-UNIX
+------
| Field | Value |
+------
| backup_gigabytes | 1000 |
| backups | 10 |
| cores | 100 |
| fixed-ips | -1 |
| floating-ips | 50 |
| gigabytes | 1000 |
| injected-file-size | 102400 |
| injected-files | 50 |
| injected-path-size | 4096 |
| instances | 100 |
| key-pairs | 11 |
| network | 10 |
| port | 50 |
| project | SRIX-UNIX |
| properties | 1024 |
| ram | 51200 |
| router | 10 |
| secgroup-rules | 100 |
| secgroups | 10 |
| server_
| server_groups | 10 |
| snapshots | 10 |
| subnet | 10 |
| volumes | 10 |
+------
#openstack --debug quota set SRIX-UNIX --cores 198
DEBUG: keystoneclient.
INFO: urllib3.
DEBUG: urllib3.
DEBUG: openstackclient
DEBUG: openstackclient
DEBUG: openstackclient
DEBUG: keystoneclient.
INFO: urllib3.
DEBUG: urllib3.
DEBUG: keystoneclient.
INFO: urllib3.
DEBUG: urllib3.
DEBUG: keystoneclient.
RESP BODY: {"quota_set": {"injected_
DEBUG: keystoneclient.
INFO: urllib3.
DEBUG: urllib3.
DEBUG: keystoneclient.
ERROR: openstack The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400) (Request-ID: req-62c9db6a-
Traceback (most recent call last):
File "/usr/lib/
result = cmd.run(
File "/usr/lib/
self.
File "/usr/lib/
**volume_
File "/usr/lib/
result = self._update(
File "/usr/lib/
resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
return self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
BadRequest: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400) (Request-ID: req-62c9db6a-
DEBUG: openstackclient
DEBUG: openstackclient
ERROR: openstackclient
File "/usr/lib/
return super(OpenStack
File "/usr/lib/
result = self.run_
File "/usr/lib/
result = cmd.run(
File "/usr/lib/
self.
File "/usr/lib/
**volume_
File "/usr/lib/
result = self._update(
File "/usr/lib/
resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
return self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
BadRequest: The server could not comply with the request since it is either malformed or otherwise incorrect.
For some reason nova sends data to cinder, even just for updating cores.
Here is related cinder error:
<158>May 25 00:23:39 node-26 cinder-api 2016-05-25 00:23:39.376 29302 INFO cinder.
63bb6ab5c8930 - - -] PUT http://
<155>May 25 00:23:39 node-26 cinder-api 2016-05-25 00:23:39.415 29302 ERROR cinder.
ent must be a string or a number, not 'NoneType'
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
2016-05-25 00:23:39.415 29302 TRACE cinder.
Bug quota has been updated:
# openstack quota show SRIX-UNIX
+------
| Field | Value |
+------
| backup_gigabytes | 1000 |
| backups | 10 |
| cores | 198 |
| fixed-ips | -1 |
| floating-ips | 50 |
| gigabytes | 1000 |
| injected-file-size | 102400 |
| injected-files | 50 |
| injected-path-size | 4096 |
| instances | 100 |
| key-pairs | 11 |
| network | 10 |
| port | 50 |
| project | SRIX-UNIX |
| properties | 1024 |
| ram | 51200 |
| router | 10 |
| secgroup-rules | 100 |
| secgroups | 10 |
| server_
| server_groups | 10 |
| snapshots | 10 |
| subnet | 10 |
| volumes | 10 |
+------
And horizon shows non-correct(
python-
cinder-api 1:2015.
cinder-backup 1:2015.
cinder-common 1:2015.
cinder-scheduler 1:2015.
cinder-volume 1:2015.
python-cinder 1:2015.
python-cinderclient 1:1.1.2-
nova-api 1:2015.
nova-cert 1:2015.
nova-common 1:2015.
nova-conductor 1:2015.
nova-consoleauth 1:2015.
nova-consoleproxy 1:2015.
nova-objectstore 1:2015.
nova-scheduler 1:2015.
python-nova 1:2015.
python-novaclient 1:2.23.
# cat /etc/fuel/
VERSION:
feature_groups:
- mirantis
production: "docker"
release: "7.0"
openstack_
api: "1.0"
build_number: "301"
build_id: "301"
nailgun_sha: "4162b0c15adb42
python-
fuel-agent_sha: "50e90af6e3d560
fuel-
astute_sha: "6c5b73f93e24cc
fuel-library_sha: "5d50055aeca1dd
fuel-ostf_sha: "2cd967dccd66cf
fuelmain_sha: "a65d453215edb0
no longer affects: | fuel |
Changed in mos: | |
assignee: | MOS Nova (mos-nova) → Ivan Kolodyazhny (e0ne) |
Changed in mos: | |
assignee: | Ivan Kolodyazhny (e0ne) → nobody |
importance: | Wishlist → Medium |
tags: | added: on-verification |
Here is the same bug, but for Juno https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1217735