Proxmox - Systematic VM startup

I have played with the “Start at boot” option as well as the “Start/Shutdown order” options within the GUI but find that they are not exactly meeting my needs and wanted to run my planned idea past the community before I spend time developing it as a solution.

My thought would be to create a small VM that is stored on the local disk of one of my Proxmox nodes. This VM would then be set to start at boot and be the only VM started by Proxmox directly. The VM once booted would run a script that would do the following:

  1. Wait to see if a user wants to abort the startup script (using a default timeout value to continue if a key is not pressed)
  2. Check to see if it can ping the required storage servers
  3. Confirm that the storage is online (will be using NFS shares)
  4. Begin the startup procedure and wait until the started VM is online before moving to the next VM (for example start my reverse proxy before starting my webserver)
  5. Send an email to a specific address with any errors or that everything started OK
  6. Once all the machines are started then check again to see if the user wants this machine to stay running (using a default timeout value to continue if a key is not pressed)
  7. Auto shut down this VM if no input received

Ideally, this machine would be able to be started by another node under HA but I only have 2 SSDs in each server and they are controlled by a hardware RAID card and not sure if setting up Ceph is possible on the boot disks using a separate partition by reducing the install partition when creating the Proxmox Node. I will be reinstalling Proxmox on all my nodes so I can make any changes when I do this in order to support this idea.

I guess you could script an SSH session.

https://pve.proxmox.com/wiki/Command_line_tools