Comment confirmer la raison pour laquelle la tâche ansible ne figure pas dans la liste en cours

Aug 18 2020

Lorsque j'exécute le playbook, une seule tâche sera affichée

playbook: test.yaml

  play #1 (lab): lab    TAGS: []
    tasks:
      Install pip       TAGS: []

Et quand j'exécute le playbook, c'est en effet normal

PLAY [lab] *****************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************
ok: [my_ipaddress]

TASK [Install pip] *********************************************************************************************************************
ok: [my_ipaddress]

PLAY RECAP *****************************************************************************************************************************
my_ipaddress              : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

et dans /var/log/ansible.log semblent également normaux comme la sortie d'exécution.

La question est donc de savoir si je dois faire moins de paramètres? Pourquoi y a-t-il une tâche qui ne figure pas dans la liste d'exécution, ou il existe d'autres sorties de débogage qui peuvent afficher des informations de sortie plus détaillées?

voici ma
version OS de configuration ansible : Ubuntu
18.04.5 version LTS ansible:

ansible 2.9.12
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/primula/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/primula/.local/lib/python3.6/site-packages/ansible
  executable location = /home/primula/.local/bin/ansible
  python version = 3.6.9 (default, Jul 17 2020, 12:50:27) [GCC 8.4.0]

mon livre de jeu:

---
- hosts: lab
  roles:
    - { role: apache2, become: yes }
    - { role: pip, become: yes }


chemin de configuration du rôle apache2 : /etc/ansible/roles/apache2/tasks/maim.yaml

---
  - name: Install apache2
    apt:
      name: apache2
      update_cache: yes


chemin de configuration du rôle pip : /etc/ansible/roles/pip/tasks/main.yaml

---
  - name: Install pip
    apt:
      name: python-pip
      update_cache: yes

voici mon invotory ansible & ansible.cfg

[lab]
<ipaddress> ansible_ssh_user=<user_name> ansible_ssh_pass='<ssh_pass>'  ansible_become_user=<root_user> ansible_become=true  ansible_become_pass='<root_pass>'

ansible.cfg

[defaults]
private_key_file = /root/.ssh/id_rsa
roles_path = /etc/ansible/roles
inventory      = /etc/ansible/hosts
timeout = 10
log_path = /var/log/ansible.log
deprecation_warnings = False
strategy = debug
any_errors_fatal = True

Réponses

1 Zeitounator Aug 18 2020 at 16:14

La tâche qui n'est pas sur votre liste d'exécution lors de l'utilisation ansible-playbook --list-tasks your_playbook.ymlest celle liée à la collecte des faits effectuée par le setupmodule

Il s'agit d'une tâche automatique implicite qui est activée par défaut pour tous les hôtes de votre jeu. S'il est implicite, il n'est pas signalé par la commande ci-dessus.

Vous pouvez contrôler la collecte de faits au niveau du gather_facts jeu avec le mot - clé play , par exemple

---
- name: Some play without facts gathering
  hosts: my_group
  gather_facts: false

  tasks:
    - name: dummy demo task
      debug:
        msg: I am dummy task

En ce qui concerne votre question sur une sortie plus détaillée, vous pouvez activer le ansible(-playbook)mode verbeux avec le -v(vv)commutateur (plus il y a de vs, plus il y a de détails).