---
# System prepended metadata

title: EL10 virthost upgrades

---

EL10 virthost upgrades


- See: `updates-uptime-cmd.py list --osname=9 '*vmhost*'`
- silence the <virthost> in Nagios/Zabbix
- virsh list
- per VM:
    - grab the XML from `/etc/libvirt/qemu/<hostname>.xml` and copy the XML
        - Created/used `~/el9-vmhosts-qemu-backups/<virthost>/` on batcave.
    - shutdown the vm
- switch to the DRAC console
- PXEboot the host
    - pick the <os>-nodisk option from grub
    - boots to vnc and asks you to fill in the disk stuff
    - 1Gb -> /boot (ext4)
    - 0.5Gb -> /boot/efi (format as EFI System partition)
    - unlock the encrypted LUKS
    - reformat /, /boot, /boot/efi, and SWAP
    - Change /boot/efi to esp partition type, or you'll get a weird partitioning error when it uses the default of vfat.
    - leave the guests alone
    - double check the destroy/create box, and then hit begin install
- Reboot, you'll need the LUKS key (no tang yet)
- Delete the ansible facts cache for the host
    - `rm ~/.ansible_facts_cache/<virthost>`
- Run the playbook to fix everything
    - You might need to first manually **upgrade** `redhat-release`, so you get the new PQC GPG keys, or some package installs will fail.
    - `groups/virthost.yml --limit <virthost>`
    - Maybe with `--skip-tags zabbix_api` first ;)
- Update to the latest packages: `yum up -y`
- Reboot.
- Restore the VMs
    - Copy the XML files back.
    - For each file: `virsh define <hostname>.xml`
    - Then check with: `virsh list --all`
    - Then start them with: `virsh start <hostname>`
- Rerun the playbook, with no skips, to make sure everything is good.
