Ansible 2.10 está aquí y estas son las Novedades

Advertencia
Este artículo se actualizó por última vez el 2020-09-23, el contenido puede estar desactualizado.

Antes de comenzar, quería contarles que hay una promoción en DigitalOcean donde te dan un crédito de USD 100.00 durante 60 días para que puedas probar los servicios que este Proveedor Cloud ofrece. Lo único que tienes que hacer es suscribirte a DigitalOcean con el siguiente enlace: https://bit.ly/digitalocean-itsm


El dia 22/09/2020, se anunció la liberación de la versión 2.10 de Ansible, la cual trae muchas novedades y en este artículo te las contaré!


En este momento hay un pequeño bug al actualizar Ansible desde la version 2.9.x, por lo que es recomendado primero desinstalar Ansible 2.9.x:

1
$ pip uninstall ansible

Y luego instalar Ansible 2.10:

1
$ pip install ansible==2.10 --user

Según el anuncio por parte de Red Hat Ansible vendrá con algunos de estos cambios:

La Lista es larga así que te recomiendo le des un vistazo: https://github.com/ansible-community/ansible-build-data/blob/2.10.0/2.10/ansible-2.10.0.deps

Y aqui -> https://github.com/ansible-collections

  • Uno de los principales problemas que tenía Ansible es la gran diferencia de versiones entre la versión de código abierto (manejada por la comunidad y con aportes de voluntarios) y las que provenian por parte de pedidos de los clientes y/o desarrolladores de Red Hat, que tenía al menos 4500 objetos entre modulos, roles, etc; en donde podían existir dos modulos para la misma tarea (por ejemplo: Helm) Por esta razón, se decidió separar los módulos y plugins “base” y colocar los demás como Ansible Collections (roles, módulos, plugins, documentación, etc), para así organizarlos y garantizar un versionado correcto y semántico, además de que el llamado de estas colecciones sea rápida y facilmente portable. Es por ello, que al momento de la instalación de Ansible 2.10, se instalará también un paquete llamado ansible-core que los contendrá.

  • Por el lado Microsoft Windows, ya no serán soportados los sistemas operarivos: Windows Server 2008, 2008 R2 y Windows 7. Para más información: https://docs.ansible.com/ansible/latest/user_guide/windows_faq.html#windows-faq-server2008

  • Está disponible la guía para portar nuestros playbooks hechos en 2.9.x a 2.10: https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.10.html

/images/ansible-2-10/ansible-2.10.png
Cambios en Ansible 2.10

Por ejemplo, en la versión 2.9.x, para poder crear una base de datos en MySQL, podíamos usar el siguente código:

1
2
3
4
name: Create a new database with name 'bobdata'
  mysql_db:
    name: bobdata
    state: present

Ahora en la versión 2.10, debemos incluir la colección de las tareas que se pueden hacer con MySQL:

1
2
3
4
- name: Create a new database with name 'bobdata'
  community.mysql.mysql_db:
    name: bobdata
    state: present

Donde llamamos a la coleccion community.mysql y el modulo mysql_db que permite crear la base de datos en el servidor.

La lista de las colecciones y de como están organizadas, las podrás ver aquí: https://docs.ansible.com/ansible/latest/collections/


Para finalizar, les recuerdo que se viene el Ansible Fest los dias 13 y 14 de Octubre de 2020, la cual será virtual y podrán registrarse aqui: https://www.ansible.com/ansiblefest

/images/ansible-2-10/ansible-fest2020.png
Ansible Fest 2020

Espero les haya gustado este artículo, ¡hasta la próxima!

Si te pareció útil este artículo y el proyecto en general, considera brindarme un café :)

Buy me a coffeeBuy me a coffee