Bug 1399083

Summary: ppc network model name incorrectly set to virtio1.0-net
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: agedosier, berrange, clalancette, crobinso, itamar, laine, libvirt-maint, veillard, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: virt-manager-1.4.0-5.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-16 20:59:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
fedora-25-ppc64le.ks none

Description Richard W.M. Jones 2016-11-28 09:18:46 UTC
Description of problem:

virt-install \
    --name=tmp \
    --ram=4096 \
    --arch=ppc64le \
    --machine=pseries \
    --cpu=POWER8 \
    --vcpus=1 \
    --os-type=linux \
    --os-variant=fedora23 \
    --initrd-inject=fedora-25-ppc64le.ks \
    --extra-args="ks=file:/fedora-25-ppc64le.ks console=tty0 console=hvc0 rd_NO_PLYMOUTH" \
    --disk=tmp.img,size=6,format=raw \
    --serial=pty \
    --location=https://download.fedoraproject.org/pub/fedora-secondary/releases/25/Server/ppc64le/os/ \
    --nographics \
    --noreboot 

prints:

Starting install...
Retrieving file vmlinuz...                                  |  18 MB  00:06     
Retrieving file initrd.img...                               |  41 MB  00:14     
Allocating 'tmp.img'                                        | 6.0 GB  00:00     
ERROR    invalid argument: Model name contains invalid characters

This command worked in Fedora 24.

Version-Release number of selected component (if applicable):

libvirt-2.4.0-1.fc26.x86_64
virt-install-1.4.0-4.fc25.noarch

How reproducible:

100%

Steps to Reproduce:
1. As above.

Additional info:


The error message comes from libvirt:

    /* NIC model (see -net nic,model=?).  We only check that it looks
     * reasonable, not that it is a supported NIC type.  FWIW kvm
     * supports these types as of April 2008:
     * i82551 i82557b i82559er ne2k_pci pcnet rtl8139 e1000 virtio
     * QEMU PPC64 supports spapr-vlan
     */
    if (model != NULL) {
        if (strspn(model, NET_MODEL_CHARS) < strlen(model)) {
            virReportError(VIR_ERR_INVALID_ARG, "%s",
                           _("Model name contains invalid characters"));
            goto error;
        }
        def->model = model;
        model = NULL;
    }

Comment 1 Richard W.M. Jones 2016-11-28 09:20:03 UTC
Created attachment 1225212 [details]
fedora-25-ppc64le.ks

I don't think it's relevant to this, but attached is the kickstart file.

Comment 2 Richard W.M. Jones 2016-11-28 09:22:46 UTC
I believe the model string is: "virtio1.0-net", based on the
XML dumped from virt-install.

<domain type="qemu">
  <name>tmp-vtigy7ym</name>
  <uuid>ea8d42d6-db5c-4adc-9c03-afee973e01af</uuid>
  <memory>4194304</memory>
  <currentMemory>4194304</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch="ppc64le" machine="pseries">hvm</type>
    <kernel>/home/rjones/.cache/virt-manager/boot/virtinst-vmlinuz.f787LG</kernel>
    <initrd>/home/rjones/.cache/virt-manager/boot/virtinst-initrd.img.ufrQCt</initrd>
    <cmdline>ks=file:/fedora-25-ppc64le.ks console=tty0 console=hvc0 rd_NO_PLYMOUTH inst.repo=https://download.fedoraproject.org/pub/fedora-secondary/releases/25/Server/ppc64le/os/</cmdline>
  </os>
  <cpu mode="custom" match="exact">
    <model>POWER8</model>
  </cpu>
  <clock offset="utc"/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-ppc64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="raw"/>
      <source file="/home/rjones/d/libguestfs/builder/templates/tmp-vtigy7ym.img"/>
      <target dev="vda" bus="virtio"/>
    </disk>
    <interface type="user">
      <mac address="52:54:00:91:65:49"/>
      <model type="virtio1.0-net"/>
    </interface>
    <serial type="pty"/>
    <channel type="unix">
      <source mode="bind"/>
      <target type="virtio" name="org.qemu.guest_agent.0"/>
    </channel>
  </devices>
</domain>
<domain type="qemu">
  <name>tmp-vtigy7ym</name>
  <uuid>ea8d42d6-db5c-4adc-9c03-afee973e01af</uuid>
  <memory>4194304</memory>
  <currentMemory>4194304</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch="ppc64le" machine="pseries">hvm</type>
    <boot dev="hd"/>
  </os>
  <cpu mode="custom" match="exact">
    <model>POWER8</model>
  </cpu>
  <clock offset="utc"/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-ppc64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="raw"/>
      <source file="/home/rjones/d/libguestfs/builder/templates/tmp-vtigy7ym.img"/>
      <target dev="vda" bus="virtio"/>
    </disk>
    <interface type="user">
      <mac address="52:54:00:91:65:49"/>
      <model type="virtio1.0-net"/>
    </interface>
    <serial type="pty"/>
    <channel type="unix">
      <source mode="bind"/>
      <target type="virtio" name="org.qemu.guest_agent.0"/>
    </channel>
  </devices>
</domain>

Comment 3 Richard W.M. Jones 2016-11-28 09:28:06 UTC
(To avoid any confusion, above I pasted the same XML twice by accident)

$ qemu-system-ppc64 -cpu POWER8 -machine pseries -net nic,model=?
qemu: Supported NIC models: ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio

I would say that the model type being passed by virt-install
is probably wrong.

Comment 4 Richard W.M. Jones 2016-11-28 10:13:32 UTC
As pointed out by Ján this looks very similar but not exactly the
same as bug 1391522.

Looking at the other bug, I found a workaround which is to use
--os-variant=fedora22 (instead of --os-variant=fedora23).

Comment 5 Cole Robinson 2016-12-13 18:00:55 UTC
Thanks for the report, fixed upstream now:

commit 617b92710f50015c5df5f9db15d25de18867957d
Author: Cole Robinson <crobinso>
Date:   Tue Dec 13 12:58:14 2016 -0500

    osdict: Don't return virtio1.0-net as a valid device name (bug 1399083)

Comment 6 Fedora Update System 2016-12-13 19:00:01 UTC
virt-manager-1.4.0-5.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f3f704d241

Comment 7 Fedora Update System 2016-12-15 05:05:21 UTC
virt-manager-1.4.0-5.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f3f704d241

Comment 8 Fedora Update System 2016-12-16 20:59:38 UTC
virt-manager-1.4.0-5.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.