URL: https://linuxfr.org/news/ansible-contributor-summit-mars-2020 Title: Ansible Contributor Summit (mars 2020) Authors: Pilou Ysabeau đŸ§¶, Xavier Teyssier, Misc, Davy Defaud et BenoĂźt Sibaud Date: 2020ćčŽ03月30æ—„T06:41:05+02:00 License: CC By-SA Tags: ansible Score: 19 Le huitiĂšme _Ansible Contributor Summit_, Ă©vĂšnement organisĂ© par Red Hat et dĂ©diĂ© aux Ă©changes entre la _core team_ Ansible et la communautĂ©, s’est dĂ©roulĂ© ce dimanche 29 mars 2020. IntĂ©grĂ© initialement Ă  la confĂ©rence _[foss‐north](https://foss-north.se/2020/)_ hĂ©bergĂ©e Ă  [Göteborg](https://fr.wikipedia.org/wiki/G%C3%B6teborg), l’évĂšnement a eu lieu Ă  l’aide de vidĂ©oconfĂ©rences et d’IRC. Lorsque la situation sanitaire le permettra, un Ă©vĂšnement sera Ă  nouveau organisĂ© en Europe pour que la communautĂ© s’y rencontre, Ă©tant donnĂ© que les prĂ©cĂ©dents _Contributor Summits_ ont pris place aux États‐Unis. Cette dĂ©pĂȘche rĂ©sume une partie des discussions ayant eu lieu lors de cet Ă©vĂšnement. ---- ---- L’évĂšnement a dĂ©butĂ© Ă  13 h UTC + 2 et s’est terminĂ© vers 19 h UTC + 2. Sur la [cinquantaine d’inscrits](https://etherpad.openstack.org/p/ansible-contributor-summit-gothenburg-2020), un peu plus de trente participants Ă©taient prĂ©sents, notamment une quinzaine d’employĂ©s Red Hat et une quinzaine de membres de la _[core team](https://docs.ansible.com/ansible/devel/community/committer_guidelines.html#people)_, l’intersection de ces deux ensembles Ă©tant composĂ©e d’une dizaine de personnes. Les [journaux IRC](https://meetbot.fedoraproject.org/ansible-community/2020-03-29/ansible_contributor_summit_2020.2020ćčŽ03月29æ—„-10.50.log.html) ainsi que les [notes](https://meetbot.fedoraproject.org/ansible-community/2020-03-29/ansible_contributor_summit_2020.2020ćčŽ03月29æ—„-10.50.html) sont disponibles. Contrairement Ă  cette dĂ©pĂȘche, ces deux liens rĂ©fĂ©rencent l’ensemble des sujets discutĂ©s. Cet _Ansible Contributor Summit_ est suivi de deux jours de _hackaton_. # Les collections Les collections Ansible, ainsi que leur impact sur l’ensemble du projet, ont occupĂ© une partie importante des Ă©changes. Jusqu’à la [version 2.9](https://github.com/ansible/ansible/tree/stable-2.9) incluse, le dĂ©pĂŽt Git d’Ansible contient l’ensemble des modules et greffons. À partir de la version 2.10, la grande majoritĂ© des modules et greffons sont dĂ©placĂ©s dans d’autres dĂ©pĂŽts Git. Cette version expurgĂ©e est appelĂ©e [`ansible-base`](https://github.com/ansible-collections/overview#q-what-exactly-is-ansible-base-for-and-what-does-it-contain). Une [soixantaine de modules](https://github.com/ansible/ansible/tree/devel/lib/ansible/modules) — par exemple, ceux liĂ©s Ă  l’exĂ©cution de commandes ou Ă  l’installation de paquets — et greffons ne sont pas dĂ©placĂ©s. Au niveau du projet Ansible, la migration aux collections n’est [pas complĂštement terminĂ©e](https://github.com/ansible-collections/overview#timeline). Disponibles Ă  partir de la version 2.10 qui n’a pas encore Ă©tĂ© publiĂ©e, les collections sont des ensembles de ressources Ansible : [modules](https://docs.ansible.com/ansible/devel/reference_appendices/glossary.html#term-modules), [greffons](https://docs.ansible.com/ansible/devel/plugins/plugins.html) et [rĂŽles](https://docs.ansible.com/ansible/devel/reference_appendices/glossary.html#term-roles). Les collections ont notamment pour objectifs de : - faciliter la publication et la rĂ©utilisation de modules (plus simplement qu’en [copiant ces modules dans un rĂŽle](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#embedding-modules-and-plugins-in-roles)) ; - permettre la publication de versions des modules et greffons plus frĂ©quemment et indĂ©pendamment des publications d’Ansible ; - rĂ©soudre le problĂšme d’espace de noms qui ne permettait pas d’utiliser deux modules diffĂ©rents avec un nom identique ; chaque ressource possĂšde un identifiant en trois parties : nom d’organisation Ansible Galaxy, nom de la collection et nom de la ressource ; - faciliter la maintenance en rĂ©partissant les pull-requests entre diffĂ©rents projets. [Trois collections supportĂ©es par la _core team_](https://galaxy.ansible.com/ansible) ont Ă©tĂ© publiĂ©es : `netcommon`, `posix` et `windows`. Il n’est pas prĂ©vu de crĂ©er des collections mĂ©langeant des ressources supportĂ©es par la _core team_ et des ressources maintenues par la communautĂ©. Le code source des collections peut ĂȘtre hĂ©bergĂ© sous l’organisation GitHub _[ansible-collections](https://github.com/ansible-collections/)_ ou sur d’autres forges logicielles. La [publication](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html#publishing-collections) des collections sur [Ansible Galaxy](https://galaxy.ansible.com/) est requise. [Alicia Cozine](https://github.com/acozine) a prĂ©sentĂ© une version en cours de dĂ©veloppement du [site Web de la documentation](http://docs.testing.ansible.com/collections/index.html). La question des journaux des changements des collections n’est [pas encore rĂ©solue](https://github.com/ansible-collections/overview/issues/18). L’introduction des collections ne devrait rien changer pour les utilisateurs installant Ansible via `pip` : `ansible-base` et les collections contenant les modules et greffons prĂ©sents dans la version 2.9 seront contenus dans le [paquet Python Ansible publiĂ© sur PyPi](https://pypi.org/project/ansible/) gĂ©nĂ©rĂ© Ă  l’aide du projet ACD. ## Ansible Community Distribution (ACD) Le contenu de la distribution communautaire Ansible ainsi que son processus de publication [ne sont pas finalisĂ©s](https://gist.github.com/abadger/1f14caded92117fbd3036842c875701c), les outils liĂ©s Ă  la construction du paquet sont [en train d’ĂȘtre dĂ©veloppĂ©s par Toshio Kuratomi](https://github.com/abadger/misc-work/tree/master/ansible/build_acd). Il est possible de tester ces dĂ©veloppements Ă  l’aide de la commande suivante : python3.8 -m pip install --user --upgrade -i https://toshio.fedorapeople.org/ansible/acd/ ansible ## AWX [Matt Davis](https://github.com/nitzmahone) a prĂ©sentĂ© l’impact des collections sur [AWX](https://github.com/ansible/awx), une interface Web Ă  Ansible. Actuellement, AWX prend en charge les [environnements virtuels personnalisĂ©s](https://github.com/ansible/awx/blob/devel/docs/custom_virtualenvs.md) ainsi que les collections Ă  l’aide d’un [fichier `collections/requirements.yml`](https://github.com/ansible/awx/blob/devel/docs/collections.md). À terme, la notion d’environnement d’exĂ©cution sera ajoutĂ©e au projet AWX. Ces environnements d’exĂ©cution : - remplaceront les environnements virtuels personnalisĂ©s ; - seront basĂ©s sur des conteneurs ; - contiendront Ansible, [ansible-runner](https://github.com/ansible/ansible-runner) et les collections. Dans un second temps, l’interface Web sera modifiĂ©e afin de permettre la gestion des environnements d’exĂ©cution. ## Documentations relatives aux collections - [statut du projet](https://github.com/ansible-collections/overview/blob/master/status.rst) ; - [prĂ©sentation & FAQ](https://github.com/ansible-collections/overview/blob/master/README.rst) ; - [documentation pour les utilisateurs](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) ; - [documentation pour les dĂ©veloppeurs de ressources](https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html). # molecule 3 [Sorin Sbarnea](https://github.com/ssbarnea) a prĂ©sentĂ© les nouveautĂ©s de la derniĂšre version de _molecule_, un outil permettant de tester les _playbooks_ et rĂŽles Ansible. Un pilote _molecule_ gĂšre la crĂ©ation et la destruction des ressources utilisĂ©es par les tests (par exemple : conteneurs ou machines virtuelles). La majoritĂ© des pilotes ont Ă©tĂ© dĂ©placĂ©s du dĂ©pĂŽt Git de _molecule_ vers des dĂ©pĂŽts dĂ©diĂ©s, par exemple le [pilote OpenStack](https://github.com/ansible-community/molecule-openstack). Il ne reste que trois pilotes dans le dĂ©pĂŽt _molecule_ : `delegated`, `docker` et `podman`. Le pilote par dĂ©faut reste `docker`. L’objectif de cette rĂ©organisation est de faciliter la maintenance et le dĂ©veloppement des Ă©volutions du cƓur du projet. Un pilote _molecule_ est un simple paquet Python avec un point d’entrĂ©e spĂ©cifique. Par dĂ©faut, Ansible remplace [`testinfra`](https://github.com/philpep/testinfra) au niveau de [l’étape des tests](https://molecule.readthedocs.io/en/latest/configuration.html#verifier) (_verifier_). `testinfra` est toutefois recommandĂ© pour les cas d’usage avancĂ©. [`goss`](https://github.com/ansible-community/molecule-goss) est toujours disponible. La commande `molecule matrix ` permet de lister l’ensemble des Ă©tapes d’une sĂ©quence donnĂ©e. Il est possible de spĂ©cifier des valeurs par dĂ©faut au fichier `molecule.yml` en utilisant le fichier `$HOME/.config` ou `$REPO/.config`. À noter que le projet [`pytest-molecule`](https://github.com/ansible-community/pytest-molecule) permet d’exĂ©cuter plusieurs scĂ©narios _molecule_ en parallĂšle. # ansible-lint `ansible-lint` est utilisĂ© pour Ă©valuer la qualitĂ© des rĂŽles publiĂ©s sur . Le projet est entiĂšrement communautaire et maintenu par Sorin Sbarnea sur son temps libre. Depuis la version 4.2, tous les fichiers YAML sont analysĂ©s, alors qu’il Ă©tait auparavant nĂ©cessaire d’utiliser une commande du type `ansible-lint $(find . -type f -name ".yml" -o -name ".yaml")`. # CommunautĂ© et statistiques [Gregory Sutcliffe](https://github.com/GregSutcliffe) a prĂ©sentĂ© [diffĂ©rentes statistiques](https://stats.eng.ansible.com/apps/), notamment celles relatives aux [contributions relatives aux collections](https://stats.eng.ansible.com/apps/collections/contributors/). # Canaux IRC Le projet Ansible utilise notamment les canaux IRC suivants (en anglais, sauf le 3e) sur le rĂ©seau [Freenode](https://webchat.freenode.net) : - **#ansible**, pour les questions liĂ©es Ă  l’utilisation d’Ansible ; - **#ansible-devel**, dĂ©diĂ© aux Ă©changes relatifs au dĂ©veloppement du projet ; - **#ansible-fr**, canal en français avec un ratio participants/membres de la _core team_ intĂ©ressant ; - **#ansible-molecule**, spĂ©cifique au projet molecule ; - **#ansible-awx**, consacrĂ© au projet AWX ; - **#ansible-community**, dĂ©diĂ© aux discussions liĂ©es Ă  la communautĂ©. D’autres canaux IRC existent et sont listĂ©s dans la partie [_Groups_ de la page _Community_](https://github.com/ansible/community#groups).

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /