Python scripts to manage Tetaneutral.net proxmox cluster
.gitignore | ||
djadhere.py | ||
README.md | ||
ttnn-list-templates.py | ||
ttnn-vm-manual.py | ||
ttnn-vm-new.py | ||
ttnn-vm-nextid.py | ||
ttnn-vm-print.py | ||
ttnn-with-tag.sh |
proxmox
scripts de gestion proxmox de l'association https://tetaneutral.net
Il faut générer token Proxmox et modifier user, token_name et token_value ci-dessous.
Créer dans ce dossier un fichier settings.py contenant :
PROXMOX_API_HOST = "<nom de l'hote proxmox>"
PROXMOX_ARGS_HTTPS={
"backend": "https",
"host": PROXMOX_API_HOST,
"user": "nom de l'utilisatateur (par ex root@pam)",
"token_name": 'nom du token d'API',
"token_value": 'valeur du token d'API',
"verify_ssl": False
}
DJADHERE_API_HOST = '<nom du serveur djadhere>'
DJADHERE_API_KEY = '<clé d'API du SI>'
TTNN_SSHKEY = '<clé ssh d'admin de tetaneutral.net>'
TTNN_TEMPLATE_VM = 'vmdid du template à utiliser par défaut'
dans un venv:
pip install proxmoxer
pip install paramiko
pip install requests
pip install openssh_wrapper
pip install argparse
alternative a pip via uv
curl -LsSf https://github.com/astral-sh/uv/releases/download/0.8.4/uv-x86_64-unknown-linux-gnu.tar.gz | tar --strip-components=1 -xz -C /usr/local/bin
uv run ./ttnn-list-templates.py
ttnn-list-templates.py
Le script ttnn-list-templates.py
permet de lister les templates existants.
ttnn-vm-new.py:
Usage:
ttnn-vm-new.py [-h] [-n] --service SERVICE [--disk DISK]
[--mem MEM] [--template TEMPLATE]
options:
-h, --help show this help message and exit
-n, --noexec don't execute
--service SERVICE djadhere service
--disk DISK taille disque
--mem MEM taille mémoire
--template TEMPLATE template
Ce script clone le template choisi, en retaillant le disque et en ajustant la mémoire selone les arguments passés.
Il génère une spécification cloud-init qui correspond aux informations présentes dans djadhere pour la nouvelle VM (nom, adresse IPv4, vlan, clés SSH à ajouter dans /root/.ssh/autorized_keys
) qui est appliquée lors du premier démarrage.
Documentation interne
https://wiki.tetaneutral.net/adminsys/creationvirtualmachine