Skip to content
Snippets Groups Projects
Commit 00cbc19b authored by Florentin Labelle's avatar Florentin Labelle
Browse files

Add script et tout

parent c8a37d46
Branches
No related tags found
No related merge requests found
# Créer des vms pour tout les gpas
## Génération de la configuration
1. Les faire papser
2. Figer le paps 10-15 mins avant le tp de déploiment
3. Exporter en csv
4. Mettre le résultat dans le paps.csv
5. Lancer le cloudinit.py
## Création des vms
1. Créer autant de vms que de gpas(voir un peu plus):
- en utilisant le champ `nombre` (premier onglet quand on crée une vm): Le faire 10 par 10 sinon ça peut bugger et les vms se mettent en erreur et tout.
- choisir ubuntu 22.04 pour éviter le bug d'avoir à redémarrer les vms en 138.195.138.qqch
- nano of course
- Configuration: mettre le cloudinit.yaml
## Récupérer les ips des vms avec OpenStack en CLI
- si openstack cli pas configuré en local:
- Se ssh sur virt-deploy
- puis os-controller-1
- `lxc-attach -n os-controller-1_utility_container-07435263`
- `source openrc`
- récupérer les ips
- `openstack server list --project formation -f yaml | yq ".[].Networks.vm[1]"`
- les copier dans un fichier vscode, puis attribuer une vm à chaque mec en mode tu prends le numéro de ton paps et l'ip de la ligne associé.
"""
Generate cloud-init configuration for the VMs.
"""
import crypt
cloudinit="""
#cloud-config
apt_upgrade: true
ssh_pwauth: 1
users:
"""
with open("paps.csv", encoding="utf-8") as file:
for line in file.readlines()[1:]:
login = line.split(";")[0][4:]
password = crypt.crypt(login, crypt.mksalt(crypt.METHOD_SHA256))
cloudinit += f"""
- name: {login}
primary_group: {login}
groups: users
lock_passwd: false
shell: /bin/bash
sudo: ALL=(ALL) NOPASSWD:ALL
passwd: {password}
"""
with open("cloudinit.yaml", "w", encoding="utf-8") as file:
file.write(cloudinit)
Login;Nom;Date;Classement;Valide;Scann�
2021labellefl;Florentin Labelle;10/11/22;1;OUI;NON
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment