Ansible - Troubleshooting

Strategi paling umum untuk men-debug Playbook yang mungkin menggunakan modul yang diberikan di bawah ini -

Debug dan Daftar

Keduanya adalah modul yang tersedia di Ansible. Untuk tujuan debugging, kita perlu menggunakan dua modul dengan bijaksana. Contohnya ditunjukkan di bawah ini.

Gunakan Verbositas

Dengan perintah Ansible, seseorang dapat memberikan tingkat verbositas. Anda dapat menjalankan perintah dengan tingkat verbositas satu (-v) atau dua (-vv).

Poin Penting

Pada bagian ini, kita akan membahas beberapa contoh untuk memahami beberapa konsep.

Jika Anda tidak mengutip argumen yang dimulai dengan variabel. Sebagai contoh,

vars: 
   age_path: {{vivek.name}}/demo/ 
   
{{vivek.name}}

Ini akan menimbulkan kesalahan.

Larutan

vars: 
   age_path: "{{vivek.name}}/demo/" – marked in yellow is the fix. 
 
How to use register -> Copy this code into a yml file say test.yml and run it  
--- 
#Tsting 
- hosts: tomcat-node 
   tasks: 
 
   - shell: /usr/bin/uptime 
      register: myvar 
      - name: Just debugging usage 
         debug: var = myvar

Ketika saya menjalankan kode ini melalui perintah Ansible-playbook -i hosts test.yml, saya mendapatkan output seperti yang ditunjukkan di bawah ini.

Jika Anda melihat yaml, kami telah mendaftarkan output dari perintah ke dalam variabel - myvar dan baru saja mencetak hasilnya.

Teks bertanda kuning, memberitahu kita tentang properti dari variabel –myvar yang dapat digunakan untuk kontrol aliran lebih lanjut. Dengan cara ini kita dapat mengetahui tentang properti yang diekspos dari variabel tertentu. Perintah debug berikut membantu dalam hal ini.

$ ansible-playbook -i hosts test.yml 

PLAY [tomcat-node] ***************************************************************
**************** ****************************************************************
*************** ****************************** 
 
TASK [Gathering Facts] *****************************************************************
************** *****************************************************************
************** ************************** 
Monday 05 February 2018  17:33:14 +0530 (0:00:00.051) 0:00:00.051 ******* 
ok: [server1] 
 
TASK [command] ******************************************************************
************* ******************************************************************
************* ********************************** 
Monday 05 February 2018  17:33:16 +0530 (0:00:01.697) 0:00:01.748 ******* 
changed: [server1] 
 
TASK [Just debugging usage] ******************************************************************
************* ******************************************************************
************* ********************* 
Monday 05 February 2018  17:33:16 +0530 (0:00:00.226) 0:00:01.974 ******* 
ok: [server1] => { 
   "myvar": { 
      "changed": true, 
      "cmd": "/usr/bin/uptime", 
      "delta": "0:00:00.011306", 
      "end": "2018-02-05 17:33:16.424647", 
      "rc": 0, 
      "start": "2018-02-05 17:33:16.413341", 
      "stderr": "", 
      "stderr_lines": [], 
      "stdout": " 17:33:16 up 7 days, 35 min,  1 user,  load average: 0.18, 0.15, 0.14", 
      "stdout_lines": [ 
         " 17:33:16 up 7 days, 35 min,  1 user,  load average: 0.18, 0.15, 0.14" 
      ] 
   } 
} 
 
PLAY RECAP ****************************************************************************
**********************************************************************************
 ************************************** 
server1 : ok = 3    changed = 1    unreachable = 0    failed = 0

Masalah Umum Playbook

Di bagian ini, kita akan belajar tentang beberapa masalah pedoman umum. Masalahnya adalah -

  • Quoting
  • Indentation

Playbook ditulis dalam format yaml dan dua di atas adalah masalah paling umum di yaml / playbook.

Yaml tidak mendukung indentasi berbasis tab dan mendukung indentasi berbasis spasi, jadi orang harus berhati-hati dalam hal yang sama.

Note - setelah Anda selesai menulis yaml, buka situs ini (https://editor.swagger.io/) dan salin tempel yaml Anda di sisi kiri untuk memastikan bahwa yaml terkompilasi dengan benar. Ini hanya tip.

Kesombongan memenuhi syarat kesalahan dalam peringatan dan juga kesalahan.