Files
SavaneWiki/docs/Ansible/2024-07-19-ansible-pense-bete.md

2.1 KiB
Raw Blame History

title, summary, author, date
title summary author date
Pense-bête Ansible Trucs et astuces pour Ansible
JF
2024-07-19

Pense-bête Ansible

Pour tester du jinja Ansible : J2Live Online Jinja2 Parser and Renderer by TTL255

Syntaxe if

'{%- if env_trigramme not in ['pro'] %}[{{ env_without_pi | upper }}]{% endif -%}'

Affichera '' si env_trigramme: pro ou 'ENV' si env_trigramme: env.

Ternary pour choisir la valeur d'une variable selon un état vrai ou faux

- name: "{{ boolean_var is not defined|ternary('is true', variable + 'is false') }}"

Source : ansible.builtin.ternary filter Ternary operation filter


Renvoi le chemin du fichier à trouver entre deux.

- name: Test paths
  tags: always
  ansible.builtin.stat:
    path: "{{ item }}"
  loop:
    - /first/path/to/test
    - /second/path/to/test
  register: paths_stat

- name: Set found path
  ansible.builtin.set_fact:
    postmaster_path: "{{ item.stat.path }}"
  loop: "{{ paths_stat.results }}"
  when: item.stat.exists

Source : ansible.builtin.stat module Retrieve file or file system status


Installation de tous les rpms présents dans un répertoire.

Exemple de paquets pour RabbitMQ.

#rpm_install "../packages/$DISTRIBUTION/rpms_erlang2/*.rpm"
- name: Find rpms to install
  ansible.builtin.find:
    paths: "{{ sc_src_tmp }}/"
    patterns: "*.rpm"
    use_regex: false
    recurse: true
  register: found_rpm_files
- name: found rpm files
  debug:
    var: found_rpm_files.files.path
- name: Setting rpms loop to install
  ansible.builtin.set_fact:
    rpm_list: "{{ found_rpm_files.files | map(attribute='path') | list }}"

- name: Install RabbitMQ rpms
  ansible.builtin.dnf:
    disable_gpg_check: true
    name: '{{ rpm_list }}'
    state: installed
  register: rpms_installed
- debug:
    msg: "Installed rpms: {{ rpms_installed.results }}"