Bagaimana cara saya mengkonfirmasi alasan mengapa tugas yang mungkin tidak ada dalam daftar berjalan

Aug 18 2020

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

1 Zeitounator Aug 18 2020 at 16:14

Tugas yang tidak ada dalam daftar eksekusi Anda saat menggunakan ansible-playbook --list-tasks your_playbook.ymladalah 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).