[Openstack] how to configure nova block_migration

Adrian_F_Smith at Dell.com Adrian_F_Smith at Dell.com
Tue Nov 1 13:23:45 UTC 2011


I have exactly the same problem myself DeadSun.

nova-compute on the target node is attempting to retrieve the base image from Glance. Glance in response is saying the requestor is unauthenticated.

Unfortunately I’ve not been able to find a solution. I posted a question on Launchpad but I’ve had no response yet, https://answers.launchpad.net/nova/+question/176608

Adrian


From: DeadSun [mailto:mwjpiero at gmail.com]
Sent: Tuesday, November 01, 2011 12:55 PM
To: Smith, Adrian F
Cc: openstack at lists.launchpad.net
Subject: Re: [Openstack] how to configure nova block_migration

Hi,Adrian

Thanks for your help.

Do I need set some flags in nova.conf?
in my nova.conf ,I set
--live_migration_uri=qemu+ssh://%s/system

and I have tried it but error log show

(nova.compute.manager): TRACE:
2011-11-01 16:55:59,136 DEBUG nova.rpc [-] Making asynchronous cast on compute.node1-test... from (pid=6815) cast /home/openstack/nova/nova/rpc/impl_kombu.py:746
2011-11-01 16:55:59,140 ERROR nova.rpc [-] Exception during message handling
(nova.rpc): TRACE: Traceback (most recent call last):
(nova.rpc): TRACE: File "/home/openstack/nova/nova/rpc/impl_kombu.py", line 620, in _process_data
(nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/compute/manager.py", line 1615, in live_migration
(nova.rpc): TRACE: raise exc
(nova.rpc): TRACE: RemoteError: Remote error: None None
(nova.rpc): TRACE: None.
(nova.rpc): TRACE:

and in dest node, compute.log show

2011-11-01 16:58:44,035 DEBUG nova.utils [-] Attempting to grab semaphore "0ade7c2cf97f75d009975f4d720d1fa6c19f4897_sm" for method "call_if_not_exists"... from (pid=17799) inner /home/openstack/nova/nova/utils.py:717
2011-11-01 16:58:44,043 ERROR nova.rpc [-] Exception during message handling
(nova.rpc): TRACE: Traceback (most recent call last):
(nova.rpc): TRACE: File "/home/openstack/nova/nova/rpc/impl_kombu.py", line 620, in _process_data
(nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/compute/manager.py", line 1569, in pre_live_migration
(nova.rpc): TRACE: disk)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 1803, in pre_block_migration
(nova.rpc): TRACE: size=instance_ref['local_gb'])
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 804, in _cache_image
(nova.rpc): TRACE: call_if_not_exists(base, fn, *args, **kwargs)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/utils.py", line 730, in inner
(nova.rpc): TRACE: retval = f(*args, **kwargs)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 802, in call_if_not_exists
(nova.rpc): TRACE: fn(target=base, *args, **kwargs)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 816, in _fetch_image
(nova.rpc): TRACE: images.fetch_to_raw(context, image_id, target, user_id, project_id)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/images.py", line 52, in fetch_to_raw
(nova.rpc): TRACE: metadata = fetch(context, image_href, path_tmp, user_id, project_id)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/images.py", line 46, in fetch
(nova.rpc): TRACE: metadata = image_service.get(context, image_id, image_file)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/image/glance.py", line 239, in get
(nova.rpc): TRACE: image_meta, image_chunks = client.get_image(image_id)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/glance/client.py", line 83, in get_image
(nova.rpc): TRACE: res = self.do_request("GET", "/images/%s" % image_id)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 145, in do_request
(nova.rpc): TRACE: method, action, body=body, headers=headers, params=params)
(nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 222, in _do_request
(nova.rpc): TRACE: raise exception.NotAuthorized(res.read())
(nova.rpc): TRACE: NotAuthorized: 401 Unauthorized
(nova.rpc): TRACE:
(nova.rpc): TRACE: This server could not verify that you are authorized to access the document you requested. Either you supplied the wrong credentials (e.g., bad password), or your browser does not understand how to supply the credentials required.
(nova.rpc): TRACE:
(nova.rpc): TRACE: Authentication required
(nova.rpc): TRACE:
2011-11-01 16:58:44,044 ERROR nova.rpc [-] Returning exception 401 Unauthorized

This server could not verify that you are authorized to access the document you requested. Either you supplied the wrong credentials (e.g., bad password), or your browser does not understand how to supply the credentials required.

Authentication required to caller
2011-11-01 16:58:44,044 ERROR nova.rpc [-] ['Traceback (most recent call last):\n', ' File "/home/openstack/nova/nova/rpc/impl_kombu.py", line 620, in _process_data\n rval = node_func(context=ctxt, **node_args)\n', ' File "/home/openstack/nova/nova/compute/manager.py", line 1569, in pre_live_migration\n disk)\n', ' File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 1803, in pre_block_migration\n size=instance_ref[\'local_gb\'])\n', ' File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 804, in _cache_image\n call_if_not_exists(base, fn, *args, **kwargs)\n', ' File "/home/openstack/nova/nova/utils.py", line 730, in inner\n retval = f(*args, **kwargs)\n', ' File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 802, in call_if_not_exists\n fn(target=base, *args, **kwargs)\n', ' File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 816, in _fetch_image\n images.fetch_to_raw(context, image_id, target, user_id, project_id)\n', ' File "/home/openstack/nova/nova/virt/images.py", line 52, in fetch_to_raw\n metadata = fetch(context, image_href, path_tmp, user_id, project_id)\n', ' File "/home/openstack/nova/nova/virt/images.py", line 46, in fetch\n metadata = image_service.get(context, image_id, image_file)\n', ' File "/home/openstack/nova/nova/image/glance.py", line 239, in get\n image_meta, image_chunks = client.get_image(image_id)\n', ' File "/usr/lib/python2.7/dist-packages/glance/client.py", line 83, in get_image\n res = self.do_request("GET", "/images/%s" % image_id)\n', ' File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 145, in do_request\n method, action, body=body, headers=headers, params=params)\n', ' File "/usr/lib/python2.7/dist-packages/glance/common/client.py", line 222, in _do_request\n raise exception.NotAuthorized(res.read())\n', 'NotAuthorized: 401 Unauthorized\n\nThis server could not verify that you are authorized to access the document you requested. Either you supplied the wrong credentials (e.g., bad password), or your browser does not understand how to supply the credentials required.\n\n Authentication required \n']
2011-11-01 16:58:44,156 DEBUG nova.rpc [-] received {u'_context_roles': [], u'_context_request_id': u'3fcbe6e7-b066-4c00-92df-8bac652ec870', u'_context_read_deleted': False, u'args': {u'instance_id': 8}, u'_context_auth_token': None, u'_context_strategy': u'noauth', u'_context_is_admin': True, u'_context_project_id': None, u'_context_timestamp': u'2011-11-01T08:59:35.474878', u'_context_user_id': None, u'method': u'rollback_live_migration_at_destination', u'_context_remote_address': None} from (pid=17799) __call__ /home/openstack/nova/nova/rpc/impl_kombu.py:600
2011-11-01 16:58:44,157 DEBUG nova.rpc [-] unpacked context: {'user_id': None, 'roles': [], 'timestamp': u'2011-11-01T08:59:35.474878', 'auth_token': None, 'msg_id': None, 'remote_address': None, 'strategy': u'noauth', 'is_admin': True, 'request_id': u'3fcbe6e7-b066-4c00-92df-8bac652ec870', 'project_id': None, 'read_deleted': False} from (pid=17799) _unpack_context /home/openstack/nova/nova/rpc/impl_kombu.py:646
2011-11-01 16:58:44,216 DEBUG nova.rpc [-] Making asynchronous call on network ... from (pid=17799) multicall /home/openstack/nova/nova/rpc/impl_kombu.py:721
2011-11-01 16:58:44,217 DEBUG nova.rpc [-] MSG_ID is f8a4567e4b3f45679a730f3f6c357e23 from (pid=17799) multicall /home/openstack/nova/nova/rpc/impl_kombu.py:724
2011-11-01 16:58:44,479 ERROR nova.rpc [-] Exception during message handling
(nova.rpc): TRACE: Traceback (most recent call last):
(nova.rpc): TRACE: File "/home/openstack/nova/nova/rpc/impl_kombu.py", line 620, in _process_data
(nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/compute/manager.py", line 1774, in rollback_live_migration_at_destination
(nova.rpc): TRACE: block_device_info, True)
(nova.rpc): TRACE: File "/home/openstack/nova/nova/virt/libvirt/connection.py", line 311, in destroy
(nova.rpc): TRACE: virt_dom.undefine()
(nova.rpc): TRACE: AttributeError: 'NoneType' object has no attribute 'undefine'
(nova.rpc): TRACE:

2011/11/1 <Adrian_F_Smith at dell.com<mailto:Adrian_F_Smith at dell.com>>

There isn't really any block migration specific configuration. So long as your multi-node nova installation is working you should be fine.



The source and target nodes must have compatible CPU architectures and capabilities. Nova-compute on the target node will need access to the VM’s base image (i.e. on Glance if that’s what you’re using) so that it can fetch it during the migration.



The command to do the migration is,



$ nova-manage vm block_migration <ec2 instance id> <destination node>



Adrian


From: openstack-bounces+adrian_f_smith=dell.com at lists.launchpad.net<mailto:dell.com at lists.launchpad.net> [mailto:openstack-bounces+adrian_f_smith<mailto:openstack-bounces%2Badrian_f_smith>=dell.com at lists.launchpad.net<mailto:dell.com at lists.launchpad.net>] On Behalf Of DeadSun
Sent: Tuesday, November 01, 2011 9:07 AM
To: openstack at lists.launchpad.net<mailto:openstack at lists.launchpad.net>
Subject: [Openstack] how to configure nova block_migration

because I have no shared storage, I want to know how nova use kvm block migration and how to configure it

--
非淡薄无以明志,非宁静无以致远

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack at lists.launchpad.net<mailto:openstack at lists.launchpad.net>
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp



--
非淡薄无以明志,非宁静无以致远
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20111101/824ddf06/attachment.html>


More information about the Openstack mailing list