RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1460923 - libvirt failed to find romfile "pxe-virtio.rom" when using guestfish --network on aarch64
Summary: libvirt failed to find romfile "pxe-virtio.rom" when using guestfish --networ...
Keywords:
Status: CLOSED DUPLICATE of bug 1337510
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libguestfs
Version: 7.4
Hardware: aarch64
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Richard W.M. Jones
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-06-13 07:31 UTC by Xianghua Chen
Modified: 2017-06-13 10:09 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-06-13 10:09:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
log.network.aarch64 (8.96 KB, text/plain)
2017-06-13 07:34 UTC, Xianghua Chen
no flags Details

Description Xianghua Chen 2017-06-13 07:31:28 UTC
Description of problem:
libvirt failed to find romfile "pxe-virtio.rom" when using guestfish --network on aarch64
Please refer to the attachment for detailed log.


Version-Release number of selected component (if applicable):
libguestfs-1.36.3-4.el7.aarch64


How reproducible:
100%


Steps:

1. Create a image for test:
# qemu-img create -f raw misc.ext2.raw 10G

2.
# guestfish --network -a misc.ext2.raw run
libguestfs: error: could not create appliance through libvirt.

Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct

Original error from libvirt: internal error: process exited while connecting to monitor: 2017-06-13T06:50:47.146214Z qemu-kvm: -device virtio-net-pci,netdev=usernet: failed to find romfile "pxe-virtio.rom" [code=1 int1=-1]



Actual results:
The command failed.

Expected results:
The command can be executed successfully.

Additional info:
This command passed on x86_64/ppc64le.

Comment 1 Xianghua Chen 2017-06-13 07:34:34 UTC
Created attachment 1287180 [details]
log.network.aarch64

Comment 2 Richard W.M. Jones 2017-06-13 07:51:32 UTC
The XML that we are generating, from the log file formatted to
make it a bit more readable:

<?xml version="1.0"?>
<domain type="kvm" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0">
  <name>guestfs-qks4gse4jzbqqvn9</name>
  <memory unit="MiB">768</memory>
  <currentMemory unit="MiB">768</currentMemory>
  <cpu mode="host-passthrough">
    <model fallback="allow"/>
  </cpu>
  <vcpu>1</vcpu>
  <clock offset="utc">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
  </clock>
  <os>
    <type machine="virt">hvm</type>
    <loader readonly="yes" type="pflash">/usr/share/AAVMF/AAVMF_CODE.verbose.fd</loader>
    <nvram>/tmp/libguestfsvSaKTy/vars.fd.1</nvram>
    <kernel>/var/tmp/.guestfs-0/appliance.d/kernel</kernel>
    <initrd>/var/tmp/.guestfs-0/appliance.d/initrd</initrd>
    <cmdline>panic=1 console=ttyAMA0 earlyprintk=pl011,0x9000000 ignore_loglevel efi-rtc=noprobe edd=off udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1 cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable 8250.nr_uarts=1 root=/dev/sdb selinux=0 guestfs_verbose=1 guestfs_network=1 TERM=xterm-256color</cmdline>
  </os>
  <on_reboot>destroy</on_reboot>
  <devices>
    <rng model="virtio">
      <backend model="random">/dev/urandom</backend>
    </rng>
    <controller type="scsi" index="0" model="virtio-scsi"/>
    <disk device="disk" type="file">
      <source file="/home/git/libguestfs.autotest/client/tests/libguestfs/misc.ext2.raw"/>
      <target dev="sda" bus="scsi"/>
      <driver name="qemu" type="raw" cache="writeback"/>
      <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <disk type="file" device="disk">
      <source file="/tmp/libguestfsvSaKTy/overlay2"/>
      <target dev="sdb" bus="scsi"/>
      <driver name="qemu" type="qcow2" cache="unsafe"/>
      <address type="drive" controller="0" bus="0" target="1" unit="0"/>
      <shareable/>
    </disk>
    <serial type="unix">
      <source mode="connect" path="/tmp/libguestfssCsJt7/console.sock"/>
      <target port="0"/>
    </serial>
    <channel type="unix">
      <source mode="connect" path="/tmp/libguestfssCsJt7/guestfsd.sock"/>
      <target type="virtio" name="org.libguestfs.channel.0"/>
    </channel>
    <controller type="usb" model="none"/>
    <memballoon model="none"/>
  </devices>
  <qemu:commandline>
    <qemu:env name="TMPDIR" value="/var/tmp"/>
    <qemu:arg value="-netdev"/>
    <qemu:arg value="user,id=usernet,net=169.254.0.0/16"/>
    <qemu:arg value="-device"/>
    <qemu:arg value="virtio-net-pci,netdev=usernet"/>
  </qemu:commandline>

Comment 3 Xianghua Chen 2017-06-13 07:55:00 UTC
Other related packages:
libvirt-3.2.0-7.el7.aarch64
qemu-kvm-rhev-2.6.0-28.el7_3.10.aarch64

Comment 4 Richard W.M. Jones 2017-06-13 08:02:05 UTC
My cut and paste missed out the closing </domain> from there (it's
present in the original XML).  But the important part seems to be:

  <qemu:commandline>
    <qemu:env name="TMPDIR" value="/var/tmp"/>
    <qemu:arg value="-netdev"/>
    <qemu:arg value="user,id=usernet,net=169.254.0.0/16"/>
    <qemu:arg value="-device"/>
    <qemu:arg value="virtio-net-pci,netdev=usernet"/>
  </qemu:commandline>

which comes from this code:

  https://github.com/libguestfs/libguestfs/blob/rhel-7.4/lib/launch-libvirt.c#L1750-L1769

This XML is not generated by upstream libguestfs (which uses bridged
networking instead).  The reason it is present in RHEL 7.4 is because
we revert the following patch downstream:

  https://github.com/libguestfs/libguestfs/commit/706ec2c841cda0de58a52001b1567d2b72fdacdf

However I still think this must be a bug/missing file in qemu, or perhaps a
missing dependency.

Comment 5 Xianghua Chen 2017-06-13 09:12:25 UTC
(In reply to Richard W.M. Jones from comment #4)
> My cut and paste missed out the closing </domain> from there (it's
> present in the original XML).  But the important part seems to be:
> 
>   <qemu:commandline>
>     <qemu:env name="TMPDIR" value="/var/tmp"/>
>     <qemu:arg value="-netdev"/>
>     <qemu:arg value="user,id=usernet,net=169.254.0.0/16"/>
>     <qemu:arg value="-device"/>
>     <qemu:arg value="virtio-net-pci,netdev=usernet"/>
>   </qemu:commandline>
> 
> which comes from this code:
> 
>  
> https://github.com/libguestfs/libguestfs/blob/rhel-7.4/lib/launch-libvirt.
> c#L1750-L1769
> 
> This XML is not generated by upstream libguestfs (which uses bridged
> networking instead).  The reason it is present in RHEL 7.4 is because
> we revert the following patch downstream:
> 
>  
> https://github.com/libguestfs/libguestfs/commit/
> 706ec2c841cda0de58a52001b1567d2b72fdacdf
> 
> However I still think this must be a bug/missing file in qemu, or perhaps a
> missing dependency.

So do you need me to change the component to qemu-kvm-rhev?

Comment 6 Richard W.M. Jones 2017-06-13 09:24:37 UTC
Works with: qemu-kvm-rhev-2.9.0-9.el7.aarch64

I believe this is a duplicate of bug 1337510.  In any case I cannot
reproduce it with the newer qemu-kvm-rhev.  Andrea, what do you think?

Comment 7 Andrea Bolognani 2017-06-13 10:05:09 UTC
I vote for duplicate as well.

Comment 8 Richard W.M. Jones 2017-06-13 10:09:32 UTC
Marking as duplicate.  Xiang Hua, can you try with the newer qemu,
and if you still see the problem reopen/unduplicate.

*** This bug has been marked as a duplicate of bug 1337510 ***


Note You need to log in before you can comment on or make changes to this bug.