The server-side error is #1171190, which I fixed in 188a94c898bcf0,
which was merged to Havana mainline on May 10. I think it was only a
problem in PostgreSQL, which is more strongly typed than MySQL or
SQLite.
So I think this is a duplicate.
** Changed in: nova
Status: New => Fix Committed
** Changed in: nova
Milestone: None => havana-2
** Changed in: python-novaclient
Status: New => Invalid
--
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/1199539
Title:
Nova fails to boot from volume
Status in OpenStack Compute (Nova):
Fix Committed
Status in Python client library for Nova:
Invalid
Bug description:
When booting from volume via Horizon webui, the block device mapping
that is passed down to nova contains "volume_size": "", which causes a
DB integrity error later:
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack Traceback (most recent
call last):
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/api/openstack/__init__.py", line 81,
in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
req.get_response(self.application)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/request.py", line 1296, in send
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack application,
catch_exc_info=False)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/request.py", line 1260, in
call_application
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack app_iter =
application(self.environ, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/dec.py", line 144, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
resp(environ, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/keystoneclient/middleware/auth_token.py",
line 457, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
self.app(env, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/dec.py", line 144, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
resp(environ, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/dec.py", line 144, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
resp(environ, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/routes/middleware.py", line 131, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack response =
self.app(environ, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/dec.py", line 144, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
resp(environ, start_response)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/dec.py", line 130, in __call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack resp =
self.call_func(req, *args, **self.kwargs)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/webob/dec.py", line 195, in call_func
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
self.func(req, *args, **kwargs)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/api/openstack/wsgi.py", line 890, in
__call__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack content_type, body,
accept)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/api/openstack/wsgi.py", line 942, in
_process_stack
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack action_result =
self.dispatch(meth, request, action_args)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/api/openstack/wsgi.py", line 1022, in
dispatch
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
method(req=request, **action_args)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/api/openstack/compute/servers.py",
line 898, in create
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack
scheduler_hints=scheduler_hints)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/hooks.py", line 85, in inner
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack rv = f(*args,
**kwargs)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 961, in create
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack
scheduler_hints=scheduler_hints)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 675, in
_create_instance
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack reservation_id,
scheduler_hints)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 633, in
_validate_and_provision_instance
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack
QUOTAS.rollback(context, quota_reservations)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack self.gen.next()
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 615, in
_validate_and_provision_instance
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack num_instances, i)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 910, in
create_db_entry_for_new_instance
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack instance_type,
image, block_device_mapping)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 806, in
_populate_instance_for_bdm
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack instance_type,
instance_uuid, mapping)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/compute/api.py", line 772, in
_update_block_device_mapping
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack values)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/db/api.py", line 1032, in
block_device_mapping_update_or_create
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return
IMPL.block_device_mapping_update_or_create(context, values)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/db/sqlalchemy/api.py", line 113, in
wrapper
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack return f(*args,
**kwargs)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/db/sqlalchemy/api.py", line 2962, in
block_device_mapping_update_or_create
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack
bdm_ref.save(session=session)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/openstack/common/db/sqlalchemy/models.py",
line 54, in save
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack session.flush()
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack File
"/usr/lib64/python2.6/site-packages/nova/openstack/common/db/sqlalchemy/session.py",
line 437, in _wrap
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack raise
exception.DBError(e)
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack DBError: (DataError)
invalid input syntax for integer: ""
2013-07-10 12:54:03.089 4920 TRACE nova.api.openstack LINE 1: ...LL, NULL,
'6d6ad4f0-2ce9-49ab-a94f-71fc1b74ec7f', '', NULL, ...
the volume_size parameter should be validated to be usefol. for
compatibility, the empty volume_size parameter should be ignored, as
in the case of boot from volume it is not used anyway.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1199539/+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