Process Overview
Each separate VM has its own folder which contains machine-specific configs.
Refactored configs are in the "common" area, to avoid duplicated processing.
- common/cron.cfg adds a crontab that processes puppet files found on the server.
- common/post.cfg is a script that pulls down the puppet-common manifest so that all those files are found by the cron
- albert/post.cfg will be a post-processing script for ALBERT that pulls down additional puppet manifests
A reboot ensures that the crontab setup by cron.cfg will apply all puppet manifests
puppet-common/00_puppet.pp ensures:
- the "repofix" script is installed, which ensures updates to puppet files are pulled down onto VMs.
- the cron schedules repofix for every 5 mins, and "puppet apply" (of all manifests) for every 15 mins
Note: TUPPER uses AlmaLinux for Docker images.
Connect to a VM with:
virsh --connect qemu:///system console tupper
Resizing images:
Note: ~vms/images/.qcow2 files need to be 660 permissions (vms user must have write access to change)
Check an image with:
qemu-img info albert-root.qcow2
Enlarge with:
qemu-img resize albert-root.qcow2 +10G
qemu-img info albert-root.qcow2
virtual size: 25G (26843545600 bytes)
disk size: 2.4G
Actual results:
ALBERT:/home/dave $ df
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 14G 2.2G 12G 16% /
/dev/sda1 1014M 164M 851M 17% /boot
Note: "qemu-img resize" doesn't resize the VG in the VM.
Errors from TUPPER install:
dracut-cmdline[317]: Warning: 'method=' is deprecated. Using 'repo=https://repo.almalinux.org/almalinux/8/BaseOS/x86_64/kickstart/' instead.
dracut-cmdline[317]: Warning: 'repo=https://repo.almalinux.org/almalinux/8/BaseOS/x86_64/kickstart/'
dracut-cmdline[317]: Warning: repo has been deprecated. All usage of Anaconda boot arguments without 'inst.' prefix have been deprecated and will be removed in a future major release. Please use inst.repo instead.
cramfs is deprecated and is slated for removal in a future RHEL release. Please use an alternative file system like squashfs.
18:37:18 Deprecated boot argument 'method' must be used with the 'inst.' prefix. Please use 'inst.method' instead.
18:37:18 Anaconda boot arguments without 'inst.' prefix have been deprecated and will be removed in a future major release. anaconda 33.16.5.6-1.el8.alma for AlmaLinux 8.5 started.
TUPPER:
This VM has two disks: root and data:
DATA_CFG="--disk path=${QCOW_BASE}/${HOST}-data.qcow2,boot_order=2,size=${DATADISK}"
This manifests itself as the Volume Group "ct", and should be dynamically expandable so begind small and grows as more content is added. The buildvm script has been amended to NOT destroy the "tupper-data.qcow2" image if found, so content should be persistent between VM rebuilds.
Mounted as:
/var/lib/data
These contain configs for each service - sickrage.ini, etc. They will generally be fairly static but also persistent so information is not lost during docker restarts
/var/lib/content
Contains actual persistent content found under storage/, e.g.:
- incoming = dropbox for .nzb files
- tvseries = final result for Sickgear
- movies = final result for Couch Potato
- downloaded = content from SABnzb if not post-processed by Sickgear/CouchPotato, etc.