Bug 2032980 - vdsm - libvirt integration in el9
Summary: vdsm - libvirt integration in el9
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: vdsm
Classification: oVirt
Component: General
Version: 4.50
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: Milan Zamazal
QA Contact: meital avital
URL:
Whiteboard:
Depends On: 2042529
Blocks: oVirt_on_CentOS_Stream_9_Hosts
TreeView+ depends on / blocked
 
Reported: 2021-12-15 16:09 UTC by Michal Skrivanek
Modified: 2022-05-24 06:02 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-05-23 20:11:37 UTC
oVirt Team: Virt
Embargoed:
ahadas: ovirt-4.5?
lsvaty: blocker-


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHV-44374 0 None None None 2021-12-15 16:14:33 UTC

Description Michal Skrivanek 2021-12-15 16:09:54 UTC
vdsm doesn't work on el9stream due to several changes
- libvirt has been split into several independent daemons and likely need furter configuration (virtqemud, virtsecretd, maybe others?)
- vdsm configures sasl with mech_list: scram-sha-1. That is no longer supported and should use scram-sha-256
- same problem exists for VNC in /etc/sasl2/qemu.conf

Comment 1 Arik 2021-12-15 17:11:09 UTC
updating the severity to low because even if we don't do it, nothing breaks and we don't really lose anything
setting priority to high because of the planned switch to el9stream on 4.5..

Comment 2 Sandro Bonazzola 2022-01-28 14:30:23 UTC
Updating severity to urgent. The changes in libvirt broke the deployment of el9 hosts:

2022-01-28 13:51:43 UTC - fatal: [node45el9.lab]: FAILED! => {"changed": true, "cmd": 
["vdsm-tool", "configure", "--force"], "delta": "0:00:00.283184", "end": "2022-01-28 13:52:00.469409", "msg": "non-zero return code", "rc": 1, "start": "2022-01-28 13:52:00.186225",
 "stderr": "
Traceback (most recent call last):
  File \"/usr/bin/vdsm-tool\", line 209, in main
    return tool_command[cmd][\"command\"](*args)
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/__init__.py\", line 40, in wrapper
    func(*args, **kwargs)
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line 126, in configure
    configurer_to_trigger = [c for c in pargs.modules
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line 127, in <listcomp>
    if _should_configure(c, pargs.force)]
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line 318, in _should_configure
    configured = _isconfigured(c)
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line 103, in _isconfigured
    return getattr(module, 'isconfigured', lambda: configurators.NO)()
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurators/libvirt.py\", line 104, in isconfigured
    if not confutils.open_config(path, CONF_VERSION).hasConf():
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/confutils.py\", line 112, in open_config
    return ConfigFile(path, conf_version)
  File \"/usr/lib/python3.9/site-packages/vdsm/tool/configfile.py\", line 88, in __init__
    raise OSError(
OSError: No such file or directory: /etc/sysconfig/libvirtd"


In el8:
rpm -qf /etc/sysconfig/libvirtd
libvirt-daemon-7.6.0-6.module+el8.5.0+13051+7ddbe958.x86_64

In el9:

# rpm -qv libvirt-daemon
libvirt-daemon-8.0.0-2.el9.x86_64

rpm -ql libvirt-daemon.x86_64|grep etc
/etc/libvirt
/etc/libvirt/libvirtd.conf
/etc/libvirt/virtlockd.conf
/etc/libvirt/virtlogd.conf
/etc/libvirt/virtproxyd.conf
/etc/logrotate.d/libvirtd
/etc/sasl2/libvirt.conf

The change got introduced in 8.0.0-2 by bug #2042529

Comment 3 Sandro Bonazzola 2022-01-28 14:38:13 UTC
The missing file was available in 8.0.0-1 with the following content:

# cat /etc/sysconfig/libvirtd 



# Customizations for the libvirtd.service systemd unit

# Default behaviour is for libvirtd.service to start on boot
# so that VM autostart can be performed. We then want it to
# shutdown again if nothing was started and rely on systemd
# socket activation to start it again when some client app
# connects.
LIBVIRTD_ARGS="--timeout 120"

# If systemd socket activation is disabled, then the following
# can be used to listen on TCP/TLS sockets
#LIBVIRTD_ARGS="--listen"

# Override the QEMU/SDL default audio driver probing when
# starting virtual machines using SDL graphics
#
# NB these have no effect for VMs using VNC, unless vnc_allow_host_audio
# is enabled in /etc/libvirt/qemu.conf
#QEMU_AUDIO_DRV=sdl
#
#SDL_AUDIODRIVER=pulse

Comment 4 Arik 2022-01-30 15:23:51 UTC
Sandro, has it been decided that we actually require el9 for the hosts in oVirt 4.5?

Comment 5 Sandro Bonazzola 2022-01-31 09:49:08 UTC
(In reply to Arik from comment #4)
> Sandro, has it been decided that we actually require el9 for the hosts in
> oVirt 4.5?

As far as I can tell, the plan was to be able to handle hosts running CentOS Stream 9 in 4.5.

Comment 6 Arik 2022-01-31 10:14:43 UTC
(In reply to Sandro Bonazzola from comment #5)
> As far as I can tell, the plan was to be able to handle hosts running CentOS
> Stream 9 in 4.5.

I recall us saying that it still needs to be evaluated (the status of CentOS Stream 9) and we may end up releasing on CentOS Stream 8 eventually
If it's still under question and QE test on RHEL 8.6 and community would be able to test early 4.5 builds on CentOS Stream 8, then I don't see this as urgent

Comment 7 Sandro Bonazzola 2022-05-02 16:35:28 UTC
(In reply to Sandro Bonazzola from comment #2)
> Updating severity to urgent. The changes in libvirt broke the deployment of
> el9 hosts:
> 
> 2022-01-28 13:51:43 UTC - fatal: [node45el9.lab]: FAILED! => {"changed":
> true, "cmd": 
> ["vdsm-tool", "configure", "--force"], "delta": "0:00:00.283184", "end":
> "2022-01-28 13:52:00.469409", "msg": "non-zero return code", "rc": 1,
> "start": "2022-01-28 13:52:00.186225",
>  "stderr": "
> Traceback (most recent call last):
>   File \"/usr/bin/vdsm-tool\", line 209, in main
>     return tool_command[cmd][\"command\"](*args)
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/__init__.py\", line 40,
> in wrapper
>     func(*args, **kwargs)
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line
> 126, in configure
>     configurer_to_trigger = [c for c in pargs.modules
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line
> 127, in <listcomp>
>     if _should_configure(c, pargs.force)]
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line
> 318, in _should_configure
>     configured = _isconfigured(c)
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/configurator.py\", line
> 103, in _isconfigured
>     return getattr(module, 'isconfigured', lambda: configurators.NO)()
>   File
> \"/usr/lib/python3.9/site-packages/vdsm/tool/configurators/libvirt.py\",
> line 104, in isconfigured
>     if not confutils.open_config(path, CONF_VERSION).hasConf():
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/confutils.py\", line
> 112, in open_config
>     return ConfigFile(path, conf_version)
>   File \"/usr/lib/python3.9/site-packages/vdsm/tool/configfile.py\", line
> 88, in __init__
>     raise OSError(
> OSError: No such file or directory: /etc/sysconfig/libvirtd"
> 
> 
> In el8:
> rpm -qf /etc/sysconfig/libvirtd
> libvirt-daemon-7.6.0-6.module+el8.5.0+13051+7ddbe958.x86_64
> 
> In el9:
> 
> # rpm -qv libvirt-daemon
> libvirt-daemon-8.0.0-2.el9.x86_64
> 
> rpm -ql libvirt-daemon.x86_64|grep etc
> /etc/libvirt
> /etc/libvirt/libvirtd.conf
> /etc/libvirt/virtlockd.conf
> /etc/libvirt/virtlogd.conf
> /etc/libvirt/virtproxyd.conf
> /etc/logrotate.d/libvirtd
> /etc/sasl2/libvirt.conf
> 
> The change got introduced in 8.0.0-2 by bug #2042529

This has been handled:

commit b3c049b7b56866ee372f3d7dbb6ac355cd051558
Author: Harel Braha <hbraha>
Date:   Mon Feb 14 09:28:25 2022 +0200

    vdsm-tool: Create libvirt conf file for el9
    
    In el9, we use the monolithic daemon libvirtd,
    so we need to create a libvirtd config manually
    since it's not shipped by deafult.

Comment 8 Arik 2022-05-23 20:11:37 UTC
Closing in favor of https://github.com/oVirt/vdsm/issues/201


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