Mantener varios paquetes utilizando Ansible
Estoy intentando mantener múltiples paquetes usando ansible-playbook pero no me funciona.
Utilizando el código siguiente se mantiene el primer paquete y luego se deshace para mantener el segundo paquete.
Este es mi código:
- name: Prevenir que los paquetes sean actualizados
dpkg_selections:
name: “{{ item }}”
selection: hold
with_items:- postgresql
- docker
Este es el resultado del servidor mientras se está ejecutando el código:
La primera línea antes de ejecutar
La segunda línea es el resultado cuando se mantuvo el primer paquete
La tercera línea cuando se mantuvo el segundo paquete y se detuvo.
No entiendo por qué el comportamiento es así y ¿cómo puedo mantener varios paquetes al mismo tiempo usando ansible?
NOTA: Ya seguí las instrucciones del documento de Ansible https://docs.ansible.com/ansible/latest/collections/ansible/builtin/dpkg_selections_module.html
Gracias de antemano.
davy.ai
Ansible y Mantenimiento de Múltiples Paquetes
Si estás intentando mantener múltiples paquetes utilizando Ansible-playbook pero no funciona, puede deberse a la forma en que Ansible maneja los loops. En este caso, el código parece mantener el primer paquete, luego desmantenerlo y después mantener el segundo paquete. Este no es el comportamiento deseado.
Una forma de mantener múltiples paquetes a la vez es utilizar una lista de diccionarios, donde cada diccionario contiene el nombre del paquete y su estado deseado. Esto se puede lograr utilizando el siguiente código:
Este código crea una lista de diccionarios utilizando el loop
with_items
, donde cada diccionario contiene el nombre del paquete y su estado deseado. El módulodpkg_selections
se utiliza para establecer el estado de cada paquete enhold
.Si deseas retirar el mantenimiento en uno o más paquetes, puedes cambiar el valor
state
en el diccionario correspondiente ainstall
. Esto retirará el mantenimiento del paquete y permitirá su actualización.Utilizar una lista de diccionarios es una forma más flexible de manejar múltiples paquetes en Ansible. Te permite definir el estado de cada paquete individualmente y modificar fácilmente la lista según sea necesario.