Ansible-role-nginx-config: デフォルト値でnginx.confを構成すると、nginx_config_main_template_enableがtrueに設定されて失敗します

作成日 2021年06月17日  ·  4コメント  ·  ソース: nginxinc/ansible-role-nginx-config

バグを説明する

デフォルトのメインテンプレートの1つの設定( server_names_hash_bucket_size )を上書きしようとしています。
ファイルのコメントには、「#デフォルトはNGINXの新規インストールで見つかった値です」と記載されています。 そのため、 nginx_config_main_template_enableを有効にして、適切なサブキーをオーバーライドするだけで、他の値が保持されるのでうまくいくと思いました。

私は、カスタム設定についての私の変更をコメントアウトだけで役割を適用しようとしましたので、これは、仕事をしませんでしたnginx_config_main_template_enableに設定trueが、それは同様に失敗しました。

nginx_config_main_template_enabletrue設定されているロールの使用は、デフォルトのロール値では失敗します。

再現するには

動作を再現する手順:

  1. playbook.ymlを使用してNGINXConfigロールをデプロイします
- 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. 出力エラーは(冗長性のための-vvvオプションを使用)です
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'"
}

タスクDynamically generate NGINX main configuration fileはdestファイルのフォールバックデフォルト値( /etc/nginx/nginx.conf )があり、失敗しないはずなので、失敗する 'dictオブジェクト'に関する情報はこれ以上ありません。

予想される行動

コメントには、「#デフォルトは、NGINXの新規インストールで見つかった値です」と書かれています。 したがって、デフォルト値で標準のnginx.confファイルを作成する必要があります。

あなたの環境:

  • 主要
  • Ansibleのバージョン: ansible 2.9.17
  • Jinja2のバージョン: 2.11.2
  • ターゲット展開プラットフォーム: Debian Buster
bug

全てのコメント4件

バグを見つけました、そして伝統がそうであるように、それで他のいくつかのバグを見つけました。 それらの1つは、 # Defaults are the values found in a fresh NGINX installationコメントがもはや当てはまらないということです。 できるだけ早くPRの準備ができていることを望んでいます。 デフォルトのステートメントは、修正後も完全には当てはまらない可能性がありますが、現在よりも近いはずです😄

完璧です、これから目を離さないでください:)

148はこの問題を修正する必要がありました。 それをチェックして、lmk! 😄

こんにちは、PRは確かに問題を修正しているようです(Debianのデフォルトのwwwユーザーであり、nginxユーザーが私のシステムに存在しなかったため、ユーザーをwww-dataに更新する必要がありました)。 クイックフィックスをありがとう:)

このページは役に立ちましたか?
0 / 5 - 0 評価