OpenStack Summit : Zuul, un 3e projet indépendant apparait à la fondation open source
Après les containers virtualisés, la fondation s’intéresse au CI/ CD et fait d’un de ses outils internes son 3e projet de premier rang
La fondation OpenStack lit sa nouvelle partition stratégique. L’organisation open source qui réunit actuellement sa communauté à Vancouver, à l’occasion de l’OpenStack Summit, a présenté le 3e projet indépendant qui sera hébergé par la fondation. Après OpenStack et les Kata Containers (qui arrivent dans leur version 1.0 – voir encadré), la fondation présente Zuul, un projet de CI/CD multi-repository, dont une des particularités est de se connecter à plusieurs projets. Né pour tester les développements d’OpenStack, composé d’une kyrielle de projets, Zuul, aujourd’hui dans sa v3, devient un projet de premier niveau de la fondation.
En faisant d’un moteur d’orchestration de tâches d’intégration continue et de tests un des premiers projets de l’organisation, la fondation livre ici une traduction de sa stratégie d’intégration dévoilée lors de l’OpenStack Summit de Sydney en novembre 2017. Cette stratégie porte notamment sur une collaboration renforcée entre communautés open source proches de la fondation en misant sur une fertilisation croisée des projets. Si de collaboration il s’agit, Jonathan Bryce, le directeur exécutif de la fondation, avait surtout parlé d’intégration des nombreux projets qui évoluent autour du socle OpenStack.
Prendre en compte les multiples dépendances
Zuul en est une illustration. Techniquement, Zuul est ce que James Blair, en charge du projet à la fondation, appelle un projet de « gating », une évolution des traditionnels pipelines de CI/CD. En fait, Zuul garantit que chaque ajout ou modification du code d’une application sera testé avant d’être « mergé ». Cela est certes un élément clé pour les phases de développement. Mais, surtout, il garantit que chaque projet interdépendant du premier sera identifié comme nécessitant lui-aussi une modification. Ils seront ainsi pris en compte dans les phases de tests. Zuul se connecte aux outils de CI /CD « classiques », comme Jenkins ou Spinnaker, à un bout, puis aux « repositories » des projets à l’autre. Des connecteurs sont développés par la communauté.
Dans une démonstration, il est montré par exemple comment Zuul comprend les dépendances entre projet. « Une modification sur Cinder implique une autre modification sur GopherCloud ».
Avant de devenir un projet indépendant, Zuul est en fait utilisé en interne par la fondation depuis 5 ans, résume Alan Clark, président du board de la fondation, également membre du CTO Office chez l’éditeur Suse. Face à la multiplication des projets Openstack, la fondation a développé un outil pour automatiser les contrôles de commits et les procédures d’intégration continue de ces multiples projets, explique-t-il. « Il est en effet très difficile de commiter entre plusieurs repo », ajoute-t-il.
Zuul, dans sa V3, hérite donc de ce passif pour passer de « l’ère pre-merge au gating », lance encore James Blair. « Cela permet de réaliser des modifications structurelles entre communautés et favorise ainsi la collaboration », rappelle-t-il, illustrant encore la mission de la fondation.
Kata Containers prêts dans leur V1
A l’occasion de l’OpenStack Summit, l’OpenStack Foundation a présenté la v1 des Kata Containers, dévoilés en décembre dernier, premier projet indépendant hors OpenStack. Bâtis sur deux contributions, Clear Containers d’Intel et runV d’Hyper.sh, ce projet vise à améliorer la sécurité des containers en exploitant un concept de containers virtualisés, s’adossant à une VM allégée. L’objectif consiste à apporter un niveau de sécurité aux containers identiques à celui des VM, mais sans rogner sur la flexibilité de ces composants, avait expliqué l’OpenStack Foundation. Aujourd’hui, la communauté compte quelques 40 contributeurs.