https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1262641
this Libvirt issue has been fixed already
** Changed in: nova
Status: Confirmed => 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/1262647
Title:
nova snapshot, nova resume not working with libvirt_cpu=host-
passthrough and libvirt 1.1.1
Status in OpenStack Compute (Nova):
Invalid
Bug description:
Environment:
OpenStack version Havana
libvirt_cpu = host-passthrough
libvirt0, libvirt-bin 1.1.1-0ubuntu8~cloud2
qemu-kvm, qemu-utils, qemu-common 1.0+noroms-0ubuntu14.12
kvm 1:84+dfsg-0ubuntu16+1.0+noroms+0ubuntu14.12
apparmor 2.7.102-0ubuntu3.9
Kernel 3.5.0-44-generic
lsb-release Ubuntu 12.04.3 LTS
Problem:
I have set libvirt_cpu_mode=host-passthrough in nova.conf in compute node.
I launched the VM instance and then when I create snapshot of the vm, the vm
is left in SHUTOFF state and I cannot start the VM.
Also if I suspend the VM, I could not resume it also.
In nova-compute.log
2013-12-19 23:33:13.882 6299 ERROR nova.openstack.common.rpc.amqp
[req-03e88327-be90-47bd-8a58-505be9e22e31 bfee415e02844c9cb4b6e6a313c2d230 1]
Exception during message handling
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp Traceback
(most recent call last):
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/amqp.py", line 461,
in _process_data
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp **args)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/dispatcher.py",
line 172, in dispatch
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp result
= getattr(proxyobj, method)(ctxt, **kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 353, in
decorated_function
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp return
function(self, context, *args, **kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/exception.py", line 90, in wrapped
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp payload)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/exception.py", line 73, in wrapped
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp return
f(self, context, *args, **kw)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 243, in
decorated_function
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp pass
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 229, in
decorated_function
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp return
function(self, context, *args, **kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 294, in
decorated_function
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
function(self, context, *args, **kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 271, in
decorated_function
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp e,
sys.exc_info())
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 258, in
decorated_function
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp return
function(self, context, *args, **kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 3311, in
resume_instance
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
block_device_info)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1962, in
resume
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
block_device_info=block_device_info, context=context)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3210, in
_create_domain_and_network
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp domain
= self._create_domain(xml, instance=instance, power_on=power_on)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3153, in
_create_domain
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
domain.XMLDesc(0))
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3148, in
_create_domain
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
domain.createWithFlags(launch_flags)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 179, in doit
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp result
= proxy_call(self._autowrap, f, *args, **kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp rv =
execute(f,*args,**kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp rv =
meth(*args,**kwargs)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp File
"/usr/lib/python2.7/dist-packages/libvirt.py", line 728, in createWithFlags
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp if ret
== -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
libvirtError: internal error: cannot load AppArmor profile
'libvirt-ba53a370-259f-4f47-b3e5-c76eddf4ec86'
2013-12-19 23:33:13.882 6299 TRACE nova.openstack.common.rpc.amqp
in libvirtd.log
2013-12-19 12:08:49.169+0000: 27906: error : virCommandWait:2348 : internal
error: Child process (/usr/lib/libvirt/virt-aa-helper -p 0 -r -u
libvirt-ba53a370-259f-4f47-b3e5-c76eddf4ec86) unexpected exit status 1:
virt-aa-helper: error: could not parse XML
virt-aa-helper: error: could not get VM definition
2013-12-19 12:08:49.169+0000: 27906: error : AppArmorGenSecurityLabel:451 :
internal error: cannot load AppArmor profile
'libvirt-ba53a370-259f-4f47-b3e5-c76eddf4ec86'
2013-12-19 12:08:49.170+0000: 27906: warning : virAuditSend:135 : Failed to
send audit message virt=kvm resrc=disk reason=start vm="instance-0000b600"
uuid=ba53a370-259f-4f47-b3e5-c76eddf4ec86 old-disk="?"
new-disk="/var/lib/nova/instances/ba53a370-259f-4f47-b3e5-c76eddf4ec86/disk":
Operation not permitted
2013-12-19 12:08:49.170+0000: 27906: warning : virAuditSend:135 : Failed to
send audit message virt=kvm resrc=disk reason=start vm="instance-0000b600"
uuid=ba53a370-259f-4f47-b3e5-c76eddf4ec86 old-disk="?"
new-disk="/var/lib/nova/instances/ba53a370-259f-4f47-b3e5-c76eddf4ec86/disk.local":
Operation not permitted
2013-12-19 12:08:49.170+0000: 27906: warning : virAuditSend:135 : Failed to
send audit message virt=kvm resrc=net reason=start vm="instance-0000b600"
uuid=ba53a370-259f-4f47-b3e5-c76eddf4ec86 old-net=? new-net=fa:16:3e:0d:17:12:
Operation not permitted
2013-12-19 12:08:49.170+0000: 27906: warning : virAuditSend:135 : Failed to
send audit message virt=kvm resrc=mem reason=start vm="instance-0000b600"
uuid=ba53a370-259f-4f47-b3e5-c76eddf4ec86 old-mem=0 new-mem=16777216: Operation
not permitted
2013-12-19 12:08:49.170+0000: 27906: warning : virAuditSend:135 : Failed to
send audit message virt=kvm resrc=vcpu reason=start vm="instance-0000b600"
uuid=ba53a370-259f-4f47-b3e5-c76eddf4ec86 old-vcpu=0 new-vcpu=4: Operation not
permitted
2013-12-19 12:08:49.170+0000: 27906: warning : virAuditSend:135 : Failed to
send audit message virt=kvm op=start reason=restored vm="instance-0000b600"
uuid=ba53a370-259f-4f47-b3e5-c76eddf4ec86 vm-pid=-1: Operation not permitted
2013-12-19 12:08:49.170+0000: 27906: warning :
qemuDomainSaveImageStartVM:5452 : failed to restore save state label on
/var/lib/libvirt/qemu/save/instance-0000b600.save
If I restart libvirt-bin at this point, the error complains about Non-empty
feature list specified without CPU
2013-12-19 12:05:58.786+0000: 27913: info : libvirt version: 1.1.1
2013-12-19 12:05:58.786+0000: 27913: error : virCPUDefParseXML:367 : XML
error: Non-empty feature list specified without CPU model
2013-12-19 12:05:58.787+0000: 27913: error : virCPUDefParseXML:367 : XML
error: Non-empty feature list specified without CPU model
2013-12-19 12:05:58.788+0000: 27913: error : virCPUDefParseXML:367 : XML
error: Non-empty feature list specified without CPU model
2013-12-19 12:05:58.789+0000: 27913: error : virCPUDefParseXML:367 : XML
error: Non-empty feature list specified without CPU model
2013-12-19 12:05:58.790+0000: 27913: error : virCPUDefParseXML:367 : XML
error: Non-empty feature list specified without CPU model
When I check xml of save file, the CPU model information are missing.
#virsh save-image-dumpxml instance-0000b600
<cpu mode='host-passthrough'>
<feature policy='require' name='perfctr_nb'/>
<feature policy='require' name='perfctr_core'/>
<feature policy='require' name='topoext'/>
<feature policy='require' name='nodeid_msr'/>
<feature policy='require' name='lwp'/>
<feature policy='require' name='wdt'/>
<feature policy='require' name='skinit'/>
<feature policy='require' name='ibs'/>
<feature policy='require' name='osvw'/>
<feature policy='require' name='cr8legacy'/>
<feature policy='require' name='extapic'/>
<feature policy='require' name='cmp_legacy'/>
<feature policy='require' name='fxsr_opt'/>
<feature policy='require' name='mmxext'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='vme'/>
</cpu>
xml of the vm
#virsh dumpxml <vm domain> --update-cpu
<cpu mode='host-passthrough' match='minimum'>
<model>Opteron_G4</model>
<vendor>AMD</vendor>
<feature policy='require' name='perfctr_nb'/>
<feature policy='require' name='perfctr_core'/>
<feature policy='require' name='topoext'/>
<feature policy='require' name='nodeid_msr'/>
<feature policy='require' name='lwp'/>
<feature policy='require' name='wdt'/>
<feature policy='require' name='skinit'/>
<feature policy='require' name='ibs'/>
<feature policy='require' name='osvw'/>
<feature policy='require' name='cr8legacy'/>
<feature policy='require' name='extapic'/>
<feature policy='require' name='cmp_legacy'/>
<feature policy='require' name='fxsr_opt'/>
<feature policy='require' name='mmxext'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='vme'/>
</cpu>
I did not have the problem with libvirt 0.9.8 earlier, before upgrade
libvirt to 1.1.1
Thanks
regards,
Swe Aung
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1262647/+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