Ansible-role-nginx-config: La configuración de nginx.conf con valores predeterminados falla con nginx_config_main_template_enable establecido en verdadero

Creado en 17 jun. 2021  ·  4Comentarios  ·  Fuente: nginxinc/ansible-role-nginx-config

Describe el error

Estoy tratando de anular solo una configuración ( server_names_hash_bucket_size ) en la plantilla principal predeterminada.
Comentarios en el estado del archivo "# Los valores predeterminados son los valores encontrados en una instalación nueva de NGINX". así que pensé que habilitar nginx_config_main_template_enable y simplemente anular la subclave correcta haría el truco, ya que mantendría los demás valores.

Esto no funcionó, así que comenté mi modificación sobre la configuración personalizada e intenté aplicar el rol con solo nginx_config_main_template_enable establecido en true pero también falla.

El uso del rol con nginx_config_main_template_enable establecido en true falla con los valores de rol predeterminados.

Reproducir

Pasos para reproducir el comportamiento:

  1. Implementar el rol de configuración NGINX usando playbook.yml
- name: NGINX
  hosts: nginx
  debugger: on_failed
  become: true

  pre_tasks:
  - name: Enabling nginx_config_main_template
    set_fact:
      nginx_config_main_template_enable: true
  roles:
  - role: nginxinc.nginx
  - role: nginxinc.nginx-config
  1. El error de salida es (con la opción -vvv para verbosidad)
TASK [nginxinc.nginx-config : Dynamically generate NGINX main configuration file] ***********************************************************************************************************
task path: /home/xxx/ansible/yyy/roles/nginxinc.nginx-config/tasks/config/template-config.yml:37
fatal: [nginx_0]: FAILED! => {
    "changed": false,
    "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'dest'"
}

No tengo más información sobre en qué 'objeto dict' falla, ya que la tarea Dynamically generate NGINX main configuration file tiene valores predeterminados de respaldo para el archivo dest ( /etc/nginx/nginx.conf ) y, por lo tanto, no debería fallar.

Comportamiento esperado

Los comentarios dicen "# Los valores predeterminados son los valores que se encuentran en una instalación nueva de NGINX". por lo que debería crear un archivo nginx.conf estándar con valores predeterminados.

Tu entorno:

  • principal
  • Versión de Ansible: ansible 2.9.17
  • Versión de Jinja2: 2.11.2
  • Plataforma de implementación de destino: Debian Buster
bug

Todos 4 comentarios

Encontré el error y, como es tradición, encontré algunos otros errores mientras lo hacía. Uno de ellos es que el comentario # Defaults are the values found in a fresh NGINX installation ya no es válido. Espero tener un PR listo lo antes posible. Es posible que la declaración de valores predeterminados aún no sea del todo cierta después de la corrección, pero debería estar más cerca de lo que es ahora 😄

Perfecto, vigilando esto entonces :)

148 debería haber solucionado este problema. ¡Compruébalo y lmk! 😄

Hola, el RP parece solucionar el problema de hecho (solo tenía que asegurarse de actualizar el usuario a www-data ya que es el usuario www predeterminado en Debian y el usuario nginx no existía en mi sistema). Gracias por la solución rápida :)

¿Fue útil esta página
0 / 5 - 0 calificaciones