KernelCI : le noyau Linux a enfin son framework officiel de tests
Le 28 octobre, la Fondation Linux organisait la deuxième journée de son Open Source Summit Europe à Lyon. Les organisateurs de l’événement ont présenté le projet KernelCI, un framework distribué de tests permettant d’améliorer la remontée de bugs et d’erreurs de sécurité au sein du noyau Linux.
Propriété intellectuelle, performance, sécurité, manque de standardisation, éthique… Ces problèmes ne touchent pas seulement les éditeurs de solutions propriétaires. La conférence d’ouverture de l’Open Source Summit Europe du lundi 28 octobre en était la preuve.
L’intervention de Greg Kroah Hartman, développeur du noyau Linux, a listé un bon nombre de failles des processeurs que lui et son équipe ont dû mitiger. Spectre, Meltdown, Fallout, RIDL, ou encore Zombie sont quelques-uns de ces maux qui ont non seulement altéré la confiance dans les architectures des fondeurs, mais également entraîné des chutes drastiques de performance au niveau des processeurs. Bien que difficiles à exécuter, ces attaques permettent à un tiers d’accéder à des données résidant dans la mémoire cache. Il a fallu effacer les tampons, ce qui prend du temps.
« Quand nous cherchons à améliorer les capacités du kernel Linux, nous nous battons pour 1, voire 2 % de gains supplémentaires. En corrigeant les problèmes, nous avons perdu 15-20 % de puissance, car l’architecture de l’hyperthreading était l’une des causes des failles », assure-t-il.
Greg Kroah HartmanDéveloppeur du noyau Linux, Fondation Linux
Cela demande donc de désactiver cette fonctionnalité et de mettre à jour le composant. À l’échelle d’un ordinateur, une telle perte n’a pas trop de conséquence. À l’échelle d’un data center ou d’une infrastructure cloud, l’impact est conséquent. « Forcément, nous ralentissons les machines. Maintenant, vous devez choisir entre performance et sécurité, ce qui ne devrait jamais arriver et vous devez savoir ce que votre fournisseur de cloud a décidé », déclare-t-il. Toutefois, l’intervenant prie les développeurs et les entreprises de maintenir à jour leur bios et leur noyau Linux. « La sécurité prime sur les performances, pour une fois », affirme Greg Kroah Hartman.
Un framework unifié pour la chasse aux bugs
L’architecture Linux est largement distribuée. Cela demande de vérifier les performances sur de nombreuses machines. Pour autant, il n’y avait jusqu’alors aucun outil de testing standardisé. Certaines entreprises proposaient leur version payante, tandis que plusieurs projets open source ont cohabité pendant près de dix ans. L’organisation et les participants se sont mis d’accord sur celui qui semble le plus pertinent : KernelCI.
Cette plateforme distribuée a rejoint la Fondation Linux sous l’égide de Baylibre, une startup spécialisée dans l’ingénierie autour des solutions Linux. La solution imaginée en 2014 automatise les tests au niveau du noyau Linux. Elle permet de partager les résultats dans un seul espace afin de les comparer et renseigner les autres utilisateurs des performances obtenues des différentes versions du noyau sur différents équipements.
« Je dis souvent tout le bien que je pense du système Linux, mais je dois avouer que même nous, nous pouvons améliorer notre manière de tester le noyau », atteste Jim Zemlin, directeur de la Fondation. « Le testing a longtemps été une pratique fragmentée et verticalisée. Nous espérons augmenter la qualité, la stabilité et la maintenance de notre OS ».
Le choix de KernelCI résulte d’une effervescence au sein de la communauté. « Nous sommes partis d’un point où il y avait peu d’outils de tests à une multiplication de solutions ces deux dernières années », déclare Kevin Hilman, Senior Kernel Expert chez Baylibre. « Nous employions des logiciels ouverts, mais nous n’avions pas adopté une approche open source pour réaliser les tests », ajoute-t-il.
En outre, la diversité des efforts a mis au jour de nombreux bugs, à tel point que les responsables de la maintenance à long terme (LTS) du kernel étaient dépassés. « KernelCI améliore notre méthode et le suivi des erreurs à réparer », assure Kevin Hilman.
Ce projet vise d’abord à améliorer la gouvernance liée à cette phase importante. Par la suite, les membres partageront leurs données pour commencer à analyser les historiques. KernelCI intéresse aussi les distributeurs de produits Linux. A ce titre, Google, Microsoft et Red Hat participent à sa mise en place. Cela paraît logique : bon nombre de leurs produits reposent sur la technologie développée par la Fondation.
Jim ZemlinDirecteur, Fondation Linux
KernelCI : un choix révélateur du fonctionnement de la Fondation
D’une certaine manière, le choix de KernelCI est révélateur de l’importance des communautés open source. À elle seule, la fondation Linux chapeaute 225 projets et bon nombre d’entre eux sont utilisés par les grands groupes.
« Nous en sommes arrivés au point où l’open source est omniprésent dans les produits et les services des fournisseurs, particulièrement Linux. Cela représente 100 % du marché des superordinateurs, 80 % des terminaux mobiles, 65 % des systèmes embarqués, une grande partie des espaces de cloud public, etc. Ce fait engendre de grandes responsabilités afin de faire en sorte que les logiciels apportent le niveau de sécurité et de robustesse suffisant. Nous devons nous assurer de supprimer le maximum de bugs, même s’il est impossible de n'en avoir aucun », affirme Jim Zemlin au MagIT.
KernelCI est aussi un exemple de querelles de chapelle qui existent dans le milieu du code ouvert. Le directeur de la Fondation Linux considère que c’est un processus qu’il doit gérer en interne. « Nous essayons d’éviter les doublons de projets à tous les stades de développement. Il peut y avoir plusieurs solutions émergentes, mais à la fin une seule doit l’emporter », conclut-il.