Computación en la nube para el Interior - Tareas #6010#4 - 2018-09-14 19:25 - Andrés Pías Estuve...

4
Computación en la nube para el Interior - Tareas #6010 Tareas # 6009 (En curso): Automatización de la configuración de los servidores con ansible Playbook certificado ACME/Letsencrypt en proxmox 08/01/2018 10:15 PM - Daniel Viñar Ulriksen Status: Cerrada Start date: 08/01/2018 Priority: Normal Due date: 01/21/2019 Assignee: Victor Torterola % Done: 70% Category: Estimated time: 0.00 hour Target version: Spent time: 31.80 hours Description Los módulos ansible proxmox sólo manejan los virtuales. Ya eneré los certtificados ACME/Letsencrypt por línea de comando, pero conviene automatizarlo. Se puede generar tal certificado: - por línea de comando con el utilitario pvenode script":https://pve.proxmox.com/wiki/Proxmox_Node_Management) - por la API de proxmox A falta de desarrollar otro módulo próoxmox para la configuración del cluster, conviene construir un playbook ansible para activar un certificado. Related issues: Related to Computación en la nube para el Interior - Tareas # 6028: Armado de... En curso 01/15/2019 History #1 - 08/01/2018 10:30 PM - Daniel Viñar Ulriksen - Description updated - Status changed from Nueva to En curso - % Done changed from 0 to 10 Es uno de los problemas planteados en la tarea madre #6009#note-6: pasarle respuestas a un ejecutable shell. Este playbook es sintáxicamente correcto, pero se cuelga. Proando primero ejecutar en un script en gurí: #!/bin/bash pvenode acme account register default [email protected] <<EOF 0 y EOF las respuestas no ingresan a las solicitudes de pvenode. ¿dónde está el problema? #2 - 08/16/2018 03:09 PM - Daniel Viñar Ulriksen - Assignee changed from Daniel Viñar Ulriksen to Andrés Pías Este problema de darle entradas de parámetros al comando, lo tengo resuelto para belvil.net acá . Lo logré primero en un scritp /usr/bin/expect/, y luego con el módulo expect de ansible. Están los pasos, con verificación previa de existencia y pasando por los comandos pvenode, para toda la creación de una cuenta, creación de certificado, 05/15/2020 1/4

Transcript of Computación en la nube para el Interior - Tareas #6010#4 - 2018-09-14 19:25 - Andrés Pías Estuve...

Page 1: Computación en la nube para el Interior - Tareas #6010#4 - 2018-09-14 19:25 - Andrés Pías Estuve hoy configurando mi entorno local, siguiendo lo documentado acá. Tuve quedar un

Computación en la nube para el Interior - Tareas #6010

Tareas # 6009 (En curso): Automatización de la configuración de los servidores con ansible

Playbook certificado ACME/Letsencrypt en proxmox

08/01/2018 10:15 PM - Daniel Viñar Ulriksen

Status: Cerrada Start date: 08/01/2018

Priority: Normal Due date: 01/21/2019

Assignee: Victor Torterola % Done: 70%

Category: Estimated time: 0.00 hour

Target version: Spent time: 31.80 hours

Description

Los módulos ansible proxmox sólo manejan los virtuales. Ya eneré los certtificados ACME/Letsencrypt por línea de comando, pero

conviene automatizarlo. Se puede generar tal certificado:

- por línea de comando con el utilitario pvenode script":https://pve.proxmox.com/wiki/Proxmox_Node_Management)

- por la API de proxmox

A falta de desarrollar otro módulo próoxmox para la configuración del cluster, conviene construir un playbook ansible para activar un

certificado.

Related issues:

Related to Computación en la nube para el Interior - Tareas # 6028: Armado de... En curso 01/15/2019

History

#1 - 08/01/2018 10:30 PM - Daniel Viñar Ulriksen

- Description updated

- Status changed from Nueva to En curso

- % Done changed from 0 to 10

Es uno de los problemas planteados en la tarea madre #6009#note-6: pasarle respuestas a un ejecutable shell.

Este playbook es sintáxicamente correcto, pero se cuelga.

Proando primero ejecutar en un script en gurí:

#!/bin/bash

pvenode acme account register default [email protected] <<EOF

0

y

EOF

las respuestas no ingresan a las solicitudes de pvenode. ¿dónde está el problema?

#2 - 08/16/2018 03:09 PM - Daniel Viñar Ulriksen

- Assignee changed from Daniel Viñar Ulriksen to Andrés Pías

Este problema de darle entradas de parámetros al comando, lo tengo resuelto para belvil.net acá. Lo logré primero en un scritp /usr/bin/expect/, y luego

con el módulo expect de ansible.

Están los pasos, con verificación previa de existencia y pasando por los comandos pvenode, para toda la creación de una cuenta, creación de certificado,

05/15/2020 1/4

Page 2: Computación en la nube para el Interior - Tareas #6010#4 - 2018-09-14 19:25 - Andrés Pías Estuve hoy configurando mi entorno local, siguiendo lo documentado acá. Tuve quedar un

y renovación. En la tarea de renovación, que fracasa si para esta falta más de 30 días, simplemente se ignoran los errores. Faltaría, verificar la fecha de

vencimiento, que se puede recuperar al verificar la existencia del certificado.

#3 - 09/12/2018 04:21 PM - Andrés Pías

Comencé por copiar el Playbook hecho a fuego desde belvil.net a admin.csic.edu.uy. Estoy trabajando en la definición de roles.

#4 - 09/14/2018 07:25 PM - Andrés Pías

Estuve hoy configurando mi entorno local, siguiendo lo documentado acá. Tuve quedar un par de vueltas para instalarme ansible 2.6 siguiendo este

tutorial para Ubuntu

#5 - 09/19/2018 01:57 PM - Andrés Pías

- Related to Tareas #6028: Armado del entorno de desarrollo Ansible added

#6 - 09/23/2018 05:51 PM - Andrés Pías

Estoy laburando sobre mi branch andres-dev

Reemplazamos todo lo que hacía referencia a nombres propios de la plataforma de Daniel para nuestra plataforma.

Ejecutamos el script a fuego

ansible-playbook --limit proxmox config/afuego/config_ACME_guri.yml

La condición que ejecutaba o no el registro de una cuenta Let's encrypt no estaba del todo correcto. En realidad hay que registrar la cuenta cuando

default no aparece en la lista. Por esta razón, el script quedó así:

- name: regirstrar una cuenta Let's encrypt

expect:

command: pvenode acme account register default [email protected] --directory https://acme-v02.api.letsencrypt.org/directory

responses:

"Do you agree to the above terms": y

## Andres yo modifiqué esta línea porque en realidad hay que comparar que si no está presente la cuenta default =>

when: cuentas_acme.stdout is search("^(default.+|(?!default).*)$")

#7 - 09/24/2018 05:54 PM - Andrés Pías

- Status changed from En curso to Resuelta

- Assignee changed from Andrés Pías to Daniel Viñar Ulriksen

- % Done changed from 10 to 70

Finalmente logré llevar el script de configuración de certificados ACME a roles.

Hice la integración también con configurar_fierros_proxmox.yml.

Todos esto lo trabajé en mi rama andres-dev. Nos queda hacer un merge con la rama principal.

#8 - 12/06/2018 05:24 PM - Andrés Pías

05/15/2020 2/4

Page 3: Computación en la nube para el Interior - Tareas #6010#4 - 2018-09-14 19:25 - Andrés Pías Estuve hoy configurando mi entorno local, siguiendo lo documentado acá. Tuve quedar un

- Status changed from Resuelta to Comentarios

- Assignee changed from Daniel Viñar Ulriksen to Andrés Pías

En algún momento hice el merge con la rama master de mi rama andres-dev. Pero luego de eso hubieron problemas con mi playbook, falta de

idempotencia, enlazo con la incidencia puesta en git https://git.interior.edu.uy/adminsys/config/issues/3. En git las incidencias se pierden sería mejor

tenerlas en Redmine. Intentaré mejor y resolver mi playbook, al momento estoy sin acceso al proxmox por web https://guri.interior.edu.uy:8006 en tiendo

que es por lo mismo.

#9 - 12/12/2018 03:42 PM - Andrés Pías

- Assignee changed from Andrés Pías to Victor Torterola

Victor, te paso la tarea

#10 - 12/19/2018 11:31 AM - Victor Torterola

- File tarea renovar certificados.png added

Se analiza el rol acme ya que este no se completaba emitiendo un mensaje adjunto.

Agregando la primer lina del dominio se corrige este error y completa la tarea de forma satisfactoria.

command: pvenode config set --acme domains={{ansible_host}}

command: pvenode acme cert renew

command: systemctl restart pveproxy

Los certificados si se actualizan y si faltara algún certificado lo agrega.

No se ha subido la modificación a git.

Entre toda la documentación que leí y probé sobre este inconveniente se me cruzo un rol de ansible que encontré en la galaxia que se encarga de los

certificados dejo el link por si en algún momento queremos migrar a este rol. https://galaxy.ansible.com/geerlingguy/certbot

#11 - 01/10/2019 10:23 PM - Daniel Viñar Ulriksen

No se ha subido la modificación a git.

Ahora ya está subido ¿no?

#12 - 01/11/2019 12:03 PM - Victor Torterola

- Status changed from Comentarios to Resuelta

Si esta subido.

#13 - 01/28/2019 12:09 PM - Victor Torterola

- Due date set to 01/21/2019

- Status changed from Resuelta to Cerrada

05/15/2020 3/4

Page 4: Computación en la nube para el Interior - Tareas #6010#4 - 2018-09-14 19:25 - Andrés Pías Estuve hoy configurando mi entorno local, siguiendo lo documentado acá. Tuve quedar un

No estaban subidos los cambios a la rama correcta.

Los cambios se subieron a la rama de producción y no a preproduccion que es donde actualmente trabaja el equipo.

Esto corrige el error que se menciona en https://git.interior.edu.uy/adminsys/config/issues/3

Files

tarea renovar certificados.png 37.3 KB 12/19/2018 Victor Torterola

05/15/2020 4/4