Lors de l'écriture de fichiers modèles à l'aide de Jinja2 pour Saltstack, je définis souvent certaines variables au début du fichier. Par exemple:
{% set ip = grains['ip4_interfaces']['eth1'][0] %}
{% set domain = pillar['company_domain'] %}
{% set version = pillar['site_version'] %}
{% set site_url = 'www.' + domain %}
[...]
Tout fonctionne bien mais lors de l'ouverture du fichier généré, j'obtiens un bloc de lignes vides où se trouvait le code jinja.
Est-ce que je fais quelque chose de mal ? Sinon, existe-t-il un moyen de se débarrasser de ces lignes vides lors de l'utilisation de modèles?
Il y a contrôle des espaces dans Jinja2. Vous voudrez peut-être:
{%- set ip = grains['ip4_interfaces']['eth1'][0] -%}
{%- set domain = pillar['company_domain'] -%}
{%- set version = pillar['site_version'] -%}
{%- set site_url = 'www.' + domain -%}
[...]
De plus, le sel fichier de configuration prend en charge jinja_trim_blocks
et jinja_lstrip_blocks
(jinja_env:trim_blocks
, jinja_env:lstrip_blocks
, jinja_sls_env:trim_blocks
, et jinja_sls_env:lstrip_blocks
à partir de 2018. ).