tehtbl.bootstrap
Descripción del rol
Prepara tus sistemas Debian y Ubuntu para Ansible.
Ejemplo de Playbook
Este ejemplo se toma de molecule/default/converge.yml
y se prueba en cada push, solicitud de extracción y lanzamiento.
---
- name: Convergir
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.bootstrap
La máquina en la que estás ejecutando esto puede necesitar ser preparada; utilizo este playbook para asegurarme de que todo esté en su lugar para que funcione el rol.
---
- name: Preparar
hosts: all
become: true
gather_facts: false
Variables del rol
Estas variables se establecen en defaults/main.yml
:
---
# ------------------------------------------------------------------------
# archivo de valores por defecto para bootstrap
# ------------------------------------------------------------------------
# El usuario que se utilizará para conectarse a las máquinas.
bootstrap_user: root
# Software instalado para soportar módulos marcados como "previo" (es decir, mysql_db).
# "sí", "no" o no establecido son válidos.
bootstrap_preview: true
# ¿Quieres esperar a que el host esté disponible?
bootstrap_wait_for_host: false
# El número de segundos que deseas esperar durante la prueba de conexión antes de fallar.
bootstrap_timeout: 3
# El número de reintentos durante la instalación.
bootstrap_retries: 3
Requisitos
- Acceso a un repositorio que contenga paquetes, probablemente en Internet.
- Una versión reciente de Ansible. (Las pruebas se realizan en la versión actual, anterior y siguiente de Ansible.)
Contexto
Este rol es parte de muchos roles compatibles. Echa un vistazo a mis otros roles para más información.
Compatibilidad
Este rol se ha probado en las siguientes imágenes de Docker:
contenedor | etiqueta | permitir_fallos |
---|---|---|
debian | estable | no |
debian | prueba | no |
debian | inestable | sí |
ubuntu | xenial | sí |
ubuntu | bionic | no |
ubuntu | focal | no |
ubuntu | desarrollo | sí |
Este rol se ha probado con estas versiones de Ansible:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Pruebas usando Tox
Pruebas unitarias se realizan en cada commit, solicitud de extracción, lanzamiento y periódicamente.
Si encuentras problemas, por favor regístralos en GitHub
Las pruebas se realizan utilizando Tox y Molecule:
Tox prueba múltiples versiones de Ansible. Molecule prueba múltiples distribuciones.
Para probar usando los valores por defecto (cualquier versión instalada de Ansible, espacio de nombres: tehtbl
, imagen: ubuntu
, etiqueta: latest
):
molecule test
# O selecciona una imagen específica:
IMAGE="ubuntu" molecule test
# O selecciona una imagen específica y una etiqueta específica:
IMAGE="debian" TAG="stable" tox
O puedes probar múltiples versiones de Ansible y seleccionar las imágenes correctas:
Tox permite probar múltiples versiones de Ansible. Para ejecutar las pruebas por defecto (espacio de nombres: tehtbl
, imagen: ubuntu
, etiqueta: latest
):
tox
# Para ejecutar Ubuntu (espacio de nombres: `tehtbl`, etiqueta: `latest`)
IMAGE="ubuntu" tox
# O personaliza más:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Pruebas usando Vagrant
Instala los plugins de vagrant
a través de:
vagrant plugin install vagrant-reload
Inicia las pruebas a través del proveedor VirtualBox:
vagrant up
Licencia
Licencia MIT
Información del autor
Fuentes
Este trabajo se basa en el gran trabajo de muchas personas, por ejemplo, Robert de Bock, Jeff Geerling y Thomas Waldmann. ¡Gracias!
Prepare your Debian and Ubuntu Systems for Ansible.
ansible-galaxy install tehtbl.bootstrap