Set-OPS-Public/requirements.yml
Daniel Allaire 3fa6e4c3e1 collections : epingler les versions — le runner echouait la ou le poste reussissait
Premiere materialisation de VM depuis le runner du SITE :

    ERROR! couldn't resolve module/action 'community.general.proxmox_pool'

Meme depot, meme playbook, meme plan que chez le mainteneur. La difference tenait
a une seule chose que le moteur ne disait pas : la VERSION de ses collections.

Le poste porte `community.general` 10.3.0. Le runner, monte un jour plus tard, a
recu la 13.3.0 — et la version 11 a RETIRE les modules Proxmox de cette collection
(ils vivent desormais dans `community.proxmox`). `requirements.yml` nommait ses
collections sans dire lesquelles : chaque machine installait donc ce qui etait
courant le jour de son montage. Une dependance non epinglee n'est pas une
dependance, c'est un pari sur l'etat d'Internet a la date du deploiement.

TROIS CORRECTIONS.

`requirements.yml` epingle les trois collections aux versions eprouvees.

`serveur_ops` installe avec `--force`. Sans lui, ansible-galaxy laisse en place une
version SUPERIEURE a celle demandee : il ne retrograde pas. Un poste peut etre en
avance, pas seulement en retard, et le depot doit faire autorite dans les deux sens.

P51 garde les deux faiblesses de ce fichier — celle du 2026-08-24, une collection
utilisee sans etre declaree (`ansible.posix`), et celle d'aujourd'hui, declaree sans
version. La preuve ne lit que les fichiers de TACHES : un `defaults/main.yml` porte
`net.ipv4.ip_forward`, qu'un motif trop large prend pour un module.

MIGRATION CONNUE, PAS FAITE : passer les quatre modules Proxmox a
`community.proxmox` permettra de suivre `community.general` au-dela de la 11.

make prouver : CONFORME, 51 OK, 0 echec.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 18:58:23 -04:00

42 lines
2.5 KiB
YAML

---
# Collections Ansible requises par Set-OPS.
# Installer : ansible-galaxy collection install -r requirements.yml
#
# CE FICHIER EST LA SEULE SOURCE POUR UN RUNNER (2026-08-24). Le poste d'exploitation
# n'installe QUE ce qui est declare ici — il n'herite pas du gros lot qui traine sur le
# poste du mainteneur. Une collection utilisee par un role et absente d'ici marche chez
# le mainteneur et echoue partout ailleurs : c'est le genre d'ecart qu'on ne voit qu'en
# portant le moteur sur une autre machine.
# LES VERSIONS SONT EPINGLEES (2026-08-27). Ce fichier nommait ses collections sans dire
# LESQUELLES : chaque machine installait donc ce qui etait courant le jour de son montage.
#
# Ce que ca a coute. Le runner du SITE, monte le 2026-08-26, a recu `community.general`
# 13.3.0 quand le poste du mainteneur porte la 10.3.0. Or la version 11 a RETIRE les
# modules Proxmox de cette collection — ils vivent desormais dans `community.proxmox`. Le
# runner a donc echoue a la premiere materialisation de VM, sur un
# « couldn't resolve module/action 'community.general.proxmox_pool' », alors que le meme
# depot, le meme playbook et le meme plan fonctionnaient chez le mainteneur.
#
# Un moteur qui ne dit pas de QUELLES versions il depend n'est pas portable : il est
# seulement chanceux. Nommer une collection sans l'epingler, c'est declarer une dependance
# sur « l'etat d'Internet a la date du deploiement ».
#
# MIGRATION CONNUE, PAS ENCORE FAITE : passer les quatre modules Proxmox
# (`proxmox_kvm`, `proxmox_pool`, `proxmox_nic`, `proxmox_disk`) a `community.proxmox`
# permettra de suivre `community.general` au-dela de la 11. Tant que ce n'est pas fait,
# l'epingle ci-dessous est ce qui tient. Les modules LDAP, eux, restent dans
# `community.general` — la migration ne les concerne pas.
collections:
- name: community.postgresql
version: 3.10.2
# `<11.0.0` N'EST PAS UN CAPRICE : la 11 a sorti les modules Proxmox de cette collection.
# Les remonter demanderait de reecrire `playbooks/proxmox/*` — voir la note ci-dessus.
- name: community.general
version: 10.3.0
# `serveur_backup` : ansible.posix.authorized_key. Utilisee depuis longtemps, jamais
# declaree — donc absente du runner, qui n'aurait pas pu deployer les sauvegardes.
- name: ansible.posix
version: 1.6.2
# `community.docker` a ete RETIREE le 2026-08-24 : `serveur_collabora` etait la seule
# exception conteneurisee de la flotte, et il tourne desormais en natif (paquet coolwsd
# du depot amont Collabora). Plus aucun role n'a besoin de Docker.