Foreman est un outil de gestion du cycle de vie de serveurs physiques ou virtuels.
Il permet d’effectuer des tâches répétitives, de déployer rapidement des applications, de gérer de manière pro-active des serveurs, dans vos locaux ou sur le cloud.
Je m’en sers personnellement pour affecter des serveurs à des groupes auxquels sont associées des classes Puppet.
Il collecte aussi mes rapports d’exécution Puppet.
En cas de problème d’application de recettes Puppet, mon monitoring prometheus peut le détecter et m’alerte.
Foreman 3.11 est sorti le 18 juin 2024.
Je ne détaille pas le changelog complet de Foreman 3.11. mais juste quelque points qui peuvent m’intéresser à savoir.
Interface graphique
La taille des librairies javascript a diminué. Avant, chaque extension venait avec ses librairies dupliquées par rapport à d’autres extensions.
Une librairie commune a été proposée, évitant, le téléchargement multiple de la même librairie.
Puppet
Les ciphers du serveur puppet ont été mis à jour mais les anciens peuvent restés présents. J’ai eu un problème avec ça il n’y a pas longtemps, j’ai cherché un bon moment avant de trouver que j’avais un problème de configuration de cipher.
Packaging
Les extension foreman-hooks et foreman_setup ont été enlevées.
Beaucoup de corrections de bugs.
Toujours pas installable sur Debian 12 🙁
Mise à jour vers 3.11 pour Debian 11
Pour mettre à jour Foreman en version 3.11, il faut d’abord mettre à jour en version 3.10.
Les étapes de mise à jour restent semblables.
Il est conseillé de vérifier les sauvegardes avant la mise à jour.
1. Mise à jour des paquets
Mettre à jour le fichier /etc/apt/sources.list.d/foreman.list :
deb http://deb.theforeman.org/ bullseye 3.11
deb http://deb.theforeman.org/ plugins 3.11
Mettre à jour le système :
systemctl stop apache2 foreman.service foreman.socket dynflow\*
apt-get update
apt-get --only-upgrade install ruby\* foreman\*
2. Mettre à jour la base de données
foreman-rake db:migrate
foreman-rake db:seed
foreman-rake tmp:cache:clear
foreman-rake db:sessions:clear
su - postgres -c 'vacuumdb --full --dbname=foreman'
3. Relancer foreman-installer
Tester la commande foreman-installer sans rien appliqer, des erreurs apparaissent Could not evaluate: Connection refused – connect(2), ne pas s’inquiéter :
foreman-installer --noop --verbose
Relancer la commande en mode réel :
foreman-installer
Les services seront relancés par la commande.
Si besoin d’un ingénieur système, je peux m’occuper de ton serveur Debian Foreman.
Si problème de puppetdb
La mise à jour semble changer la configuration des mots de passe dans postgresql de md5 à scram-sha-256.
Il faut corriger le fichier /etc/postgresql/13/main/postgresql.conf
et mettre :
password_encryption = scram-sha-256
Ensuite, il faut rechanger le mot de passe de puppetdb (il est indiqué dans le fichier /etc/puppetlabs/puppetdb/conf.d/database.ini) :
su - puppetdb -s /bin/sh
psql
# et sur le prompt psql :
\password puppetdb