GNU/Linux >> Tutoriales Linux >  >> Linux

Cambiando el bucle ansible debido a la obsolescencia v2.11

Tuve esta misma pregunta y parece que cada conjunto de paquetes con los mismos estados tendrá que ser su propio bloque. Mirando la documentación de Ansible, tienen un bloque para cada estado como ejemplo, así que tomé ese ejemplo, corté mis paquetes según sus estados y seguí el ejemplo de ignacio y terminó funcionando perfectamente.

Así que básicamente se vería así

- name: Install packages required for log-deployment
  apt:
    name:
      - gcc
      - python-devel
    state: latest
    autoclean: yes

- name: Install packages required for log-deployment
  apt:
    name:
      - python
      - mariadb
      - mysql-devel
    state: installed

¡Espero que tenga sentido y ayude!


Puede codificar la matriz en estilo YAML para que sea más legible:

- name: Install utility packages common to all hosts
  apt:
    name:
      - aptitude
      - jq
      - curl
      - git-core
      - at
    state: present
    autoclean: yes

Encontré exactamente el mismo problema, pero con una lista mucho más larga de aplicaciones, contenida en un archivo vars. Este es el código que implementé para solucionar ese problema. La lista de aplicaciones se coloca en la variable "aplicaciones" y Ansible itera sobre eso.

- name: Install default applications
  apt:
    name: "{{item}}"
    state: latest
  loop: "{{ apps }}"
  when: ansible_distribution == 'Ubuntu' or ansible_distribution == 'Debian'
  tags:
     - instapps

El archivo que contiene la lista de aplicaciones para instalar está en el directorio Predeterminado en el directorio de roles para esta tarea, es decir, el directorio de roles "común".

roles
    - common
      - Defaults
        - main.yml

Linux
  1. Cómo escribir un bucle en Bash

  2. ¿Cómo cambiar el nombre de una variable Bash en un bucle y luego expandir el nombre cambiado?

  3. Nombre de registro:¿No hay nombre de inicio de sesión?

  4. Cambio de permisos de Linux

  5. Bucle for anidado

Golpe para bucle

Golpear hasta bucle

Forma de línea de comandos de cambiar el nombre de la computadora en Ubuntu

Primeros pasos con los libros de jugadas de Ansible

Una introducción a los hechos de Ansible

Cómo automatizar la instalación y la implementación de Podman con Ansible