Comment confirmer la raison pour laquelle la tâche ansible ne figure pas dans la liste en cours
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
La tâche qui n'est pas sur votre liste d'exécution lors de l'utilisation ansible-playbook --list-tasks your_playbook.yml
est 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 v
s, plus il y a de détails).