Ansible-role-nginx-config: Das Konfigurieren von nginx.conf mit Standardwerten schlägt fehl, wenn nginx_config_main_template_enable auf true gesetzt ist

Erstellt am 17. Juni 2021  ·  4Kommentare  ·  Quelle: nginxinc/ansible-role-nginx-config

Beschreibe den Fehler

Ich versuche, nur eine Einstellung ( server_names_hash_bucket_size ) in der Standardhauptvorlage zu überschreiben.
Kommentare im Dateistatus "# Standardwerte sind die Werte, die in einer neuen NGINX-Installation gefunden wurden." Also dachte ich, dass das Aktivieren von nginx_config_main_template_enable und das Überschreiben des richtigen Unterschlüssels den Zweck erfüllen würde, da die anderen Werte beibehalten würden.

Dies hat nicht funktioniert, also habe ich meine Änderung an der benutzerdefinierten Einstellung auskommentiert und versucht, die Rolle mit nur nginx_config_main_template_enable auf true anzuwenden, aber es schlägt auch fehl.

Die Verwendung der Rolle, bei der nginx_config_main_template_enable auf true schlägt mit den Standardrollenwerten fehl.

Fortpflanzen

Schritte zum Reproduzieren des Verhaltens:

  1. Stellen Sie die NGINX Config-Rolle mithilfe von playbook.yml bereit
- 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. Ausgabefehler ist (mit Option -vvv für Ausführlichkeit)
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'"
}

Ich habe keine weiteren Informationen darüber, bei welchem ​​'Diktobjekt' es fehlschlägt, da die Aufgabe Dynamically generate NGINX main configuration file Fallback-Standardwerte für die Zieldatei ( /etc/nginx/nginx.conf ) hat und daher nicht fehlschlagen sollte.

Erwartetes Verhalten

Kommentare sagen "# Defaults sind die Werte, die in einer neuen NGINX-Installation gefunden werden." Es sollte also eine standardmäßige nginx.conf Datei mit Standardwerten erstellen.

Ihre Umgebung:

  • hauptsächlich
  • Version von Ansible: ansible 2.9.17
  • Version von Jinja2: 2.11.2
  • Ziel-Bereitstellungsplattform: Debian Buster
bug

Alle 4 Kommentare

Habe den Fehler gefunden und wie es Tradition ist, ein paar andere Fehler gefunden, während er dabei war. Einer davon ist, dass der Kommentar # Defaults are the values found in a fresh NGINX installation nicht mehr gilt. Ich hoffe, so schnell wie möglich eine PR bereit zu haben. Die defaults-Anweisung ist nach dem Fix möglicherweise immer noch nicht ganz richtig, aber sie sollte näher an dem liegen, was sie jetzt ist 😄

Perfekt, dann behalte das im Auge :)

148 sollte dieses Problem behoben haben. Schau es dir an und lmk! 😄

Hallo, der PR scheint das Problem tatsächlich zu beheben (musste nur sicherstellen, dass der Benutzer auf www-data aktualisiert wird, da dies der standardmäßige www-Benutzer auf Debian ist und der nginx-Benutzer auf meinem System nicht existierte). Danke für die schnelle Lösung :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen