Ansible - Solución de problemas

Las estrategias más comunes para depurar los libros de jugadas de Ansible están utilizando los módulos que se detallan a continuación:

Depurar y registrar

Estos dos son los módulos disponibles en Ansible. Para fines de depuración, debemos usar los dos módulos con prudencia. A continuación se muestran algunos ejemplos.

Usar verbosidad

Con el comando Ansible, se puede proporcionar el nivel de verbosidad. Puede ejecutar los comandos con el nivel de verbosidad uno (-v) o dos (-vv).

Puntos importantes

En esta sección, repasaremos algunos ejemplos para comprender algunos conceptos.

Si no está citando un argumento que comienza con una variable. Por ejemplo,

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

Esto arrojará un error.

Solución

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

Cuando ejecuto este código a través del comando Ansible-playbook -i hosts test.yml, obtengo el resultado como se muestra a continuación.

Si ve el yaml, hemos registrado la salida de un comando en una variable: myvar y acaba de imprimir la salida.

El texto marcado en amarillo nos informa sobre la propiedad de la variable –myvar que puede usarse para un mayor control del flujo. De esta forma podemos conocer las propiedades que se exponen de una determinada variable. El siguiente comando de depuración ayuda en esto.

$ 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

Problemas comunes del libro de jugadas

En esta sección, aprenderemos algunos problemas comunes del libro de jugadas. Los problemas son:

  • Quoting
  • Indentation

Playbook está escrito en formato yaml y los dos anteriores son los problemas más comunes en yaml / playbook.

Yaml no admite la sangría basada en tabulaciones y admite la sangría basada en el espacio, por lo que hay que tener cuidado con lo mismo.

Note - una vez que haya terminado de escribir el yaml, abra este sitio (https://editor.swagger.io/) y copie y pegue su yaml en el lado izquierdo para asegurarse de que se compile correctamente. Esto es solo un consejo.

Swagger califica los errores tanto en advertencia como en error.