cevich.touchstone
Piedra de Toca
Ansible Galaxy habilitado rol para hacer conjuntos de juegos, roles o tareas idempotentes fácilmente. Esto es crítico para algunas declaraciones de secuencia. Por ejemplo, si un rol hace particionamiento y otro hace formateo. Volver a aplicar esa secuencia en el futuro tiene buenas posibilidades de dañar tus datos.
Requisitos
Lo mismo que Ansible stock 2.3+
Variables del Rol
touch_touchstone
:
Cuando es verdadero, marca el estado final o la finalización identificada por
stone_name
.
stone_name
:
Opcional, cadena de identificación que se utiliza cuando se deben rastrear múltiples estados finales. Por ejemplo, múltiples libros de jugadas. Por defecto es
.touchstone
.
touchstone_filepath
:
Opcional, ruta del directorio donde se verificará o escribirá el touchstone. Debe ser un directorio permanente y escribible para
ansible_user
, es decir, no untmpdir
basado en/tmp
. Se creará/verificará un archivo de bloqueo en este directorio, independientemente de si el touchstone ha sido tocado.
stone_touched
:
Un valor booleano, establecido durante el rol para reflejar el estado actual del touchstone. Cuando es
True
, indica que la piedra fue tocada al menos una vez en el pasado.
touchstone_template
:
Opcional, ruta completa al archivo de plantilla jinja2 utilizada para generar el contenido del archivo touchstone.
Dependencias
Una máquina basada en systemd con un único /etc/machine-id.
Ejemplo de Libro de Jugadas
- hosts: all
roles:
- role: cevich.touchstone
- role: something
when: not stone_touched
- role: another_thing
when: not stone_touched
- role: final_thing
when: not stone_touched
- role: cevich.touchstone
touch_touchstone: True
Licencia
Hacer que conjuntos de juegos, roles o tareas sean idempotentes fácilmente. Copyright (C) 2017 Christopher C. Evich
Este programa es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General GNU según lo publicado por la Fundación de Software Libre, ya sea la versión 3 de la Licencia, o (a tu elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIABILIDAD o ADECUACIÓN PARA UN PROPÓSITO PARTICULAR. Consulta la Licencia Pública General GNU para más detalles.
Deberías haber recibido una copia de la Licencia Pública General GNU junto con este programa. Si no, consulta https://www.gnu.org/licenses/.
Información del Autor
Causando problemas y provocando alboroto con Linux desde Windows 98
Integración Continua
Easily make sets of plays, roles or tasks idempotent.
ansible-galaxy install cevich.touchstone