From 99570669c53616ce1eb735371bb6ec692717fad8 Mon Sep 17 00:00:00 2001 From: catborise Date: Sat, 17 Oct 2026 23:43:23 +0300 Subject: [PATCH] fix(install): RHEL steps enable CRB, openSUSE steps warn about nginx's default server, the compute bootstrap detects openSUSE Leap The RHEL manual install failed at libvirt-devel, which is in CRB; the installer already enables it. openSUSE's nginx.conf has its own port-80 server for localhost, which the RHEL steps already warn about. The bootstrap skipped /etc/os-release as a symlink, which on openSUSE Leap is the only release file, so it found no distribution. --- README.md | 5 +++-- dev/libvirt-bootstrap.sh | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 23aae219..1e2c87af 100644 --- a/README.md +++ b/README.md @@ -136,8 +136,8 @@ nginx -t && systemctl restart nginx #### RHEL / Rocky Linux / AlmaLinux / Oracle Linux 10 ```bash -# 1. System packages -dnf -y install epel-release +# 1. System packages (libvirt-devel is in the CRB repository) +dnf -y install epel-release && crb enable dnf -y install git python3-devel libvirt-devel python3-libvirt python3-ldap python3-lxml cyrus-sasl-devel cyrus-sasl-md5 openldap-devel openssl-devel glibc gcc nginx python3-libguestfs iproute-tc # 2. Code @@ -203,6 +203,7 @@ python3 manage.py collectstatic --noinput # 6. systemd units (gunicorn, novncd, socketiod and the job worker, as nginx) and nginx for u in cloud novncd socketiod worker; do sed 's/^\(User\|Group\)=.*/\1=nginx/' conf/systemd/webvirt-$u.service > /etc/systemd/system/webvirt-$u.service; done cp conf/nginx/webvirtcloud.conf /etc/nginx/conf.d/ +# make sure the default server block in /etc/nginx/nginx.conf does not also listen on port 80 # 7. Ownership, private files, start chown -R nginx:nginx /srv/webvirtcloud diff --git a/dev/libvirt-bootstrap.sh b/dev/libvirt-bootstrap.sh index 30056c48..aea9b6e7 100644 --- a/dev/libvirt-bootstrap.sh +++ b/dev/libvirt-bootstrap.sh @@ -188,7 +188,8 @@ __gather_linux_system_info() { echo redhat-release lsb-release )"); do - [ -L "/etc/${rsource}" ] && continue # Don't follow symlinks + # Don't follow symlinks, except os-release (a link to /usr/lib/os-release, openSUSE's only release file) + [ -L "/etc/${rsource}" ] && [ "${rsource}" != "os-release" ] && continue [ ! -f "/etc/${rsource}" ] && continue # Does not exist n=$(echo "${rsource}" | sed -e 's/[_-]release$//' -e 's/[_-]version$//')