SlideShare una empresa de Scribd logo
Testing Ansible
Playbook with
Molecule
by Mario Inga
Agenda
1. Contexto
2. Molecule
3. Demos
4. Preguntas
1. Teníamos un Aws EC2 para pruebas de cargas
manuales.
Contexto
1. Teníamos un Aws EC2 para pruebas de cargas
manuales.
2. Luego pasaron a ser 8 instancias de EC2.
3. Finalmente agregaron otras 6 instancias EC2 con GPU.
Contexto
1. Teníamos un Aws EC2 para pruebas de cargas
manuales.
2. Luego pasaron a ser 8 instancias de EC2.
3. Finalmente agregaron otras 6 instancias EC2 con GPU.
4. A veces instalaban paquetes que rompían el server.
5. No aplicar el Playbook mientras estaban usando.
6. Coordinar una fecha/hora era complicado pues distintas
zonas horarias.
Contexto
Server broken
1. Replicar el mismo entorno.
2. Aplicar el Ansible Playbook
3. Validar el Ansible Playbook antes de aplicar.
4. Self Service para aplicar los cambios cuando Dev
Team desee.
Retos
Self Service
Planteamientos
1. Aislar un nodo y probar el playbook ahí.
2. Sacar una copia y crear una instancia donde aplicar
playbook.
3. Hacer scripts para crear y configurar una instancia EC2,
aplicar playbook, luego validar y finalmente eliminar.
4. Pensar en una solución que no necesite usar AWS
(amazonlinux:2, ya existe como docker image).
- Opensource
- Testing for Playbooks y Roles
- Addons:
- Docker
- Aws
- GCP
- Etc
- https://ansible.readthedocs.io/projects/molecule/
Molecule
Fases de Molecule
1. Create
2. Converge
3. Verify
Fases de Molecule
1. Create
2. Converge
3. Verify
Fases de Molecule
1. Create
2. Converge
3. Verify
Demo!
Demo!
1. Molecule + Docker + TestInfra
2. Molecule + AWS + TestInfra
Code https://github.com/mario21ic/molecule-demos
Packer + Ansible + Molecule + TestInfra
- Packer = conexión al provider (docker, aws, gcp, azure,
virtualbox, etc)
- Ansible = automatización de ops (instalacion,
configuracion, etc)
- Molecule = testing de Ansible playbooks y roles
- TestInfra = asserts en Python
Un solo recetario para dominarlos a todos los providers
Recomendaciones
- No existe la bala de plata
- Evitar obsession tool
- Aprendamos primero los fundamentos
Preguntas?
Me: @mario21ic
Comunidad: @devopspe

Más contenido relacionado

PPTX
Introduccion a Ansible
Osvaldo
 
PDF
Provisión Automática de máquinas con Ansible
Carlos Gimeno Yáñez
 
PDF
Ansible
Esteban Saavedra
 
PPTX
Ansible DevOps Day Peru 2016
Raul Hugo
 
PDF
Testing Day Peru 2025 Introducción al testing en Infrastructure as Code
Mario IC
 
PDF
RAG en AWS llevando la IA Generativa al Siguiente Nivel
Mario IC
 
PPTX
Seguridad Digital un encuentro con la Criptografía de la mano de AWS KMS
Mario IC
 
PPTX
AWS Community Day Peru 2024 - Generative IA con AWS Bedrock + Langchain
Mario IC
 
Introduccion a Ansible
Osvaldo
 
Provisión Automática de máquinas con Ansible
Carlos Gimeno Yáñez
 
Ansible DevOps Day Peru 2016
Raul Hugo
 
Testing Day Peru 2025 Introducción al testing en Infrastructure as Code
Mario IC
 
RAG en AWS llevando la IA Generativa al Siguiente Nivel
Mario IC
 
Seguridad Digital un encuentro con la Criptografía de la mano de AWS KMS
Mario IC
 
AWS Community Day Peru 2024 - Generative IA con AWS Bedrock + Langchain
Mario IC
 

Más de Mario IC (20)

PPTX
Pentesting Kubernetes con AWS EKS GuardDuty Detective ECR e Inspector
Mario IC
 
PPTX
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Mario IC
 
PPTX
Aws Security Latam - Criptografia con KMS
Mario IC
 
PDF
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC
 
PDF
Automatización de tareas con Ansible
Mario IC
 
PDF
Earthly, Dockerfile con esteroides
Mario IC
 
PDF
Infraestructura como Codigo para Developers
Mario IC
 
PDF
Terraspace, the definitive terraform framework
Mario IC
 
PDF
Manejo de packages en Kubernetes con Helm
Mario IC
 
PPTX
Cloud native Computing Perú Octubre
Mario IC
 
PDF
Agiles Peru 2019 - Infrastructure As Code
Mario IC
 
PDF
Workshop Infrastructure as Code - Suestra
Mario IC
 
PDF
Docker Compose to Production with Docker Swarm
Mario IC
 
PDF
GDG Lima - Docker Compose
Mario IC
 
PDF
Docker Lima meetup - 22 de junio
Mario IC
 
PDF
Docker Compose para el Docker Lima Meetup Mayo
Mario IC
 
PDF
Testing en BDD con Python y Behave
Mario IC
 
PDF
Infrastructure as Code with Terraform
Mario IC
 
PDF
Docker Birthday Peru #dockerbday
Mario IC
 
PDF
Modelado de API con RAML
Mario IC
 
Pentesting Kubernetes con AWS EKS GuardDuty Detective ECR e Inspector
Mario IC
 
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Mario IC
 
Aws Security Latam - Criptografia con KMS
Mario IC
 
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC
 
Automatización de tareas con Ansible
Mario IC
 
Earthly, Dockerfile con esteroides
Mario IC
 
Infraestructura como Codigo para Developers
Mario IC
 
Terraspace, the definitive terraform framework
Mario IC
 
Manejo de packages en Kubernetes con Helm
Mario IC
 
Cloud native Computing Perú Octubre
Mario IC
 
Agiles Peru 2019 - Infrastructure As Code
Mario IC
 
Workshop Infrastructure as Code - Suestra
Mario IC
 
Docker Compose to Production with Docker Swarm
Mario IC
 
GDG Lima - Docker Compose
Mario IC
 
Docker Lima meetup - 22 de junio
Mario IC
 
Docker Compose para el Docker Lima Meetup Mayo
Mario IC
 
Testing en BDD con Python y Behave
Mario IC
 
Infrastructure as Code with Terraform
Mario IC
 
Docker Birthday Peru #dockerbday
Mario IC
 
Modelado de API con RAML
Mario IC
 
Publicidad

Último (20)

PPTX
1_Gestión Integral-Sustancias Químicas_S1 (15-07-25).pptx
VictorQuispeCarranza1
 
PDF
2-ppt-implementacion-norma-tecnica prevencion de riesgo.pdf
fovalle3
 
PPTX
Manejo de Residuos Peligrosos y Químicos.pptx
EbenezerZapataHaas
 
PDF
Resumen Gestión de Proyectos - creado.pdf
JuancaSocorec1
 
PPTX
SULFUROS Y SULFOSALES EN MINERALOGIA.pptx
YamixQuispe
 
PDF
Presentacion Estadistica Inferencial.pdf
JosManuelAmbrociolun
 
PDF
JORGE LUIS MELENDEZ - Eficiencia Energética.pdf
fredy286798
 
PPTX
1_Gestión Integral-Sustancias Químicas_S1 (15-07-25).pptx
VictorQuispeCarranza1
 
PDF
Etviqueta alcvvvvvvvvvvvvvvvvvvvvvvvvvvohol.pdf
JosOjeda29
 
PPTX
TEMA 2 LA LÓGICA.pptxñknyufyuknubjkjbygbhhbk
JorgeAliGutierrezMam
 
PDF
7.0+ANALISIS+DE+PRECIOS+UNITARIOS_20241024_144215_432.pdf
MarleniKarolay
 
PDF
CLASE INDUCTANCIA nivel universitario.pdf
GerardoLinares12
 
PPTX
Estatica elementos estructurales para la edificación
LuisMedina585924
 
PPTX
6. CLASE 05 ADMINISTRACION DE OPERACIONES MINA.pptx
SalvadorMansillaBast
 
PDF
424824319-Plano-Trilladora-2.pdf de cafe maiz trigo arroz
luis312108
 
PDF
Medidas y recomendaciones para fortalecer la seguridad del Sistema Eléctrico ...
Alexis Muñoz González
 
PDF
COORDENADAS POLARES hiutiytuyuyuttu (1).pdf
davidcuevag5
 
PDF
Inducción Rajo Inca PARA INGRESO A MINA .pdf
aaron890980
 
PPTX
procedimientos administrativos en instituciones educativas publicas.pptx
DayroTaipe
 
PPT
Todos los temas sobre transformadores de distribución.ppt
yusnielvalera148
 
1_Gestión Integral-Sustancias Químicas_S1 (15-07-25).pptx
VictorQuispeCarranza1
 
2-ppt-implementacion-norma-tecnica prevencion de riesgo.pdf
fovalle3
 
Manejo de Residuos Peligrosos y Químicos.pptx
EbenezerZapataHaas
 
Resumen Gestión de Proyectos - creado.pdf
JuancaSocorec1
 
SULFUROS Y SULFOSALES EN MINERALOGIA.pptx
YamixQuispe
 
Presentacion Estadistica Inferencial.pdf
JosManuelAmbrociolun
 
JORGE LUIS MELENDEZ - Eficiencia Energética.pdf
fredy286798
 
1_Gestión Integral-Sustancias Químicas_S1 (15-07-25).pptx
VictorQuispeCarranza1
 
Etviqueta alcvvvvvvvvvvvvvvvvvvvvvvvvvvohol.pdf
JosOjeda29
 
TEMA 2 LA LÓGICA.pptxñknyufyuknubjkjbygbhhbk
JorgeAliGutierrezMam
 
7.0+ANALISIS+DE+PRECIOS+UNITARIOS_20241024_144215_432.pdf
MarleniKarolay
 
CLASE INDUCTANCIA nivel universitario.pdf
GerardoLinares12
 
Estatica elementos estructurales para la edificación
LuisMedina585924
 
6. CLASE 05 ADMINISTRACION DE OPERACIONES MINA.pptx
SalvadorMansillaBast
 
424824319-Plano-Trilladora-2.pdf de cafe maiz trigo arroz
luis312108
 
Medidas y recomendaciones para fortalecer la seguridad del Sistema Eléctrico ...
Alexis Muñoz González
 
COORDENADAS POLARES hiutiytuyuyuttu (1).pdf
davidcuevag5
 
Inducción Rajo Inca PARA INGRESO A MINA .pdf
aaron890980
 
procedimientos administrativos en instituciones educativas publicas.pptx
DayroTaipe
 
Todos los temas sobre transformadores de distribución.ppt
yusnielvalera148
 
Publicidad

Testing Ansible Playbook con Molecule + TestInfra

  • 3. 1. Teníamos un Aws EC2 para pruebas de cargas manuales. Contexto
  • 4. 1. Teníamos un Aws EC2 para pruebas de cargas manuales. 2. Luego pasaron a ser 8 instancias de EC2. 3. Finalmente agregaron otras 6 instancias EC2 con GPU. Contexto
  • 5. 1. Teníamos un Aws EC2 para pruebas de cargas manuales. 2. Luego pasaron a ser 8 instancias de EC2. 3. Finalmente agregaron otras 6 instancias EC2 con GPU. 4. A veces instalaban paquetes que rompían el server. 5. No aplicar el Playbook mientras estaban usando. 6. Coordinar una fecha/hora era complicado pues distintas zonas horarias. Contexto
  • 7. 1. Replicar el mismo entorno. 2. Aplicar el Ansible Playbook 3. Validar el Ansible Playbook antes de aplicar. 4. Self Service para aplicar los cambios cuando Dev Team desee. Retos
  • 9. Planteamientos 1. Aislar un nodo y probar el playbook ahí. 2. Sacar una copia y crear una instancia donde aplicar playbook. 3. Hacer scripts para crear y configurar una instancia EC2, aplicar playbook, luego validar y finalmente eliminar. 4. Pensar en una solución que no necesite usar AWS (amazonlinux:2, ya existe como docker image).
  • 10. - Opensource - Testing for Playbooks y Roles - Addons: - Docker - Aws - GCP - Etc - https://ansible.readthedocs.io/projects/molecule/ Molecule
  • 11. Fases de Molecule 1. Create 2. Converge 3. Verify
  • 12. Fases de Molecule 1. Create 2. Converge 3. Verify
  • 13. Fases de Molecule 1. Create 2. Converge 3. Verify
  • 14. Demo!
  • 15. Demo! 1. Molecule + Docker + TestInfra 2. Molecule + AWS + TestInfra Code https://github.com/mario21ic/molecule-demos
  • 16. Packer + Ansible + Molecule + TestInfra - Packer = conexión al provider (docker, aws, gcp, azure, virtualbox, etc) - Ansible = automatización de ops (instalacion, configuracion, etc) - Molecule = testing de Ansible playbooks y roles - TestInfra = asserts en Python Un solo recetario para dominarlos a todos los providers
  • 17. Recomendaciones - No existe la bala de plata - Evitar obsession tool - Aprendamos primero los fundamentos