yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #03770
[Bug 1199539] Re: Nova fails to boot from volume
** Changed in: nova
Status: Fix Committed => Fix Released
--
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 Released
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