** Changed in: nova
Status: Fix Committed => Fix Released
** Changed in: nova
Milestone: None => liberty-2
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1463387
Title:
quota-class-update api return 500 error if value is above mysql INT
type
Status in OpenStack Compute (nova):
Fix Released
Bug description:
nova quota-class-update api return 500 error if update value is
greater than mysql INT type.
steps to reproduce:
$ nova quota-class-update --instances 2147483648 default
ERROR: The server has either erred or is incapable of performing the
requested operation. (HTTP 500)
or
curl -g -i --cacert "/opt/stack/data/CA/int-ca/ca-chain.pem" -X PUT
http://10.69.4.136:8774/v3/bd00959429ab477f812822ac32638bd7/os-quota-class-sets/default
-H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H
"Accept: application/json" -H "X-Auth-Token: 4846614c5c3341f5a1828a987d692d5f"
-d '{"quota_class_set": {"instances": 2147483648}}'
n-api error logs:
2015-06-09 04:32:40.215 ERROR oslo_db.sqlalchemy.exc_filters
[req-dbe4c88d-0baa-4a8a-bf1a-3272412723a5 admin admin] DBAPIError exception
wrapped from (DataE
rror) (1264, "Out of range value for column 'hard_limit' at row 8") 'UPDATE
quota_classes SET updated_at=%s, hard_limit=%s WHERE quota_classes.deleted = %s
AND quota_classes.class_name = %s AND quota_classes.resource = %s'
(datetime.datetime(2015, 6, 9, 11, 32, 40, 214756), 2147483648, 0, 'default',
'instances'
)
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters Traceback (most
recent call last):
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1063,
in _execu
te_context
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters context)
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line
442, in do_e
xecute
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters
cursor.execute(statement, parameters)
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters File
"/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters
self.errorhandler(self, exc, value)
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters File
"/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in
defaulterrorhandl
er
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters raise
errorclass, errorvalue
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters DataError:
(1264, "Out of range value for column 'hard_limit' at row 8")
2015-06-09 04:32:40.215 TRACE oslo_db.sqlalchemy.exc_filters
2015-06-09 04:32:40.217 ERROR nova.api.openstack
[req-dbe4c88d-0baa-4a8a-bf1a-3272412723a5 admin admin] Caught error:
(DataError) (1264, "Out of range value
for column 'hard_limit' at row 8") 'UPDATE quota_classes SET updated_at=%s,
hard_limit=%s WHERE quota_classes.deleted = %s AND quota_classes.class_name = %
s AND quota_classes.resource = %s' (datetime.datetime(2015, 6, 9, 11, 32, 40,
214756), 2147483648, 0, 'default', 'instances')
2015-06-09 04:32:40.217 TRACE nova.api.openstack Traceback (most recent call
last):
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/api/openstack/__init__.py", line 126, in __call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack return
req.get_response(self.application)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send
2015-06-09 04:32:40.217 TRACE nova.api.openstack application,
catch_exc_info=False)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in
call_application
2015-06-09 04:32:40.217 TRACE nova.api.openstack app_iter =
application(self.environ, start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack return resp(environ,
start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py",
line 639, in __c
all__
2015-06-09 04:32:40.217 TRACE nova.api.openstack return
self._call_app(env, start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py",
line 559, in _ca
ll_app
2015-06-09 04:32:40.217 TRACE nova.api.openstack return self._app(env,
_fake_start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack return resp(environ,
start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/routes/middleware.py", line 136, in
__call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack response =
self.app(environ, start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack return resp(environ,
start_response)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack resp =
self.call_func(req, *args, **self.kwargs)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2015-06-09 04:32:40.217 TRACE nova.api.openstack return self.func(req,
*args, **kwargs)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/api/openstack/wsgi.py", line 756, in __call__
2015-06-09 04:32:40.217 TRACE nova.api.openstack content_type, body,
accept)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/api/openstack/wsgi.py", line 821, in _process_stack
2015-06-09 04:32:40.217 TRACE nova.api.openstack action_result =
self.dispatch(meth, request, action_args)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/api/openstack/wsgi.py", line 911, in dispatch
2015-06-09 04:32:40.217 TRACE nova.api.openstack return
method(req=request, **action_args)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/api/openstack/compute/contrib/quota_classes.py", line 76,
in update
2015-06-09 04:32:40.217 TRACE nova.api.openstack
utils.check_string_length(id, 'quota_class',
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/db/api.py", line 1108, in quota_class_update
2015-06-09 04:32:40.217 TRACE nova.api.openstack return
IMPL.quota_class_update(context, class_name, resource, limit)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/db/sqlalchemy/api.py", line 215, in wrapper
2015-06-09 04:32:40.217 TRACE nova.api.openstack return f(*args, **kwargs)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/opt/stack/nova/nova/db/sqlalchemy/api.py", line 3195, in quota_class_update
2015-06-09 04:32:40.217 TRACE nova.api.openstack update({'hard_limit':
limit})
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2851, in
update
2015-06-09 04:32:40.217 TRACE nova.api.openstack update_op.exec_()
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line
897, in exec_
2015-06-09 04:32:40.217 TRACE nova.api.openstack self._do_exec()
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line
995, in _do_exec
2015-06-09 04:32:40.217 TRACE nova.api.openstack update_stmt,
params=self.query._params)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1021,
in execute
2015-06-09 04:32:40.217 TRACE nova.api.openstack bind,
close_with_result=True).execute(clause, params or {})
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 841,
in execute
2015-06-09 04:32:40.217 TRACE nova.api.openstack return meth(self,
multiparams, params)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 322,
in _execute_on_connec
tion
2015-06-09 04:32:40.217 TRACE nova.api.openstack return
connection._execute_clauseelement(self, multiparams, params)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 938,
in _execute_clauseelement
2015-06-09 04:32:40.217 TRACE nova.api.openstack compiled_sql,
distilled_params
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1070,
in _execute_context
2015-06-09 04:32:40.217 TRACE nova.api.openstack context)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/compat/handle_error.py",
line 261, in _handle_dbapi_exception
2015-06-09 04:32:40.217 TRACE nova.api.openstack e, statement,
parameters, cursor, context)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1267,
in _handle_dbapi_exception
2015-06-09 04:32:40.217 TRACE nova.api.openstack
util.raise_from_cause(newraise, exc_info)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199,
in raise_from_cause
2015-06-09 04:32:40.217 TRACE nova.api.openstack reraise(type(exception),
exception, tb=exc_tb)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1063,
in _execute_context
2015-06-09 04:32:40.217 TRACE nova.api.openstack context)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line
442, in do_execute
2015-06-09 04:32:40.217 TRACE nova.api.openstack
cursor.execute(statement, parameters)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
2015-06-09 04:32:40.217 TRACE nova.api.openstack self.errorhandler(self,
exc, value)
2015-06-09 04:32:40.217 TRACE nova.api.openstack File
"/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in
defaulterrorhandler
2015-06-09 04:32:40.217 TRACE nova.api.openstack raise errorclass,
errorvalue
2015-06-09 04:32:40.217 TRACE nova.api.openstack DBError: (DataError) (1264,
"Out of range value for column 'hard_limit' at row 8") 'UPDATE quota_classes
SET updated_at=%s, hard_limit=%s WHERE quota_classes.deleted = %s AND
quota_classes.class_name = %s AND quota_classes.resource = %s'
(datetime.datetime(2015, 6, 9, 11, 32, 40, 214756), 2147483648, 0, 'default',
'instances')
2015-06-09 04:32:40.217 TRACE nova.api.openstack
2015-06-09 04:32:40.223 INFO nova.api.openstack
[req-dbe4c88d-0baa-4a8a-bf1a-3272412723a5 admin admin]
http://10.69.4.136:8774/v2/bd00959429ab477f812822ac32638bd7/os-quota-class-sets/default
returned with HTTP 500
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1463387/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp