← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1262647] Re: nova snapshot, nova resume not working with libvirt_cpu=host-passthrough and libvirt 1.1.1

 

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


References