Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-7384

[libvirt] Use nbdkit plugins for handling http/https and ssh disk sources

    • None
    • Moderate
    • rhel-sst-virtualization-storage
    • ssg_virtualization
    • 5
    • QE ack, Dev ack
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Fail
    • None
    • If docs needed, set a value
    • None

      Up until now, qemu-kvm has had a dependency on the qemu-block-curl plugin, which allows qemu guests to use http/https network locations as a disk source. However, in rhel 9, this dependency is being removed from qemu-kvm, which results in issues such as bug #2014229.

      The long-term solution is to switch to using the more featureful and maintained nbdkit curl plugin (https://libguestfs.org/nbdkit-curl-plugin.1.html) within libvirt.

      From an email from Rich:

      It would need to instead run an nbdkit subprocess first, eg:

      nbdkit -U /tmp/randomly-named-sock --exit-with-parent -f -r \
      --pidfile /tmp/randomly-named-file \
      curl http://foo protocols=http,https,ftp,ftps &

      1. wait for pidfile to get created
      1. pass nbd:unix:/tmp/randomly-named-sock as qemu parameter
      2. or:
      3. <disk type='network' device='disk'>
      4. <driver name='qemu'/>
      5. <source protocol='nbd'>
      6. <host transport='unix' socket='/tmp/randomly-named-sock'/>
      7. </source>
      8. <target dev='vda' bus='virtio'/>
      9. </disk>
      1. wait for qemu then:
        kill `cat /tmp/randomly-named-file`
        rm /tmp/randomly-named-sock

      (or nbdkit will clean itself up because of --exit-with-parent)

              jjongsma@redhat.com Jonathon Jongsma
              jjongsma@redhat.com Jonathon Jongsma
              Meina Li Meina Li
              Votes:
              0 Vote for this issue
              Watchers:
              23 Start watching this issue

                Created:
                Updated: