GNU/Linux >> Linux Esercitazione >  >> Linux

Modifica del ciclo ansible a causa della deprecazione della versione 2.11

Ho avuto la stessa domanda e sembra che ogni set di pacchetti con gli stessi stati dovrà essere il proprio blocco. Guardando la documentazione di Ansible, hanno un blocco per ogni stato come esempio, quindi ho preso quell'esempio, ho tagliato i miei pacchetti in base ai loro stati e ho seguito l'esempio di ignacio e ha finito per funzionare perfettamente.

Quindi sostanzialmente sarebbe simile a questo

- 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

Spero che abbia senso e aiuti!


Puoi codificare l'array in stile YAML per renderlo più leggibile:

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

Mi sono imbattuto nello stesso identico problema, ma con un elenco di app molto più lungo, contenuto in un file vars. Questo è il codice che ho implementato per aggirare il problema. L'elenco delle app viene inserito nella variabile "apps" e Ansible lo ripete.

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

Il file che contiene l'elenco delle app da installare si trova nella directory Defaults nella directory dei ruoli per questa attività, vale a dire la directory dei ruoli "comune".

roles
    - common
      - Defaults
        - main.yml

Linux
  1. Come scrivere un ciclo in Bash

  2. Decostruire un playbook Ansible

  3. Comprendere YAML per Ansible

  4. Modifica delle autorizzazioni Linux

  5. Ciclo for nidificato

Bash For Loop

Bash fino a Loop

Modo da riga di comando per cambiare il nome del computer in Ubuntu

Guida introduttiva ai Playbook Ansible

Un'introduzione ai fatti Ansible

Come automatizzare l'installazione e la distribuzione di Podman utilizzando Ansible