Bug #4204

"save-image-dumpxml" bug when "cpu=host-passthrough" is in used

Added by Rachel Chen over 4 years ago. Updated about 4 years ago.

Status:ClosedStart date:11/26/2015
Priority:NormalDue date:
Assignee:Ruben S. Montero% Done:

0%

Category:Documentation
Target version:Release 5.0
Resolution:fixed Pull request:
Affected Versions:OpenNebula 4.14

Description

As per bug described in https://bugzilla.redhat.com/show_bug.cgi?id=1183869, virsh save-image-dumpxml does not properly save <cpu></cpu> attributes when "cpu=host-pasthrough" is in used. I understand that save-image-dumpxml is used to change DS_LOCATION in case there is a DS relocation, but this bug from libvirt is affecting OpenNebula.

Steps to reproduce

root@nodding:~# dpkg -l | grep libvirt
ii  libvirt-bin                         1.2.12-0ubuntu14.2                  amd64        programs for the libvirt library
ii  libvirt0                            1.2.12-0ubuntu14.2                  amd64        library for interfacing with different virtualization systems

root@nodding:~# uname -a
Linux nodding 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

root@nodding:~# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.04
DISTRIB_CODENAME=vivid
DISTRIB_DESCRIPTION="Ubuntu 15.04" 

root@nodding:~# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    2
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 86
Model name:            Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
Stepping:              2
CPU MHz:               2462.031
CPU max MHz:           2600.0000
CPU min MHz:           800.0000
BogoMIPS:              3999.91
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              12288K
NUMA node0 CPU(s):     0-15

1. RAW = "<cpu mode='host-passthrough'/>" to /etc/one/vmm_exec/vmm_exec_kvm.conf
2. Instantiate a VM from a template
3. Suspend the VM
4. Resume the VM

Actual Results
VM does not resume
Nov 25 22:01:14 nodding libvirtd12453: unsupported configuration: Target CPU model <null> does not match source Broadwell

Expected Results
VM in "Running" state

Attempted Solution
Removing anything about .xml in /var/lib/one/remotes/vmm/kvm/restore, and using "virsh --connect $LIBVIRT_URI restore $FILE" instead of "virsh --connect $LIBVIRT_URI restore $FILE --xml $FILE_XML"

History

#1 Updated by Ruben S. Montero over 4 years ago

  • Target version set to Release 5.0

#2 Updated by Ruben S. Montero about 4 years ago

  • Assignee set to Javi Fontan

#3 Updated by Ruben S. Montero about 4 years ago

  • Assignee changed from Javi Fontan to Ruben S. Montero

#4 Updated by Ruben S. Montero about 4 years ago

  • Category changed from Drivers - VM to Documentation

Hi Jerry,

You are right, we need to dump the xml description to fix paths if the VM has been moved to another datastore. So, we cannot have both ds-migration and host-passthrough. There is not much we can do. We propose to include a note in the platform notes, if ds-migration is not needed then line 77,

exec_and_log "virsh --connect $LIBVIRT_URI restore $FILE --xml $FILE_XML" \
    "Could not restore from $FILE" 

can be changed to

exec_and_log "virsh --connect $LIBVIRT_URI restore $FILE" \
    "Could not restore from $FILE" 

BTW, for nested virtualization and the like we are using <cpu mode='host-model'/>, maybe it works for your use-case also

THANKS for the through feedback :D

Cheers

#5 Updated by Ruben S. Montero about 4 years ago

  • Status changed from Pending to Closed
  • Resolution set to fixed

Closing as fixed with the link in the release notes to this issue

https://github.com/OpenNebula/docs/commit/0408ccbe8b96378202c75b0fd82e58f09f8304c7

Also available in: Atom PDF