Bug 2014229
Summary: | virt-install fails with iso files over https | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 9 | Reporter: | Matej Marušák <mmarusak> |
Component: | qemu-kvm | Assignee: | Miroslav Rezanina <mrezanin> |
qemu-kvm sub component: | General | QA Contact: | Tingting Mao <timao> |
Status: | CLOSED WONTFIX | Docs Contact: | Jiri Herrmann <jherrman> |
Severity: | high | ||
Priority: | high | CC: | berrange, chhu, coli, gfialova, jdenemar, jherrman, jjongsma, jsuchane, juzhou, kkoukiou, lmen, mpitt, mrezanin, mxie, pasik, rjones, timao, tyan, tzheng, virt-maint, vwu, xchen, xiaodwan, xuzhang |
Version: | 9.0 | Keywords: | Regression, Reopened, Triaged |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | CockpitTest | ||
Fixed In Version: | Doc Type: | Known Issue | |
Doc Text: |
.Installing a virtual machine over https or ssh in some cases fails
Currently, the `virt-install` utility fails when attempting to install a guest operating system (OS) from an ISO source over a https or ssh connection - for example using `pass:[virt-install --cdrom https://example/path/to/image.iso]`. Instead of creating a virtual machine (VM), the described operation ends unexpectedly with an `internal error: process exited while connecting to monitor` message.
Similarly, using the RHEL 9 web console to install a guest operating system fails and displays an `Unknown driver 'https'` error if you use an https or ssh URL, or the `Download OS` function.
To work around this problem, install `qemu-kvm-block-curl` and `qemu-kvm-block-ssh` on the host to enable https and ssh protocol support. Alternatively, use a different connection protocol or a different installation source.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2022-08-10 07:44:50 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: |
Description
Matej Marušák
2021-10-14 16:34:15 UTC
I can reproduce this issue. With package: libvirt-7.8.0-1.el9.x86_64 qemu-kvm-6.1.0-6.el9.x86_64 virt-install-3.2.0-9.el9.noarch Steps: 1. # rpm -qR qemu-kvm-6.1.0-6.el9.x86_64 |grep curl Result - Shows no dependencies with qemu-kvm-block-curl-6.1.0-6.el9.x86_64 2. Use virt-install to install a VM. # virt-install --connect qemu:///system --cdrom http://download.eng.pek2.redhat.com/rhel-9/nightly/RHEL-9-Beta/latest-RHEL-9.0.0/compose/BaseOS/x86_64/iso/RHEL-9.0.0-20211016.6-BaseOS-x86_64-boot.iso --memory 4096 --disk /home/test-cdrom.img,size=10 Using default --name vm3 WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results. Starting install... Allocating 'test-cdrom.img' | 10 GB 00:00:01 Removing disk 'test-cdrom.img' | 0 B 00:00:00 ERROR internal error: process exited while connecting to monitor: 2021-10-20T07:10:53.310649Z qemu-kvm: -blockdev {"driver":"http","url":"http://download.eng.pek2.redhat.com:80/rhel-9/nightly/RHEL-9-Beta/latest-RHEL-9.0.0/compose/BaseOS/x86_64/iso/RHEL-9.0.0-20211016.6-BaseOS-x86_64-boot.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}: Driver 'http' is not whitelisted Domain installation does not appear to have been successful. If it was, you can restart your domain by running: virsh --connect qemu:///system start vm3 otherwise, please restart your installation. (In reply to zhoujunqin from comment #1) > ERROR internal error: process exited while connecting to monitor: > 2021-10-20T07:10:53.310649Z qemu-kvm: -blockdev > {"driver":"http","url":"http://download.eng.pek2.redhat.com:80/rhel-9/ > nightly/RHEL-9-Beta/latest-RHEL-9.0.0/compose/BaseOS/x86_64/iso/RHEL-9.0.0- > 20211016.6-BaseOS-x86_64-boot.iso","node-name":"libvirt-1-storage","auto- > read-only":true,"discard":"unmap"}: Driver 'http' is not whitelisted > Domain installation does not appear to have been successful. > If it was, you can restart your domain by running: > virsh --connect qemu:///system start vm3 > otherwise, please restart your installation. Note that this is a different error. Compare: > Driver 'http' is not whitelisted vs > Unknown driver 'https' Try using an https URI to ensure that you're reproducing the same issue. The solution seems be included in #bug 2016527. (In reply to Tingting Mao from comment #10) > The solution seems be included in #bug 2016527. Yes, that's the long term solution. Short term (until bug 2016527 is implemented) libvirt will need to add an explicit dependency on qemu-kvm-block-driver-curl. I discussed other options with Mirek and having the dependency in libvirt makes most sense as we can easily drop the dependency once we switch to nbdkit without having to synchronize with either virt-install or qemu. (In reply to Jiri Denemark from comment #11) > (In reply to Tingting Mao from comment #10) > > The solution seems be included in #bug 2016527. > > Yes, that's the long term solution. > > Short term (until bug 2016527 is implemented) libvirt will need to add an > explicit dependency on qemu-kvm-block-driver-curl. I discussed other options > with Mirek and having the dependency in libvirt makes most sense as we can > easily drop the dependency once we switch to nbdkit without having to > synchronize with either virt-install or qemu. Then I suppose libvirt will also need to add a dependency on qemu-kvm-block-ssh since according to bug 2001100 that was also removed from the qemu deps. I sent a patch upstream and it was pointed out that this is a change in qemu-kvm and should be fixed there, because it would affect anyone depending on qemu-kvm package while the proposed patch would only fix this for those depending on libvirt-daemon-kvm. Minimal installs can still use specific subpackages to avoid installing those that are not needed. See https://listman.redhat.com/archives/libvir-list/2021-October/msg01069.html thread. We are no longer support using curl by default as it is recommended to use nbdkit instead of qemu-kvm for this. Anyone wanting to use this feature from qemu has to install additional package with the support for this use case manually. (In reply to Miroslav Rezanina from comment #18) > We are no longer support using curl by default as it is recommended to use > nbdkit instead of qemu-kvm for this. Anyone wanting to use this feature from > qemu has to install additional package with the support for this use case > manually. 1) Is the qemu-kvm sub-package (qemu-kvm-block-curl-<ver>.el9) available in the compose if there are no explicit dependencies? Is it actually released? 2) The nbdkit support is work in progress and has not been proposed upstream yet, meanwhile we need to release what we have and as it was. Can we suggest that cockpit uses nbdkit-curl-plugin directly, at least temporarily in RHEL 9.0? (will be fixed in libvirt in 9.1) (In reply to Richard W.M. Jones from comment #20) > Can we suggest that cockpit uses nbdkit-curl-plugin directly, at least > temporarily in RHEL 9.0? (will be fixed in libvirt in 9.1) I guess we can, but the a) plugin has to be available in the componse, b) what if there are other than cockpit-machine users? Internal teams use virt-install for various CI tasks and their infra management tasks. I assume they do not run on rhel-9-beta in many cases and yet did not hit the problem. Adding the dependency to virt-install is not an option, since virt-install can connect remotely. (In reply to Jaroslav Suchanek from comment #19) > (In reply to Miroslav Rezanina from comment #18) > > We are no longer support using curl by default as it is recommended to use > > nbdkit instead of qemu-kvm for this. Anyone wanting to use this feature from > > qemu has to install additional package with the support for this use case > > manually. > > 1) Is the qemu-kvm sub-package (qemu-kvm-block-curl-<ver>.el9) available in > the compose if there are no explicit dependencies? Is it actually released? > 2) The nbdkit support is work in progress and has not been proposed upstream > yet, meanwhile we need to release what we have and as it was. Hi Jarda, we requested adding curl driver to compose in https://issues.redhat.com/browse/RHELCMP-7606. In addition, release note will be updated with known issue requiring manual installation of package in case https driver should be used. |