[Openstack-operators] Normal user operated Live Migration

Alvise Dorigo alvise.dorigo at pd.infn.it
Mon Aug 4 07:00:48 UTC 2014

I experienced the impossibility for a normal user to (Live)Migrate 
her/his virtual instances from a compute node (eventually failed or not) 
to another one:

ERROR: Live migration of instance b2c60d5a-831e-4fa6-856c-ddf3d8d287ce 
to host compute-01.cloud.pd.infn.it failed (HTTP 400) (Request-ID: 

In the controller node I see this in the conductor.log:

2014-08-04 08:56:35.988 2346 ERROR nova.openstack.common.rpc.common 
ca9b92d86e184def8e4d651ced8f67eb a6c9f4d7e973430db7f9615fe2a2bfec] 
['Traceback (most recent call last):\n', '  File 
line 461, in _process_data\n    **args)\n', '  File 
line 172, in dispatch\n    result = getattr(proxyobj, method)(ctxt, 
**kwargs)\n', '  File 
line 439, in inner\n    return catch_client_exception(exceptions, func, 
*args, **kwargs)\n', '  File 
line 420, in catch_client_exception\n    return func(*args, 
**kwargs)\n', '  File 
"/usr/lib/python2.6/site-packages/nova/conductor/manager.py", line 645, 
in migrate_server\n    block_migration, disk_over_commit)\n', '  File 
"/usr/lib/python2.6/site-packages/nova/conductor/manager.py", line 747, 
in _live_migrate\n    ex, request_spec, self.db)\n', '  File 
"/usr/lib/python2.6/site-packages/nova/conductor/manager.py", line 719, 
in _live_migrate\n    block_migration, disk_over_commit)\n', ' File 
line 205, in execute\n    return task.execute()\n', '  File 
line 59, in execute\n    self._check_host_is_up(self.source)\n', ' File 
line 90, in _check_host_is_up\n    service = 
db.service_get_by_compute_host(self.context, host)\n', '  File 
"/usr/lib/python2.6/site-packages/nova/db/api.py", line 151, in 
service_get_by_compute_host\n    return 
IMPL.service_get_by_compute_host(context, host)\n', '  File 
"/usr/lib/python2.6/site-packages/nova/db/sqlalchemy/api.py", line 107, 
in wrapper\n    nova.context.require_admin_context(args[0])\n', '  File 
"/usr/lib/python2.6/site-packages/nova/context.py", line 195, in 
require_admin_context\n    raise exception.AdminRequired()\n', 
'AdminRequired: User does not have admin privileges\n']

This seems to be strictly related to other restrictions (like "nova 
host-list" or the missing compute node in the output of "nova show 
I tried to live-migrate VM using the admin user and it worked fine. But 
of course admin doesn't see regular user's VM.

I'm wondering what the live migration is for, if it cannot be used by 
regular users ... If a compute node fails there seems to be no chance to 
restore your work seamlessly.

Even after modification of /etc/nova/policy.json, the situation haven't 
After a quick search on google, I've found this bug 
https://review.openstack.org/#/c/26972/: I tried to implemented the fix 
(el_context.elevate()), but for example the command "nova host-list" 
still gives up with privilege problem.

Is there a way to perform the important task of VM migration ?



More information about the OpenStack-operators mailing list