Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:udemy:ansible:playbooks [12/09/2018 03:36] – [2.22 Register] mateinfo:cursos:udemy:ansible:playbooks [19/09/2018 00:54] (actual) – [2.11 introducción Playbooks] mate
Línia 16: Línia 16:
     * cada guión es un playbook, puede haber varios en un fichero     * cada guión es un playbook, puede haber varios en un fichero
     * **name** es opcional, pero recomendado     * **name** es opcional, pero recomendado
-  * ''ansible-play [-i inventario] [ociones] playbook.yml''+  * ''ansible-playbook [-i inventario] [ociones] playbook.yml''
  
 == 2.12 Esenciales == 2.12 Esenciales
   * hosts: lista de servidores a administrar (grupos o servidores)   * hosts: lista de servidores a administrar (grupos o servidores)
-    * si se quieren separar, usar **:**+    * si se quieren separar, usar **%%:%%**
     * se puede usar **&** para que estén en 2 grupos a la vez     * se puede usar **&** para que estén en 2 grupos a la vez
     * se puede usar **!**     * se puede usar **!**
 +
 <code yaml> <code yaml>
 hosts: serweb # un grupo, afecta a todas las máquinas hosts: serweb # un grupo, afecta a todas las máquinas
Línia 53: Línia 54:
     * ''--step'' : confirmar cada una de las tareas, cada uno de los playbooks     * ''--step'' : confirmar cada una de las tareas, cada uno de los playbooks
     * ''--start-at-task=<tarea>'' : permite saltarse tareas, le indicamos a partir de cual     * ''--start-at-task=<tarea>'' : permite saltarse tareas, le indicamos a partir de cual
-    * ''--forks|[-f]=#'' : número de tareas en paralelo a ejecutar (por defecto, 5)+    * ''--forks|[-f]%%=#%%'' : número de tareas en paralelo a ejecutar (por defecto, 5)
     * ''-v | -vv | -vvv'' : más verbosidad     * ''-v | -vv | -vvv'' : más verbosidad
  
Línia 360: Línia 361:
  
 == 2.23 Ignore Errors == 2.23 Ignore Errors
 +las tareas erróneas paran el playbook, usando ''ignore_errrors = True'' evitamos que la tarea errónea pare la ejecución
 +
 +<code yaml>
 +- name: comprobar si fichero existe
 +  command: ls /noexiste.conf
 +  registar: existe
 +  ignore_errors = true
 +  
 +- name: mostrar errores
 +  debug: var=existe.stderr_lines
 +  
 +</code>
 +
 +se puede usar a nivel de tarea o de playbook <- CUIDADO! todos los errores serán ignorados
 +
 +se pueden usar condicionales ''not <var_register>|failed'' para realizar tareas complementarias en caso de error 
 +<code yaml>
 +- name: mostrar salida
 +  debug: var=existe.stdout_lines
 +  when: not salida|failed
 +[  when: salida|failed != False ] # expresión equivalente
 +  
 +- name: mostrar errores
 +  debug: var=existe.stderr_lines
 +  when: salida|failed
 +</code>
  
 == 2.24 Failed When == 2.24 Failed When
 +''failed_when'' o ''changed_when'' permiten especificar las condiciones para marcar una tarea como fallida o cambiada, respectivamente
 +
 +un comando es marcado como erróneo si su **rc** (return code) es != 0 -> ''$?''
 +
 +<code yaml; siempre retornará changed>
 +- name: ejecutar comando
 +  command: ip a
 +</code>
 +
 +<code yaml; da error si no existe la interfaz eth2>
 +- name: ejecutar comando
 +  command: ip a
 +  register: salida
 +  failed_when: "'eth2' not in salida.stdout"
 +</code>
 +
 +<code yaml; no la marca como cambiada>
 +- name: no marcar nunca como cambiado
 +  command: uptime
 +  changed_when: False
 +</code>
  
 +se pueden combinar en la misma tarea juntas
  
  • info/cursos/udemy/ansible/playbooks.1536748579.txt.gz
  • Darrera modificació: 12/09/2018 03:36
  • per mate