Как использовать соль для проверки функциональности дзиндзя? - PullRequest
0 голосов
/ 24 мая 2019

Я ищу способ проверить, будет ли соль отображать шаблон дзиндзя так, как я ожидаю.

Если у меня есть файл template.sls, содержащий:

{% for usr in ['moe','larry','curly'] %}
{{ usr }}:
  user.present
{% endfor %}

Могу ли я запустить солт-команду, которая покажет мне обработанный шаблон?

NB: Я понимаю, что происходит рендеринг Jinja, и я могу шаблонировать его в python. Но я хочу убедиться, что я использую версию Jinja, используемую солью. AFAIK соль внедряет двигатель дзиндзя.

Пример того, что я ищу, - это солт-команда, которая будет работать аналогично следующей ансайбл-команде:

Из принятого ответа взято следующее: Как проверить шаблоны jinja2 в ansible?

3_Ansible (используется --check)
Создать тестовую пьесу jinja2test.yml:

---
- hosts: 127.0.0.1
  tasks:
  - name: Test jinja2template
    template: src=test.j2 dest=test.conf

и запустите его:

ansible-playbook jinja2test.yml --check --diff --connection=local

пример вывода:

PLAY [127.0.0.1] **************************************************************

GATHERING FACTS ***************************************************************

ok: [127.0.0.1]

TASK: [Test jinja2template] ***************************************************
--- before: test.conf
+++ after: /Users/user/ansible/test.j2
@@ -0,0 +1,4 @@
+Mike
+Smith
+Klara
+Alex

changed: [127.0.0.1]

PLAY RECAP ********************************************************************
127.0.0.1                  : ok=2    changed=1    unreachable=0    failed=0

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Лучший и самый простой способ - использовать state.show_sls, как сказано здесь

Пожалуйста, проверьте официальный документ здесь

Для вашего конкретного случая это будет что-то вроде этого:

salt "your_minion" state.show_sls template.sls
0 голосов
/ 08 июня 2019

Для отображения полученного SLS вы можете использовать slsutil.renderer

Это довольно легко и должно сработать. В моем случае я использую это так:

salt 'test01' slsutil.renderer salt://blabla/test.sls 'jinja|yaml'

...