Ansible-role-nginx-config: A configuração de nginx.conf com valores padrão falha com nginx_config_main_template_enable definido como verdadeiro

Criado em 17 jun. 2021  ·  4Comentários  ·  Fonte: nginxinc/ansible-role-nginx-config

Descreva o bug

Estou tentando substituir a configuração de juste um ( server_names_hash_bucket_size ) no modelo principal padrão.
Comentários no estado do arquivo "# Padrões são os valores encontrados em uma nova instalação do NGINX." então pensei que ativar nginx_config_main_template_enable e apenas substituir a subchave certa resolveria o problema, pois manteria os outros valores.

Isso não funcionou, então comentei minha modificação sobre a configuração personalizada e tentei aplicar a função com apenas nginx_config_main_template_enable definido como true mas também falhou.

Usar a função com nginx_config_main_template_enable definida como true falha com os valores de função padrão.

Reproduzir

Passos para reproduzir o comportamento:

  1. Implante a função NGINX Config 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. O erro de saída é (com a opção -vvv para detalhamento)
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'"
}

Não tenho mais informações sobre em qual 'objeto dict' ele falha, pois a tarefa Dynamically generate NGINX main configuration file tem valores padrão de fallback para o arquivo dest ( /etc/nginx/nginx.conf ) e, portanto, não deve falhar.

Comportamento esperado

Os comentários dizem "# Padrões são os valores encontrados em uma nova instalação do NGINX." portanto, ele deve criar um arquivo nginx.conf padrão com valores padrão.

Seu ambiente:

  • a Principal
  • Versão do Ansible: ansible 2.9.17
  • Versão do Jinja2: 2.11.2
  • Plataforma de implantação de destino: Debian Buster
bug

Todos 4 comentários

Encontrei o bug e, como é tradição, encontrei alguns outros bugs enquanto fazia isso. Um deles é que o comentário # Defaults are the values found in a fresh NGINX installation não é mais verdadeiro. Espero ter um PR pronto o mais rápido possível. A declaração padrão pode ainda não ser totalmente verdadeira após a correção, mas deve estar mais próxima do que é agora 😄

Perfeito, fique de olho nisso então:)

148 deveria ter corrigido este problema. Verifique e lmk! 😄

Olá, o PR parece ter resolvido o problema de fato (apenas tive que certificar-se de atualizar o usuário para www-data, pois é o usuário www padrão no Debian e o usuário nginx não existia no meu sistema). Obrigado pela solução rápida:)

Esta página foi útil?
0 / 5 - 0 avaliações