¿Cómo confirmo la razón por la que la tarea ansible no está en la lista en ejecución?
Cuando ejecuto el libro de jugadas, solo se mostrará una tarea
playbook: test.yaml
play #1 (lab): lab TAGS: []
tasks:
Install pip TAGS: []
Y cuando ejecuto el libro de jugadas, es realmente 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
y en /var/log/ansible.log también se ven normales como lo mismo que la salida de ejecución.
Entonces la pregunta es, ¿tengo que hacer menos configuraciones? ¿Por qué hay una tarea que no está en la lista de ejecución o hay otras salidas de depuración que pueden mostrar información de salida más detallada?
aquí está mi
versión del sistema operativo de configuración ansible : Ubuntu 18.04.5 LTS
versión 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]
mi libro de jugadas:
---
- hosts: lab
roles:
- { role: apache2, become: yes }
- { role: pip, become: yes }
Ruta de configuración del rol apache2
: /etc/ansible/roles/apache2/tasks/maim.yaml
---
- name: Install apache2
apt:
name: apache2
update_cache: yes
Ruta de configuración del rol pip : /etc/ansible/roles/pip/tasks/main.yaml
---
- name: Install pip
apt:
name: python-pip
update_cache: yes
aquí está mi invotory ansible y invotory 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
Respuestas
La tarea que no está en su lista de ejecución cuando se usa ansible-playbook --list-tasks your_playbook.yml
es la relacionada con la recopilación de datos realizada por el setupmódulo
Es una tarea automática implícita que está activada de forma predeterminada para todos los hosts de tu juego. Si está implícito, el comando anterior no lo informa.
Puede controlar la recopilación de datos en el nivel de juego con la gather_facts
palabra clave de juego , por ejemplo
---
- name: Some play without facts gathering
hosts: my_group
gather_facts: false
tasks:
- name: dummy demo task
debug:
msg: I am dummy task
Con respecto a su pregunta sobre una salida más detallada, puede activar el ansible(-playbook)
modo detallado con el -v(vv)
interruptor ( cuantos más mensajes v
, más detalles).