quota_class_update with class_id longer than 255 returns 500 error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Pranali Deore |
Bug Description
nova quota_class_update returns 500 error if you pass class parameter with more than 255 characters
steps to reproduce:
$ nova quota_class_update --instances 2 aaaaaaaaaaaaaaa
The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-3f51a5c8-
n-api error logs:
2015-06-09 05:51:19.383 ERROR nova.api.openstack [req-3f51a5c8-
column 'class_name' at row 1") 'INSERT INTO quota_classes (created_at, updated_at, deleted_at, deleted, class_name, resource, hard_limit) VALUES (%s, %s, %s
, %s, %s, %s, %s)' (datetime.
aaaaaaaaaaaaaaa
aaaaaaaaaaaaaaa
2015-06-09 05:51:19.383 TRACE nova.api.openstack Traceback (most recent call last):
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return req.get_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack application, catch_exc_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack app_iter = application(
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return resp(environ, start_response)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
all__
2015-06-09 05:51:19.383 TRACE nova.api.openstack return self._call_app(env, start_response)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
ll_app
2015-06-09 05:51:19.383 TRACE nova.api.openstack return self._app(env, _fake_start_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return resp(environ, start_response)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return resp(environ, start_response)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack response = self.app(environ, start_response)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return resp(environ, start_response)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack content_type, body, accept)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return method(req=request, **action_args)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack db.quota_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return IMPL.quota_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return f(*args, **kwargs)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack quota_class_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/opt/stack/
2015-06-09 05:51:19.383 TRACE nova.api.openstack super(NovaBase, self).save(
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack session.flush()
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack self._flush(
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack transaction.
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack compat.
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack flush_context.
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack rec.execute(self)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack uow
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack mapper, table, insert)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
atements
2015-06-09 05:51:19.383 TRACE nova.api.openstack execute(statement, params)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack return meth(self, multiparams, params)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
tion
2015-06-09 05:51:19.383 TRACE nova.api.openstack return connection.
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
ent
2015-06-09 05:51:19.383 TRACE nova.api.openstack compiled_sql, distilled_params
2015-06-09 05:51:19.383 TRACE nova.api.openstack context)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack e, statement, parameters, cursor, context)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack util.raise_
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack reraise(
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack context)
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/local/
2015-06-09 05:51:19.383 TRACE nova.api.openstack cursor.
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/lib/
2015-06-09 05:51:19.383 TRACE nova.api.openstack self.errorhandl
2015-06-09 05:51:19.383 TRACE nova.api.openstack File "/usr/lib/
2015-06-09 05:51:19.383 TRACE nova.api.openstack raise errorclass, errorvalue
2015-06-09 05:51:19.383 TRACE nova.api.openstack DBError: (DataError) (1406, "Data too long for column 'class_name' at row 1") 'INSERT INTO quota_classes (created_at, updated_at, deleted_at, deleted, class_name, resource, hard_limit) VALUES (%s, %s, %s, %s, %s, %s, %s)' (datetime.
2015-06-09 05:51:19.383 TRACE nova.api.openstack
2015-06-09 05:51:19.389 INFO nova.api.openstack [req-3f51a5c8-
Changed in nova: | |
assignee: | nobody → Pranali Deore (pranali-deore) |
Changed in nova: | |
assignee: | Pranali Deore (pranali-deore) → Abhijeet Malawade (abhijeet-malawade) |
Changed in nova: | |
assignee: | Abhijeet Malawade (abhijeet-malawade) → Pranali Deore (pranali-deore) |
Changed in nova: | |
milestone: | none → liberty-3 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | liberty-3 → 12.0.0 |
nice catch! testing with extreme values brings often a lot of fun :)