GNU/Linux >> Tutoriels Linux >  >> Linux

Modification de la boucle ansible en raison de la dépréciation de la v2.11

J'ai eu cette même question et il semble que chaque ensemble de packages avec les mêmes états devra être son propre bloc. En regardant la documentation d'Ansible, ils ont un bloc pour chaque état à titre d'exemple, j'ai donc pris cet exemple, découpé mes packages en fonction de leurs états et suivi l'exemple d'ignacio et cela a fini par fonctionner parfaitement.

Donc, en gros, cela ressemblerait à ceci

- 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

J'espère que cela a du sens et aide !


Vous pouvez coder le tableau dans le style YAML pour le rendre plus lisible :

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

J'ai rencontré exactement le même problème, mais avec une liste d'applications beaucoup plus longue, conservée dans un fichier vars. C'est le code que j'ai implémenté pour contourner ce problème. La liste des applications est placée dans la variable "apps" et Ansible itère dessus.

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

Le fichier contenant la liste des applications à installer se trouve dans le répertoire Defaults du répertoire de rôle pour cette tâche - à savoir le répertoire de rôle "commun".

roles
    - common
      - Defaults
        - main.yml

Linux
  1. Comment changer le nom d'une variable bash dans une boucle, puis développer le nom modifié ?

  2. Nom de connexion :pas de nom de connexion ?

  3. Modification des autorisations Linux

  4. Serveurs de noms d'espace rack

  5. Modification du nom de la vidéo lors du téléchargement via youtube-dl

Bash pour la boucle

Bash jusqu'à la boucle

Manière en ligne de commande de changer le nom de l'ordinateur dans Ubuntu

Premiers pas avec les playbooks Ansible

Une introduction aux faits Ansible

Comment automatiser l'installation et le déploiement de Podman à l'aide d'Ansible