GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Änderung der Ansible-Schleife aufgrund der Einstellung von v2.11

Ich hatte dieselbe Frage und es sieht so aus, als müsste jeder Satz von Paketen mit denselben Zuständen ein eigener Block sein. Wenn man sich die Dokumentation von Ansible ansieht, haben sie einen Block für jeden Zustand als Beispiel, also habe ich dieses Beispiel genommen, meine Pakete basierend auf ihren Zuständen zerschnitten und dem Beispiel von Ignacio gefolgt, und es hat am Ende perfekt funktioniert.

Im Grunde würde es also so aussehen

- 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

Hoffe, das macht Sinn und hilft!


Sie können das Array im YAML-Stil codieren, um es besser lesbar zu machen:

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

Ich bin auf genau dasselbe Problem gestoßen, aber mit einer viel längeren Liste von Apps, die in einer vars-Datei gespeichert sind. Dies ist der Code, den ich implementiert habe, um dieses Problem zu umgehen. Die Liste der Apps wird in die „apps“-Variable platziert und Ansible iteriert darüber.

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

Die Datei mit der Liste der zu installierenden Apps befindet sich im Standardverzeichnis im Rollenverzeichnis für diese Aufgabe – nämlich im „allgemeinen“ Rollenverzeichnis.

roles
    - common
      - Defaults
        - main.yml

Linux
  1. Wie ändere ich einen Bash-Variablennamen in einer Schleife und erweitere dann den geänderten Namen?

  2. Anmeldename:Kein Anmeldename?

  3. Ändern Sie den Benutzernamen unter Linux

  4. Ändern des Namens des Videos während des Herunterladens über youtube-dl

  5. Der Name des MD-Geräts ändert sich und enthält nach dem ersten Neustart HOSTNAME:. Wie bekomme ich einen einheitlichen Namen?

Bash für Schleife

Bash bis Loop

Befehlszeilenmethode zum Ändern des Computernamens in Ubuntu

Erste Schritte mit Ansible Playbooks

Eine Einführung in Ansible-Fakten

So automatisieren Sie die Podman-Installation und -Bereitstellung mit Ansible