- Status Nouveau
- Percent Complete
- Task Type Anomalie
- Category Services locaux → VM
- Assigned To No-one
- Operating System Freebox Server V7 (Delta)
- Severity Low
- Priority Very Low
- Reported Version 4.7.5
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Opened by _fvt - 17/04/2023
Last edited by _fvt - 17/04/2023
FS#37969 - Cloud-Init Network Configuration not applied
Bonjour,
J’utilise cloud-init pour configurer ma VM (debian).
Cette VM lance ensuite un docker-compose (fichier copié via cloud-init, docker et docker compose installés via cloud-init, et compose lancé via cloud-init, avec redirection d’une caméra USB vers homebridge-cameraui, …).
En résumé, quand je supprime et recréé la VM, je n’ai qu’à coller le cloud-init et tout repart, sauf pour la partie Network:
Dans ce compose il y a une partie pihole, utilisé comme DNS et DHCP.
J’aimerais avoir le DHCP de la freebox désactivé et l’assignement d’une IP à cette VM via cloud-init.
Le seul souci dans cette automatisation est que la partie Network de cloud-init ne fonctionne pas, je suis donc obligé de laisser le DHCP de la freebox activé avec une seule IP dans le range et une réservation MAC sur cette IP pour la VM, ce qui n’est pas très pratique (l’adresse MAC de la VM n’est pas affichée dans l’UI freebox donc je dois la démarrer une première fois avant de mettre en place la réservation, en prenant garde a ne pas avoir activé le DHCP freebox avant d’avoir mis la réservation sinon l’adresse est prise par un autre bail d’un équipement connecté, …).
Est-ce que quelqu’un a déjà réussi a faire fonctionner le module Network de cloud-init avec une VM ? Est-ce du a une limitation des VM freebox ?
Exemple de cloud-init (tout fonctionne sauf la partie Network):
#cloud-config cloud_final_modules: - [network, always] - [apt-configure, always] # force apt sources updates - [package-update-upgrade-install, always] - [write-files, always] - [write-files-deferred, always] - [runcmd, always] - [scripts-user, always] # runcmd only create the user script but not run it, so you need this too in order to have runcmd run again - [users-groups, always] - [ssh, always] network: version: 2 ethernets: switchports: match: {name: "enp*"} bonds: bond0: interfaces: [switchports] mode: balance-alb dhcp4: false dhcp6: false addresses: [192.168.10.2/24] gateway4: 192.168.10.1 nameservers: search: [home.lan, lan, .] addresses: [192.168.10.2, 192.168.10.1] ssh_authorized_keys: - ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX home@192.168.10.2 system_info: default_user: name: home groups: [docker] package_update: true package_upgrade: true packages: [docker, docker-compose, vim, htop, ucommon-utils, v4l2loopback-dkms, v4l-utils, alsa-utils, ffmpeg] package_reboot_if_required: true write_files: - encoding: "gzip+base64" content: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX owner: home:root permissions: '0440' path: /home/home/compose-home.yaml runcmd: - [modprobe, v4l2loopback, "video_nr=101"] # Create virtual device, only one for the moment as v4l2loopback devices can still handle mutliple readers - [pdetach, /usr/bin/ffmpeg, -nostdin, -loglevel, error, -f, v4l2, -input_format, mjpeg, -video_size, "1280x720", -framerate, 20, -i, /dev/video0, -f, v4l2, -codec, copy, /dev/video101] # clone video0 to video101 so that it can be read by multiple processes in parallel. Using pdetach to run it in backgroups as had issues to escape ampersand - [/usr/bin/systemctl, start, docker] # needed if freshly installed - [/usr/bin/docker-compose, -f, /home/home/compose-home.yaml, up, -d, --force-recreate, --remove-orphans] # force recreate containers to avoid issues and always have a clean startup
Le schema de config est bien valide testé avec
cloud-init schema --system
.
La freebox et donc la VM sont redémarrés une fois par semaine, d’où le lancement de modules cloud-init en “always” pour maintenir le tout a jour automatiquement (et simplifier un changement de configuration type clé SSH ou autre). La VM est recréée seulement en cas de Mise a jour de l’OS majeure.
Merci d’avance pour votre aide,
Francis.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task