Bagaimana cara saya mengkonfirmasi alasan mengapa tugas yang mungkin tidak ada dalam daftar berjalan
Saat saya menjalankan pedoman, hanya satu tugas yang akan ditampilkan
playbook: test.yaml
play #1 (lab): lab TAGS: []
tasks:
Install pip TAGS: []
Dan ketika saya mengeksekusi playbook, itu memang 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
dan di /var/log/ansible.log juga terlihat normal sama seperti keluaran Eksekusi
Jadi pertanyaannya adalah, apakah saya harus melakukan lebih sedikit pengaturan? Mengapa ada tugas yang tidak ada dalam daftar eksekusi, atau ada keluaran debug lain yang dapat menampilkan informasi keluaran yang lebih detail?
berikut adalah konfigurasi
versi OS saya yang memungkinkan : Ubuntu 18.04.5 LTS
versi yang memungkinkan:
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]
pedoman saya:
---
- hosts: lab
roles:
- { role: apache2, become: yes }
- { role: pip, become: yes }
jalur konfigurasi peran apache2 : /etc/ansible/roles/apache2/tasks/maim.yaml
---
- name: Install apache2
apt:
name: apache2
update_cache: yes
jalur konfigurasi peran pip : /etc/ansible/roles/pip/tasks/main.yaml
---
- name: Install pip
apt:
name: python-pip
update_cache: yes
berikut adalah invotory saya yang diperbolehkan & ansible.cfg invotory
[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
Jawaban
Tugas yang tidak ada dalam daftar eksekusi Anda saat menggunakan ansible-playbook --list-tasks your_playbook.yml
adalah tugas yang terkait dengan pengumpulan fakta yang dilakukan oleh setupmodul
Ini adalah tugas otomatis implisit yang diaktifkan secara default untuk semua host di permainan Anda. Jika tersirat, itu tidak dilaporkan oleh perintah di atas.
Anda dapat mengontrol pengumpulan fakta di level permainan dengan gather_facts
kata kunci play , misalnya
---
- name: Some play without facts gathering
hosts: my_group
gather_facts: false
tasks:
- name: dummy demo task
debug:
msg: I am dummy task
Mengenai pertanyaan Anda tentang output yang lebih detail, Anda dapat mengaktifkan ansible(-playbook)
mode verbose dengan -v(vv)
sakelar (semakin banyak v
, semakin detail).