All Projects

ID Project Opened Task Type Category Status  desc Summary
37969Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)17/04/2023AnomalieVMNouveauCloud-Init Network Configuration not applied Task Description

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.

 37547 Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)31/12/2022ÉvolutionVMClosed Freebox OS WebUI - Allow more than 4096 characters for  ... Task Description

Bonjour,

Tout d’abord, merci pour cette Freebox delta et ses multiples fonctionnalités, notamment la partie VM très pratique pour du perso. (pihole, homebridge, …).

Contexte:
J’utilise le cloud-init sur les VM freebox pour préparer toute la VM, installation de docker, etc.
J’utilise aussi une write_files activity (bin+gz) pour écrire directement mon compose file a la création de la vm et enfin des runcmd pour démarrer le stack.

Le tout utilisant des docker-volumes cifs vers le CIFS de la freebox pour la persistence des données des conteneurs.

Tout ceci me permet de supprimer / recréer les VM sans me soucier de quoi que ce soit:
- Suppression de la VM et son disque
- Re-creation de la VM avec le cloud-init

⇒ Tout le stack docker compose est alors reparti en quelques secondes, sans avoir nécessité aucune autre manipulation.

Problème:
Le champ cloud-init dans les options des VM freebox est limité a 4096 caractères, ce qui est vraiment limite… Alors que cette limitation n’est pas présente côté API.

Question: Serait-il possible d’augmenter ce champ cloud-init, au moins jusqu’à 8192 ?

Merci d’avance et bonne journée,
Cordialement,
FV

Showing tasks 1 - 2 of 2 Page 1 of 1

Available keyboard shortcuts

Tasklist

Task Details

Task Editing