# 2026/04/04 (neutriton) : Mise à jour Trixie * [Réunion précédente](https://wiki.neutrinet.be/fr/rapports/2026/03-21) * [Pad de la réunion](https://doc.neutrinet.be/hub-infra-2026-04-04#) Heure de début : 10h30 Présences : HgO, Tharyrok, Célo ## Météo *Moment informel durant lequel on exprime **en peu de mots** comment on se sent et si on a une attente forte pour la réunion.* **Ce n'est pas un moment de discussion mais d'expression individuelle et ce n'est pas obligatoire :-)** Fin : 16h ou plus tôt ### Attente(s) forte(s) *Si l'une ou l'autre personne exprime une attente forte, merci de vous en occuper en priorité ou de la noter dans le hub ou dans un point approprié.* ## Inventaire des serveurs à mettre à jour - accounting.patata.louise.neutri.net -> Célo - akvorado.patata.louise.neutri.net -> Tharyrok - authentik-01.patata.louise.neutri.net -> HgO - authentik-02.patata.louise.neutri.net -> Célo - backoffice.patata.louise.neutri.net -> HgO - bour.louise.neutri.net - Tharyrok - bra-01.louise.neutri.net -> Tharyrok - bra-02.louise.neutri.net -> Tharyrok - collectd.patata.louise.neutri.net -> HgO - core-patata-01.louise.neutri.net -> Tharyrok - core-patata-02.louise.neutri.net -> Tharyrok - dokuwiki.patata.louise.neutri.net -> Célo - edge-belgiumix.louise.neutri.net - Tharyrok - edge-bnix.louise.neutri.net - Tharyrok - edge-joint-transit.louise.neutri.net - Tharyrok - edge-nlix.louise.neutri.net - Tharyrok - edge-verixi-01.louise.neutri.net - Tharyrok - edge-verixi-02.louise.neutri.net - Tharyrok - grav.patata.louise.neutri.net -> Célo - haproxy-01.patata.louise.neutri.net -> Célo - haproxy-02.patata.louise.neutri.net -> HgO - hedgedoc.patata.louise.neutri.net -> HgO - knot-server.patata.louise.neutri.net -> Célo - librenms.patata.louise.neutri.net -> HgO - mattermost.patata.louise.neutri.net -> Célo - meta.patata.louise.neutri.net - mobilizon.patata.louise.neutri.net -> HgO - nam.louise.neutri.net - Célo - netbox-01.patata.louise.neutri.net -> HgO - netbox-02.patata.louise.neutri.net -> Célo - nextcloud.patata.louise.neutri.net -> HgO - pbs.mdlp.neutri.net -> Tharyrok - pgsql-01.patata.louise.neutri.net -> Célo - pgsql-02.patata.louise.neutri.net -> HgO - pgsql-03.patata.louise.neutri.net -> Célo - probe-03.aqnet.neutri.net -> HgO - probe-04.teta.neutri.net -> Célo - probe-05.ilo.neutri.net -> HgO - probe-06.rzl.neutri.net -> Célo - probe-07.grif.neutri.net -> HgO - radius-01.patata.louise.neutri.net -> Tharyrok - radius-02.patata.louise.neutri.net -> Tharyrok - route-reflector-01.louise.neutri.net -> Tharyrok - route-reflector-02.louise.neutri.net -> Tharyrok - runner.patata.louise.neutri.net -> Célo - stalwart.patata.louise.neutri.net -> HgO - storage-01.ovh.neutri.net -> Célo (à faire en dernier) - valkey-01.patata.louise.neutri.net -> HgO - valkey-02.patata.louise.neutri.net -> Célo - valkey-03.patata.louise.neutri.net -> HgO - topi.louise.neutri.net - HgO - web-static.patata.louise.neutri.net -> Célo - zammad.patata.louise.neutri.net -> HgO ``` - name: Repos debian ansible.builtin.deb822_repository: name: debian types: deb uris: "{{ base_repos_mirror }}" suites: "{{ ansible_facts['distribution_release'] }}" signed_by: /usr/share/keyrings/debian-archive-keyring.gpg components: - main - contrib - non-free register: base_repos_debian_changed - name: Repos debian-updates ansible.builtin.deb822_repository: name: debian-updates types: deb uris: "{{ base_repos_mirror }}" suites: "{{ ansible_facts['distribution_release'] }}-updates" signed_by: /usr/share/keyrings/debian-archive-keyring.gpg components: - main - contrib - non-free register: base_repos_debian_updates_changed - name: Repos debian-backports ansible.builtin.deb822_repository: name: debian-backports types: deb uris: "{{ base_repos_mirror }}" suites: "{{ ansible_facts['distribution_release'] }}-backports" signed_by: /usr/share/keyrings/debian-archive-keyring.gpg components: - main - contrib - non-free register: base_repos_debian_backports_changed - name: Repos debian-security ansible.builtin.deb822_repository: name: debian-security types: deb uris: "{{ base_repos_mirror_security }}" suites: "{{ ansible_facts['distribution_release'] }}-security" signed_by: /usr/share/keyrings/debian-archive-keyring.gpg components: - main - contrib - non-free register: base_repos_debian_security_changed - name: Empty old sources.list ansible.builtin.copy: content: "" dest: /etc/apt/sources.list owner: root group: root mode: "ugo=r" register: base_repos_debian_removed_changed - name: Update apt cache if repos changed # noqa: no-handler ansible.builtin.apt: update_cache: true when: | base_repos_debian_changed.changed or base_repos_debian_updates_changed.changed or base_repos_debian_backports_changed.changed or base_repos_debian_security_changed.changed or base_repos_debian_removed_changed.changed - name: install | Setup repos lldap ansible.builtin.deb822_repository: name: lldap types: deb signed_by: "https://download.opensuse.org/repositories/home:Masgalor:LLDAP/Debian_{{ ansible_facts['distribution_major_version'] }}/Release.key" uris: "https://download.opensuse.org/repositories/home:/Masgalor:/LLDAP/Debian_{{ ansible_facts['distribution_major_version'] }}/" suites: / register: repos_lldap_changed - name: install | Update apt cache if repos changed # noqa: no-handler ansible.builtin.apt: update_cache: true when: repos_lldap_changed.changed ``` À rajouter dans pre-commit: ``` - repo: https://github.com/gitleaks/gitleaks rev: v8.30.1 hooks: - id: gitleaks - repo: local hooks: - id: ansible-lint name: ansible-lint entry: ansible-lint language: system pass_filenames: false always_run: true ``` https://gitlab.domainepublic.net/Neutrinet/infra-ansible/-/merge_requests/347 On a fait un playbook pour préparer la mise à jour ! - faire un snapshot de la VM - apt ``upgrade`` pour avoir tout à jour sur la VM et un ``dist-upgrade`` au besoin - On lance le playbook pour la machine concernée `ansible-playbook playbooks/upgrade.yml -l runner.patata.louise.neutri.net --diff` - Pour voir ce que fait le playbook lors du apt upgrade: ``` tail -f /var/log/apt/term.log ``` - Sur la VM, on se met dans un `screen` et on lance `DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade`. - Lorsque c'est terminé, ne pas oublier de `reboot` - Lancer le playbook debian-commun, et si besoin le playbook du rôle (ne pas le faire sur alertmanager, victoriametrics, et haproxy) - Après avoir lancé les playbook, faire un `apt upgrade` pour mettre à jour les paquets du rôle - Lancer `apt autoremove` quand on a fini ``` TASK [borgmatic : Ajout de storage-01.ovh.neutri.net et de son IP dans la liste des serveurs connus] ************************************************************************************************************* [ERROR]: Task failed: Module failed: Host parameter does not match hashed host field in supplied key Origin: /home/celo/Documents/Neutrinet/infra-ansible/roles/borgmatic/tasks/repo.yml:67:3 65 run_once: true 66 67 - name: Ajout de {{ repo.host }} et de son IP dans la liste des serveurs connus ^ column 3 failed: [authentik-02.patata.louise.neutri.net] (item=storage-01.ovh.neutri.net) => {"ansible_loop_var": "target", "changed": false, "msg": "Host parameter does not match hashed host field in supplied key", "target": "storage-01.ovh.neutri.net"} failed: [authentik-02.patata.louise.neutri.net] (item=2607:5300:60:3fba::1) => {"ansible_loop_var": "target", "changed": false, "msg": "Host parameter does not match hashed host field in supplied key", "target": "2607:5300:60:3fba::1"} ``` https://stackoverflow.com/questions/72019842/ansible-known-hosts-module-ssh-key-propagation-question https://borgbackup.readthedocs.io/en/1.4.3/changes.html ``` borg upgrade --show-rc --check-archives-tam ``` ``` sudo ha-manager crm-command node-maintenance enable nam ``` Pour les proxmox, si on utilise le playbook pour préparer la mise à niveau, il faut ensuite rajouter les repo pour proxmox et ceph qui sont intégrés au kernel. ``` cat > /etc/apt/sources.list.d/pve-install-repo.sources << EOL Types: deb URIs: http://download.proxmox.com/debian/pve Suites: trixie Components: pve-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOL cat > /etc/apt/sources.list.d/ceph.sources << EOL Types: deb URIs: http://download.proxmox.com/debian/ceph-squid Suites: trixie Components: no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOL wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -O /usr/share/keyrings/proxmox-archive-keyring.gpg rm /etc/apt/sources.list.d/pve-enterprise.sources ``` Config ssh : ``` Host 192.168.30.200 ProxyJump root@192.168.12.254 HostKeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa KexAlgorithms +diffie-hellman-group1-sha1 ``` Si patroni reste activating dans systemd il faut modifier `/usr/lib/systemd/system/patroni.service` pour changé `Type=notify` en `Type=simple` C'est probablement dû au fait que patroni est fourni par les dépôts debian, et qu'il est configuré différemment là-bas. Donc la solution pérenne ce serait de garder les repos patroni avant de faire la mise à jour vers trixie. En fait il manque le paquet `python3-systemd`. Cf. https://github.com/patroni/patroni/issues/3480 ## Prochaine réunion On a deux peer : https://bgp.tools/as/204059#connectivity Neutriton : Prochaine réunion: Garde-Pad : ## Météo de fin *Moment informel durant lequel on exprime **en peu de mots** comment, à titre personnel, la réunion a été vécue que ce soit positif ou négatif.* *Si une ou plusieurs **tension est née** durant la réunion, il est peut-être nécessaire d'envisager l'une ou l'autre réunion pour y remédier.* {{tag>infra neutriton}}