1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
Commit graph

34 commits

Author SHA1 Message Date
catborise
9bd61858cd feat(bootstrap): an openEuler 24.03 LTS host is set up as a compute
The compute bootstrap found openEuler but had no install function for
it, so it stopped. Now it installs qemu, libvirt, python3-libguestfs
and cyrus-sasl (openEuler's names; it has no EPEL), applies the RHEL
family's qemu.conf, SASL and gstfsd steps, and runs the monolithic
libvirtd with its TCP socket: openEuler 24.03 ships modular daemons
only for qemu and the proxy.

Tested in an openEuler 24.03 container with /dev/kvm: the full live
suite over TCP (SASL) ran 2145 tests. What failed is libvirt 9.10's
(reverting a running VM's external snapshot, live clone needs 11.10),
the test host's (no pool named default), and its SeaBIOS, which
prints no banner on the serial port.
2026-11-03 14:53:05 +03:00
catborise
2dab23cd9e fix(gstfsd): only the panel, with the host's key, can change a VM's disk
gstfsd, the root service on each compute that rewrites a shut-off VM's
/etc/shadow and authorized_keys, did what any client on its port asked.
Now it needs GSTFSD_KEY (64 hexadecimal characters, in the unit's
/etc/default/webvirt-gstfsd) and does not start without it. Each
connection gets a new challenge; the panel signs its request for it
with HMAC-SHA256 and gstfsd checks the signature before any change, so
a request recorded on one connection is refused on another. gstfsd
signs its reply for the same challenge and the panel's nonce, and the
panel accepts only that reply.

Each compute has a gstfsd key, the host's GSTFSD_KEY: the compute forms
and the API take it and never show it, and an empty value on an edit
keeps it. The bootstrap script makes the key file once, readable by
root only; the README shows how to make it and where the panel takes
it. The traffic is still not encrypted: a remote panel's port stays
open to the panel's address only.
2026-10-31 01:53:43 +03:00
catborise
38ff195a27 fix(bootstrap): computes accept TCP logins and run every libvirt driver
Found by provisioning disposable computes with the bootstrap:
- Ubuntu and Debian: a socket-activated libvirtd ignores libvirtd_opts
  "-l", so TCP needs libvirtd-tcp.socket; Ubuntu also kept SASL on
  gssapi instead of digest-md5.
- EL10: only virtqemud and virtproxyd were enabled, so storage, network,
  interface and other drivers did not answer; and the SELinux policy lets
  virtproxyd read but not map the SASL database, so TCP logins failed
  (a one-rule module allows it).
- Run from a clone, the bootstrap installs that clone's gstfsd and unit
  instead of downloading them.
2026-10-18 11:53:06 +03:00
catborise
99570669c5 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.
2026-10-18 00:05:42 +03:00
catborise
42359ca2e2 build: computes run gstfsd as a systemd unit instead of under supervisor
The compute bootstrap installs gstfsd and webvirt-gstfsd.service in one
helper and no longer installs or restarts supervisor; the README's
compute step does the same, a remote panel's bind goes into a drop-in,
and a compute moving from supervisor removes its gstfsd program.
2026-10-17 23:42:41 +03:00
catborise
71db69b294 fix(bootstrap): no "integer expression expected" on every step
echodebug compared _ECHO_DEBUG and BS_TRUE with -eq, but neither is set
anywhere, so each step printed "[: : integer expression expected". It
now prints debug lines only when _ECHO_DEBUG=1 is set.
2026-10-08 17:14:10 +03:00
catborise
3c0d5efb18 fix(bootstrap): Rocky Linux and AlmaLinux use the CentOS install path, with the modular daemons on 10 2026-10-07 19:34:04 +03:00
catborise
47c480f059 fix(bootstrap): the compute bootstrap script parses again
The quoting of the tr argument in the /etc/os-release parsing put the
closing parenthesis inside a single-quoted string, so sh and bash
stopped with "unexpected EOF while looking for matching )" before doing
anything: 'curl ... | sudo sh' failed on every distribution. It is now
tr -d "\"'"; bash -n and shellcheck -S error pass.

Also drops the spice_listen edits of qemu.conf; only VNC is used.
2026-10-04 01:08:11 +03:00
catborise
88288f965d feat(install): add openSUSE and SLES 15 distribution support and compute bootstrap 2026-09-25 20:03:02 +03:00
catborise
4a4a998d4c add auth_unix_rw settings for debian and ubuntu 2023-09-06 14:50:59 +03:00
catborise
cbd1f6f8b0 update requirement and fix install script 2023-09-06 09:41:08 +03:00
catborise
77c4f8981b fix debian qemu package renaming 2023-09-05 09:01:59 +03:00
herengui
4d78917c35 modify some shell scripts to make variable references safer; modify some python scripts to reduce the code complexity and cyclomatic complexity of functions. 2022-08-22 09:57:07 +08:00
catborise
f60bb055a8 add almalinux support for installation 2022-06-27 10:49:42 +03:00
catborise
c940e6fa5a update ubuntu and debian package requirements 2021-04-21 12:07:14 +03:00
catborise
59af676f68 fix centos 8 bootstrap script to handle new libvirt start mechanism 2021-01-25 16:53:09 +03:00
catborise
1f642a4381 fix linter problems-2: bash 2020-10-17 23:30:00 +03:00
catborise
b4430eddcc fix linter errors: bash scripts 2020-10-17 23:30:00 +03:00
catborise
6aa6ea0817 change libguestfs version python3 2020-04-17 14:03:03 +03:00
catborise
e4223dde5d qemu.conf for vnc and spice listen address configured for all OS. Add sasl2 config for debian10 2019-11-25 15:21:14 +03:00
Rel Zhong
ba91c70d83
fix: missing fi bugs 2019-11-24 15:19:38 +08:00
catborise
34df35c5d7 libvirt-bootstrap.sh: add debian 10 package install support 2019-11-22 11:52:08 +03:00
catborise
311f1b793e add libguestfs-tools and epel-release for supervisor to centos 2019-04-09 13:46:00 +03:00
catborise
867a10d0c5 Ubuntu 18.04 installation support added 2018-12-27 16:17:51 +03:00
Anatoliy Guskov
2450e9caff
Update libvirt-bootstrap.sh 2018-05-30 12:17:26 +03:00
savichev
9268cd3a61 Update libvirt-bootstrap.sh 2016-04-04 14:52:14 +05:00
Anatoliy Guskov
511ab8debc Fixed supervisor ini on Fedora 2015-08-01 09:39:35 +03:00
Anatoliy Guskov
c636ca1d97 Fix install on CentOS 2015-08-01 00:12:04 +03:00
Retspen
56b1cdc518 Merge branch 'guestfish' 2015-05-21 15:08:21 +03:00
Retspen
b201399655 Fixed some bugs 2015-05-21 15:01:06 +03:00
Retspen
23b4d22a72 Rebuilt bootstrap libvirt 2015-05-21 11:52:10 +03:00
Retspen
9e3987ec9f Changed url for libvirt-bootstrap 2015-05-19 22:39:47 +03:00
Retspen
871e04fb03 Fixed some bugs 2015-05-13 09:42:20 +03:00
Retspen
8e8f300668 Added production files 2015-03-27 16:20:30 +02:00
Renamed from development/libvirt-bootstrap.sh (Browse further)