forked from fediversity/fediversity
		
	| .. | ||
| provision.sh | ||
| README.org | ||
| remove.sh | ||
Provisioning VMs via Proxmox
- Quick links
 - Basic terminology
 - Automatically
 - Preparing the machine configuration
 - Manually via the GUI
 
Quick links
- Proxmox API doc
 - https://pve.proxmox.com/pve-docs/api-viewer
 - Fediversity Proxmox
 - 
- http://192.168.51.81:8006/.
 - It is only accessible via Procolix's VPN; see with Kevin.
 - You will need identifiers. Also see with Kevin. Select “Promox VE authentication server”.
 - Ignore “You do not have a valid subscription” message.
 
 
Basic terminology
- Node
 - physical host
 
Automatically
This directory contains scripts that can automatically provision or remove a Proxmox VM. For now, they are tied to one node in the Fediversity Proxmox, but it would not be difficult to make them more generic. Try:
sh provision.sh --help
sh remove.sh --help
Preparing the machine configuration
- 
It is nicer if the machine is a QEMU guest. On NixOS:
services.qemuGuest.enable = true - Choose name for your machine.
 - 
Choose static IPs for your machine. The IPv4 and IPv6 subnets available for Fediversity testing are:
95.215.187.0/24. Gateway is95.215.187.1.2a00:51c0:13:1305::/64. Gateway is2a00:51c0:13:1305::1.
 - I have been using id 
XXX(starting from001), namefediXXX,95.215.187.XXXand2a00:51c0:13:1305::XXX. - Name servers should be 
95.215.185.6and95.215.185.7. - Check Netbox to see which addresses are free.
 
Manually via the GUI
Upload your ISO
- Go to Fediversity proxmox.
 - In the left view, expand under the node that you want and click on “local”.
 - Select “ISO Images”, then click “Upload”.
 - Note: You can also download from URL.
 - Note: You should click on “local” and not “local-zfs”.
 
Creating the VM
- Click “Create VM” at the top right corner.
 
General
- Node
 - which node will host the VM; has to be the same
 - VM ID
 - Has to be unique, probably best to use the "xxxx" in "vm0xxxx" (yet to be decided)
 - Name
 - Usually "vm" + 5 digits, e.g. "vm02199"
 - Resource pool
 - Fediversity
 
OS
- Use CD/DVD disc image file (iso)
 - 
- Storage
 - local, means storage of the node.
 - ISO image
 - select the image previously uploaded
 
 
No need to touch anything else
System
- BIOS
 - OVMF (UEFI)
 - EFI Storage
 linstor_storage; this is a storage shared by all of the Proxmox machines.- Pre-Enroll keys
 - MUST be unchecked
 - Qemu Agent
 - check
 
Disks
- Tick “advanced” at the bottom.
 - Disk size (GiB) :: 40 (depending on requirements)
 - SSD emulation :: check (only visible if “Advanced” is checked)
 - Discard :: check, so that blocks of removed data are cleared
 
CPU
- Sockets
 - 1 (depending on requirements)
 - Cores
 - 2 (depending on requirements)
 - Enable NUMA
 - check
 
Memory
- Memory (MiB)
 - choose what you want
 - Ballooning Device
 - leave checked (only visible if “Advanced” is checked)
 
Network
- Bridge
 vnet1306. This is the provisioning bridge; we will change it later.- Firewall
 - uncheck, we will handle the firewall on the VM itself
 
Confirm
Install and start the VM
- 
Start the VM a first time.
- Select the VM in the left panel. You might have to expand the node on which it is hosted.
 - Select “Console” and start the VM.
 
 - Install the VM as you would any other machine.
 - /lois/Fediversity/src/commit/7c8b26c07cfeca90c07a6271d717014e9de4fbb3/deployment/proxmox/Shutdown%20the%20VM.
 - 
After the VM has been installed:
- Select the VM again, then go to “Hardware”.
 - Double click on the CD/DVD Drive line. Select “Do not use any media” and press OK.
 - Double click on Network Device, and change the bridge to 
vnet1305, the public bridge. 
 - Start the VM again.
 
Remove the VM
- /lois/Fediversity/src/commit/7c8b26c07cfeca90c07a6271d717014e9de4fbb3/deployment/proxmox/Shutdown%20the%20VM.
 - On the top right corner, click “More”, then “Remove”.
 - Enter the ID of the machine.
 - Check “Purge from job configurations”
 - Check “Destroy unreferenced disks owned by guest”
 - Click “Remove”.
 
Move the VM to another node
- Make sure there is no ISO plugged in.
 - Click on the VM. Click migrate. Choose target node. Go.
 - Since the storage is shared, it should go pretty fast (~1 minute).
 
Shutdown the VM
- Find the VM in the left panel.
 - At the top right corner appears a “Shutdown” button with a submenu.
 - Clicking “Shutdown” sends a signal to shutdown the machine. This might not work if the machine is not listening for that signal.
 - Brutal solution: in the submenu, select “Stop”.
 - The checkbox “Overrule active shutdown tasks” means that the machine should be stopped even if a shutdown is currently ongoing. This is particularly important if you have tried to shut the machine down normally just before.