Tidak dapat menerapkan konfigurasi saat bagian http diaktifkan. Saya mendapatkan kesalahan berikut:
"AnsibleUndefinedVariable: the inline if-expression on line 9 in 'http/grpc.j2' evaluated to false and no else section was defined."}
Konfigurasi telah disalin dari contoh ini:
https://github.com/nginxinc/ansible-role-nginx-config/blob/main/molecule/default/converge.yml
Langkah-langkah untuk mereproduksi perilaku:
# https://github.com/nginxinc/ansible-role-nginx
- name: Install NGINX
include_role:
name: nginxinc.nginx
vars:
nginx_install_from: os_repository
nginx_start: false
nginx_type: opensource
nginx_state: present
# https://github.com/nginxinc/ansible-role-nginx-config
- name: Configure NGINX
include_role:
name: nginxinc.nginx_config
vars:
nginx_config_start: false
nginx_config_cleanup: true
nginx_config_debug_output: true
nginx_config_debug_tasks: true
# top level nginx configuration
nginx_config_main_template_enable: true
nginx_config_main_template:
template_file: nginx.conf.j2
conf_file_name: nginx.conf
conf_file_location: /etc/nginx/
worker_connections: 1024
http_custom_includes:
- "/etc/nginx/sites-enabled/*.conf"
user: www-data
worker_processes: auto
pid: /var/run/nginx.pid
# http configuration section
http_enable: true
http_settings:
grpc_global:
bind:
address: $remote_addr
transparent: false
buffer_size: 4k
connect_timeout: 60s
[...]
Saya mengharapkan konfigurasi untuk diterapkan tanpa kesalahan
Tambahkan konteks lain tentang masalah di sini.
Menemukan masalah. PR datang sebentar lagi.
terima kasih atas respon cepatnya, saya akan menindaklanjuti perkembangan masalah ini.
Bisakah Anda menarik dari utama dan memeriksa apakah PR terbaru memperbaiki masalah Anda? Anda mungkin perlu melakukan beberapa penyesuaian lebih lanjut pada template Anda karena ada beberapa perubahan yang mengganggu sejak 0.3.3
, tetapi semoga contoh yang diperbarui dalam pengujian molekul akan membantu Anda mencapainya.
Saya bisa, tetapi saya masih menguji situasi konfigurasi lainnya. Saya baru saja menemukan situasi serupa dengan gzip:
gzip:
enable: true
buffers:
number: 32
size: 4k
comp_level: 1
disable:
- '"msie6"'
http_version: 1.1
min_length: 20
proxied:
- expired
types:
- text/html
vary: false
fatal: [testing-snap05.snapview.net]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: the inline if-expression on line 27 in 'http/gzip.j2' evaluated to false and no else section was defined."}
Tampaknya terkait dengan garis "proksi".
Itu kesalahan yang lebih aneh. Bisakah Anda memeriksa versi Jinja2 yang Anda gunakan? Pengujian untuk kesalahan sebelumnya dan ini berhasil dengan baik, dan saya telah melihat templat gagal untuk orang lain saat menggunakan versi Jinja2 yang lebih lama.
Ini versinya:
python3-jinja2 2.10.1-2
Saya juga mengalami masalah dalam menerapkan proxy: bagian di bawah http_settings. Itu terus diabaikan dan tidak ada yang ditulis ke nginx.conf.
proxy: # Optional -- Configure Proxy
buffer_size: 4k # Optional
buffering: true # Optional boolean
buffers: # Optional
number: 8 # Required
size: 4k # Required
busy_buffers_size: 8k # Optional
cache: false # Optional -- Set to 'false' or specify cache zone
Anda mungkin ingin memperbarui ke Jinja2 2.11.x
dan melihat apakah itu mengatasi kesalahan Anda. Re proxy
, ada kesalahan ketik di bawah defaults/main/template.yml
. Anda harus menyertakan detail proxy Anda di bawah nginx_config_http_template
. Saya akan membuat PR terpisah untuk mengatasinya secepatnya. Jika ragu, tes molekul selalu merupakan sumber kebenaran yang baik dan harus selalu berfungsi penuh.
Saya membuka masalah terpisah untuk proxy: masalah di atas untuk tidak mengirim spam yang satu ini.
Memiliki masalah yang sama dalam hal http/gzip.j2
. Mencoba memutakhirkan ke Jinja2==2.11.3
, tetapi itu juga tidak membantu.
Ini konfigurasinya:
---
nginx_config_main_template:
http_settings:
gzip:
enable: true
buffers:
number: 32
size: 16k
comp_level: 6
vary: true
proxied:
- any
types:
- "*"
Kesalahan:
"msg": "AnsibleUndefinedVariable: the inline if-expression on line 27 in 'http/gzip.j2' evaluated to false and no else section was defined.",
Baris 27 menyertakan template proxied
. Bisakah Anda mencoba menjalankan contoh di sini https://github.com/nginxinc/ansible-role-nginx-config/blob/main/molecule/default/converge.yml#L62 -L76 dan melihat apakah Anda masih mengalami masalah? Itu akan membantu menentukan apakah itu masalah dengan peran atau mungkin masih masalah Jinja2 (mungkin Jinja2 tidak memperbarui dengan benar?).