Quotidien Shaarli
Aujourd'hui - May 23, 2026
L’auteur relate un problème rencontré dans son lab où le redémarrage de systemd-networkd provoquait la perte du lien entre Incus et une interface réseau, car l’index de cette dernière changeait. Une solution a été trouvée en utilisant l’option KeepMaster de systemd, qui maintient l’index de l’interface lors des rechargements ou redémarrages, évitant ainsi la rupture avec Incus.
Le billet mentionne également une commande alternative (ip link set vxlan5 parent br5) pour rattacher explicitement une interface à une parente, bien que cette méthode ne soit pas documentée de manière évidente dans les ressources systemd. L’auteur souligne l’efficacité de KeepMaster pour résoudre son problème récurrent, lié à la gestion des interfaces VXLAN dans son infrastructure.
Ce retour d’expérience s’inscrit dans une série de notes techniques autour de l’administration système et du DevOps, avec une approche pragmatique pour contourner des dysfonctionnements courants dans des environnements Linux modernes.
Symfony 8.1 modernise les commandes console en intégrant les value resolvers Doctrine, comme #[MapEntity], déjà disponibles pour les contrôleurs depuis Symfony 6.2. Cette évolution permet de simplifier la résolution des entités directement dans la signature de la méthode __invoke() d’une commande, réduisant ainsi le code boilerplate. Par exemple, la commande app:user:2fa-setup peut désormais injecter une entité User via #[MapEntity], éliminant les méthodes manuelles de recherche comme findUser().
L’article illustre cette amélioration avec un cas concret : avant Symfony 8.1, il fallait gérer manuellement la récupération de l’utilisateur via EntityManager, tandis qu’après, l’entité est résolue automatiquement grâce à #[MapEntity], qui mappe l’argument console à une propriété de l’entité. Cette approche standardise le comportement entre les commandes console et les contrôleurs HTTP, tout en réduisant la complexité du code.
Enfin, l’auteur souligne que cette modernisation, bien que mineure, révèle des commandes obsolètes encore présentes dans le codebase, rappelant l’importance de maintenir un code propre. Il note aussi un prérequis non documenté : #[MapEntity] nécessite une contrainte d’unicité sur la propriété mappée pour fonctionner correctement.