diff --git a/README.md b/README.md index 585f1545..64d0226d 100644 --- a/README.md +++ b/README.md @@ -228,7 +228,7 @@ Sign in at `http://`; you must set a new password at the first login, A compute node is a KVM host the panel manages over libvirt. -1. Install KVM and libvirt. The bootstrap script handles Ubuntu, Debian, CentOS, Fedora, openSUSE and SLES; on RHEL, Rocky Linux or AlmaLinux install the `qemu-kvm` and `libvirt` packages and enable `libvirtd` yourself: +1. Install KVM and libvirt. The bootstrap script handles Ubuntu, Debian, CentOS, Fedora, Rocky Linux and AlmaLinux 10, openSUSE and SLES. On RHEL, which needs EPEL from its release RPM, install the `qemu-kvm` and `libvirt` packages yourself and enable `virtqemud.socket` (plus `virtproxyd-tcp.socket` for TCP): ```bash curl -fsSL https://raw.githubusercontent.com/retspen/webvirtcloud/master/dev/libvirt-bootstrap.sh | sudo sh diff --git a/dev/libvirt-bootstrap.sh b/dev/libvirt-bootstrap.sh index 3f12d89c..eb9c9a0b 100644 --- a/dev/libvirt-bootstrap.sh +++ b/dev/libvirt-bootstrap.sh @@ -264,6 +264,10 @@ __gather_linux_system_info # Simplify distro name naming on functions DISTRO_NAME_L=$(echo "$DISTRO_NAME" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-zA-Z0-9_ ]//g' | sed -re 's/([[:space:]])+/_/g') +# Rocky Linux and AlmaLinux use the CentOS install functions +case "${DISTRO_NAME_L}" in + rocky|almalinux) DISTRO_NAME_L="centos" ;; +esac DISTRO_MAJOR_VERSION="$(echo "$DISTRO_VERSION" | sed 's/^\([0-9]*\).*/\1/g')" DISTRO_MINOR_VERSION="$(echo "$DISTRO_VERSION" | sed 's/^\([0-9]*\).\([0-9]*\).*/\2/g')" PREFIXED_DISTRO_MAJOR_VERSION="_${DISTRO_MAJOR_VERSION}" @@ -458,6 +462,11 @@ daemons_running_centos() { systemctl stop libvirtd.service > /dev/null 2>&1 systemctl start libvirtd.service fi + elif [ "$DISTRO_MAJOR_VERSION" -ge 10 ]; then + # EL10 runs the modular daemons; virtproxyd serves remote TCP (SASL). + # supervisord runs gstfsd, so it must start at boot too. + systemctl enable --now virtqemud.socket virtproxyd.socket virtproxyd-tcp.socket || return 1 + systemctl enable supervisord.service || return 1 else if [ -f /usr/lib/systemd/system/libvirtd-tcp.socket ]; then systemctl stop libvirtd-tcp.socket > /dev/null 2>&1 @@ -476,7 +485,7 @@ daemons_running_centos() { fi if [ -f /usr/lib/systemd/system/supervisord.service ]; then systemctl stop supervisord.service > /dev/null 2>&1 - systemctl start supervisord.service + systemctl start supervisord.service || return 1 fi return 0 }