virsh maxvcpus throws "error: invalid argument: unable to find any emulator to serve 'ppc64le' architecture"

Bug #1674298 reported by bugproxy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libvirt (Ubuntu)
Fix Released
Undecided
Christian Ehrhardt 

Bug Description

== Comment: #0 - Satheesh Rajendran <email address hidden> - 2017-03-20 05:00:21 ==
---Problem Description---
virsh maxvcpus throws "error: invalid argument: unable to find any emulator to serve 'ppc64le' architecture"

Contact Information = <email address hidden>

---uname output---
Linux ltc-test-ci1 4.10.0-13-generic #15-Ubuntu SMP Thu Mar 9 20:27:28 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux

Machine Type = power 8 ppc64le

---Debugger---
A debugger is not configured

---Steps to Reproduce---
 #virsh maxvcpus
error: invalid argument: unable to find any emulator to serve 'ppc64le' architecture

Userspace tool common name: libvirt

The userspace tool has the following bit modes: both

Userspace rpm: ii libvirt-bin 2.5.0-3ubuntu4 ppc64el programs for the libvirt library,ii qemu-kvm 1:2.8+dfsg-3ubuntu2 ppc64el QEMU Full virtualization

Userspace tool obtained from project website: na

*Additional Instructions for <email address hidden>:
-Post a private note with access information to the machine that the bug is occuring on.
-Attach ltrace and strace of userspace application.

== Comment: #1 - Satheesh Rajendran <email address hidden> - 2017-03-20 05:07:45 ==
#virsh capabilities
<capabilities>

  <host>
    <uuid>08424246-091a-43b7-9eff-c78858b179ce</uuid>
    <cpu>
      <arch>ppc64le</arch>
      <model>POWER8</model>
      <vendor>IBM</vendor>
      <topology sockets='1' cores='5' threads='8'/>
      <pages unit='KiB' size='64'/>
      <pages unit='KiB' size='16384'/>
      <pages unit='KiB' size='16777216'/>
    </cpu>
...
...
...
....
<guest>
    <os_type>hvm</os_type>
    <arch name='ppc64le'>
      <wordsize>64</wordsize>
      <emulator>/usr/bin/qemu-system-ppc64le</emulator>
      <machine maxCpus='255'>pseries-zesty</machine>
      <machine canonical='pseries-zesty' maxCpus='255'>pseries</machine>
      <machine maxCpus='1'>ref405ep</machine>
      <machine maxCpus='1'>virtex-ml507</machine>
      <machine maxCpus='2048'>powernv</machine>
      <machine maxCpus='32'>ppce500</machine>
      <machine maxCpus='15'>mpc8544ds</machine>
      <machine maxCpus='1'>bamboo</machine>
      <machine maxCpus='1'>g3beige</machine>
      <machine maxCpus='1'>prep</machine>
      <machine maxCpus='1'>mac99</machine>
      <machine maxCpus='255'>pseries-2.6</machine>
      <machine maxCpus='255'>pseries-2.7</machine>
      <machine maxCpus='255'>pseries-2.8</machine>
      <machine maxCpus='255'>pseries-2.4</machine>
      <machine maxCpus='255'>pseries-2.5</machine>
      <machine maxCpus='255'>pseries-2.2</machine>
      <machine maxCpus='1'>taihu</machine>
      <machine maxCpus='255'>pseries-2.3</machine>
      <machine maxCpus='255'>pseries-xenial</machine>
      <machine maxCpus='255'>pseries-yakkety</machine>
      <machine maxCpus='255'>pseries-2.1</machine>
      <domain type='qemu'/>
      <domain type='kvm'>
        <emulator>/usr/bin/kvm</emulator>
        <machine maxCpus='255'>pseries-zesty</machine>
        <machine canonical='pseries-zesty' maxCpus='255'>pseries</machine>
        <machine maxCpus='1'>ref405ep</machine>
        <machine maxCpus='1'>virtex-ml507</machine>
        <machine maxCpus='2048'>powernv</machine>
        <machine maxCpus='32'>ppce500</machine>
        <machine maxCpus='15'>mpc8544ds</machine>
        <machine maxCpus='1'>bamboo</machine>
        <machine maxCpus='1'>g3beige</machine>
        <machine maxCpus='1'>prep</machine>
        <machine maxCpus='1'>mac99</machine>
        <machine maxCpus='255'>pseries-2.6</machine>
        <machine maxCpus='255'>pseries-2.7</machine>
        <machine maxCpus='255'>pseries-2.8</machine>
        <machine maxCpus='255'>pseries-2.4</machine>
        <machine maxCpus='255'>pseries-2.5</machine>
        <machine maxCpus='255'>pseries-2.2</machine>
        <machine maxCpus='1'>taihu</machine>
        <machine maxCpus='255'>pseries-2.3</machine>
        <machine maxCpus='255'>pseries-xenial</machine>
        <machine maxCpus='255'>pseries-yakkety</machine>
        <machine maxCpus='255'>pseries-2.1</machine>
      </domain>
    </arch>
    <features>
      <cpuselection/>
      <deviceboot/>
      <disksnapshot default='on' toggle='no'/>
    </features>
  </guest>
...
...

~# arch
ppc64le

== Comment: #2 - VIPIN K. PARASHAR <email address hidden> - 2017-03-20 06:40:12 ==
$ git log bd4ae4f5e881276b -1
commit bd4ae4f5e881276b05e48fbd55a29c57cf1a25ff
Author: Peter Krempa <email address hidden>
Date: Thu Dec 8 09:36:43 2016 +0100

    virsh: maxvcpus: Always fall back to the old command if domain caps fail

    1ec22be5 added code that detects the maximum cpu count according to
    domain capabilities. The code fell back to the old command only if the
    API was not supported. If the API fails for other reasons the command
    would fail. There's no point in not trying the old API in such case.

    https://bugzilla.redhat.com/show_bug.cgi?id=1402690

$ git tag --contains bd4ae4f5e881276b0 | grep -v rc
v3.0.0
v3.1.0
$

Commit bd4ae4f5e881276b should fix this issue.
Its available in libvirt version 3.0 and above.

bugproxy (bugproxy)
tags: added: architecture-ppc64le bugnameltc-152716 severity-high targetmilestone-inin1704
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
affects: ubuntu → libvirt (Ubuntu)
Revision history for this message
Michael Hohnbaum (hohnbaum) wrote : Re: [Bug 1674298] [NEW] virsh maxvcpus throws "error: invalid argument: unable to find any emulator to serve 'ppc64le' architecture"
Download full text (6.0 KiB)

Jon,

Can someone from Server Team look at this bug?

Thanks.

            Michael

On 03/20/2017 04:49 AM, bugproxy wrote:
> Public bug reported:
>
> == Comment: #0 - Satheesh Rajendran <email address hidden> - 2017-03-20 05:00:21 ==
> ---Problem Description---
> virsh maxvcpus throws "error: invalid argument: unable to find any emulator to serve 'ppc64le' architecture"
>
> Contact Information = <email address hidden>
>
> ---uname output---
> Linux ltc-test-ci1 4.10.0-13-generic #15-Ubuntu SMP Thu Mar 9 20:27:28 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux
>
> Machine Type = power 8 ppc64le
>
> ---Debugger---
> A debugger is not configured
>
> ---Steps to Reproduce---
> #virsh maxvcpus
> error: invalid argument: unable to find any emulator to serve 'ppc64le' architecture
>
> Userspace tool common name: libvirt
>
> The userspace tool has the following bit modes: both
>
> Userspace rpm: ii libvirt-bin
> 2.5.0-3ubuntu4 ppc64el programs for the
> libvirt library,ii qemu-kvm 1:2.8
> +dfsg-3ubuntu2 ppc64el QEMU Full
> virtualization
>
> Userspace tool obtained from project website: na
>
> *Additional Instructions for <email address hidden>:
> -Post a private note with access information to the machine that the bug is occuring on.
> -Attach ltrace and strace of userspace application.
>
> == Comment: #1 - Satheesh Rajendran <email address hidden> - 2017-03-20 05:07:45 ==
> #virsh capabilities
> <capabilities>
>
> <host>
> <uuid>08424246-091a-43b7-9eff-c78858b179ce</uuid>
> <cpu>
> <arch>ppc64le</arch>
> <model>POWER8</model>
> <vendor>IBM</vendor>
> <topology sockets='1' cores='5' threads='8'/>
> <pages unit='KiB' size='64'/>
> <pages unit='KiB' size='16384'/>
> <pages unit='KiB' size='16777216'/>
> </cpu>
> ...
> ...
> ...
> ....
> <guest>
> <os_type>hvm</os_type>
> <arch name='ppc64le'>
> <wordsize>64</wordsize>
> <emulator>/usr/bin/qemu-system-ppc64le</emulator>
> <machine maxCpus='255'>pseries-zesty</machine>
> <machine canonical='pseries-zesty' maxCpus='255'>pseries</machine>
> <machine maxCpus='1'>ref405ep</machine>
> <machine maxCpus='1'>virtex-ml507</machine>
> <machine maxCpus='2048'>powernv</machine>
> <machine maxCpus='32'>ppce500</machine>
> <machine maxCpus='15'>mpc8544ds</machine>
> <machine maxCpus='1'>bamboo</machine>
> <machine maxCpus='1'>g3beige</machine>
> <machine maxCpus='1'>prep</machine>
> <machine maxCpus='1'>mac99</machine>
> <machine maxCpus='255'>pseries-2.6</machine>
> <machine maxCpus='255'>pseries-2.7</machine>
> <machine maxCpus='255'>pseries-2.8</machine>
> <machine maxCpus='255'>pseries-2.4</machine>
> <machine maxCpus='255'>pseries-2.5</machine>
> <machine maxCpus='255'>pseries-2.2</machine>
> <machine maxCpus='1'>taihu</machine>
> <machine maxCpus='255'>pseries-2.3</machine>
> <machine maxCpus='255'>pseries-xenial</machine>
> <machine maxCpus='255'>pseries-yakkety</machine>
> <machine maxCpus='255'>pse...

Read more...

Revision history for this message
Jon Grimm (jgrimm) wrote :

Added to server-team queue.

tags: added: server-next
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Xenial as LTS is fine, but that was to be expected as the offending change is >=2.3.
FYI - I'm working on preparing this fix for Zesty.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I checked and wanted to mention it was not a problem on s390x, x86 or arm64.
Yet I could confirm the issue on ppc64el and agree to the fix being a reasonable backport.

That said means that all but ppc seem to exit the function before that code is run, which makes the fix even more safe.

I prepared a fix in https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/2617

I also tested for regression on all arch and then published to zesty, but due to the current beta freeze [1] it might be a few more days until it shows up there.

[1]: https://lists.ubuntu.com/archives/ubuntu-release/2017-March/004062.html

Manoj Iyer (manjo)
Changed in libvirt (Ubuntu):
assignee: Taco Screen team (taco-screen-team) → ChristianEhrhardt (paelzer)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libvirt - 2.5.0-3ubuntu5

---------------
libvirt (2.5.0-3ubuntu5) zesty; urgency=medium

  * d/p/ubuntu/virsh-maxvcpu-fall-back-to-old-command.patch: virsh: maxvcpus:
    Always fall back to the old command if domain caps fail (LP: #1674298)

 -- Christian Ehrhardt <email address hidden> Tue, 21 Mar 2017 08:02:37 +0100

Changed in libvirt (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.