Red Hat Bugzilla – Bug 1267882
Can't create ppc64 guests on a ppc64le host
Last modified: 2015-11-19 01:55:48 EST
Attempting to create a ppc64 guest on a ppc64le host fails
right away with the following error message:
$ virt-install --arch ppc64 ...
ERROR Host does not support any virtualization options for arch 'ppc64'
Editing an existing guest by changing the contents of the
<arch> element from ppc64le to ppc64 also fails:
$ virsh edit ...
error: invalid argument: could not find capabilities for arch=ppc64
Failed. Try again? [y,n,i,f,?]:
The same happens if you try creating a ppc64le guest on a
It should be possible to create ppc64 guests on ppc64le
hosts, and vice versa, because the CPU endianness is
chosen by the guest kernel at startup.
Fix posted upstream.
Am I right in thinking you can workaround this by choosing "ppc64le" in the libvirt config, but installing a ppc64 (BE) guest anyway?
(In reply to David Gibson from comment #4)
> Am I right in thinking you can workaround this by choosing "ppc64le" in the
> libvirt config, but installing a ppc64 (BE) guest anyway?
Yes, you can definitely do that, but of course it's kinda
ugly - not to mention very confusing to someone who's just
trying to install a BE guest on a LE host.
The issue has been fixed upstream.
Author: Andrea Bolognani <email@example.com>
Date: Wed Sep 30 11:58:58 2015 -0400
qemu: Add conditions for qemu-kvm use on ppc64
qemu-kvm can be used to run ppc64 guests on ppc64le hosts and vice
versa, since the hardware is actually the same and the endianness
is chosen by the guest kernel.
Up until now, however, libvirt didn't allow the use of qemu-kvm
to run guests if their endianness didn't match the host's.
Reproduce with below package:
Test with below packages:
Below tests are executed.
1. Pass. virt-install can work with --arch ppc64, the guest is created, running and can be accessed.
virt-install --name rhel72-20151008-be --arch ppc64 --location http://download.eng.bos.redhat.com/rel-eng/RHEL-7.2-Snapshot-4.1/compose/Server/ppc64/os/ --memory 2048 --disk size=20,bus=virtio --nographics --network model=virtio,bridge=virbr0
2. Pass. virt-install can work with --arch ppc64le, the guest is created, running and can be accessed.
virt-install --name rhel72-20151008-le --arch ppc64le --location http://download.eng.bos.redhat.com/rel-eng/RHEL-7.2-Snapshot-4.1/compose/Server/ppc64le/os/ --memory 2048 --disk size=20,bus=virtio --nographics --network model=virtio,bridge=virbr0
3. Pass. Edit a guest XML and changes can be saved.
# virsh edit guest
Change to arch='ppc64' instead of arch='ppc64le'
<type arch='ppc64' machine='pseries-rhel7.2.0'>hvm</type>
4. No ppc64 machine, so the vice versa scenarios can not be tested.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.