[BUG] salt-master silently ignores pillar rendering errors and returns incomplete pillar data with git_pillar pygit2
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 5.6k
- Avg merge
- 2d 44m
- Merged PRs (30d)
- 80
Description
Description
The salt-master silently ignores rendering errors from jinja template rendering in pillars when using ext_pillar git_pillar with the provider pygit2. Nothing hinting at the issue gets shown in logs or when running the salt-master in debug. Also it looks like every match in pillar top.sls gets ignored even if only one pillar file has errors and only pillars for the exact match of the minion_id are getting returned.
Cloning the pillar and using pillar_roots instead raises several exceptions in the logs and when rendering via pillar.items also displays errors in the _errors key as expected.
Setup
salt master config
cli_summary: true
ext_pillar:
- netbox_build_data:
api_token: ''
api_url: ''
- pillar_ldap: /etc/salt/master.d/ldap.yaml
- canonize_ssh_keys: {}
- git:
- master http://<githost>/salt/pillar.git
- canonize_pillar_environment: {}
ext_pillar_first: true
extension_modules: /srv/salt/extension_modules
external_auth:
ldap: {}
file_ignore_glob: [] # snip
file_ignore_regex: [] # snip
file_roots:
base: []
fileserver_backend:
- gitfs
git_pillar_base: master
git_pillar_global_lock: false
git_pillar_passphrase: ''
git_pillar_privkey: /etc/salt/gitfs/id_salt_git
git_pillar_provider: pygit2
git_pillar_pubkey: /etc/salt/gitfs/id_salt_git.pub
git_pillar_root: pillar
gitfs_base: master
gitfs_global_lock: false
gitfs_insecure_auth: true
gitfs_passphrase: ''
gitfs_privkey: /etc/salt/gitfs/id_salt_git
gitfs_provider: pygit2
gitfs_pubkey: /etc/salt/gitfs/id_salt_git.pub
gitfs_remotes: [] # remotes snip
gitfs_saltenv_whitelist:
- base
gitfs_ssl_verify: false
gitfs_update_interval: 300
gpg_keydir: /etc/salt/gpgkeys
hash_type: sha256
peer:
.*:
- x509.sign_remote_certificate
peer_run:
.*:
- vault.generate_token
pillar_roots:
base: []
ping_on_rotate: true
reactor: [] # snip
rest_cherrypy:
debug: false
port: 8000
ssl_chain: ''
ssl_crt: ''
ssl_key: ''
state_output: changes
timeout: 60
top_file_merging_strategy: same
vault:
auth:
method: token
token: ''
policies:
- ssh_r
- salt_r
url: ''
verify: ''
verify_env: true
One of the pillar files with the rendering error using the same import line with jinja. The original error was the line with {% from "../vars/pki/map.jinja" import pki with context %}since it did not export the pkivariable as the saltstack exception correctly reports.
#!jinja|yaml|gpg
# vim: ft=sls
{% from "../vars/pki/map.jinja" import pki with context %}
{% import_yaml "../app_token/saltstack.yaml" as token_import %}
salt_master:
options:
vault: {} # snip
Steps to Reproduce the behavior
As far as I reproduced this issue in my setup any error in the pillar file is ignored with git_pillar pygit2. These are the exceptions saltstack returns when I switch to pillar_roots with the cloned repo.
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: reraise(*rewrite_traceback_stack(source=source))
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 4, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/jinja.py", line 198, in get_source
Apr 08 22:10:54 <host> salt-master[23320]: raise TemplateNotFound(template)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.TemplateNotFound: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: During handling of the above exception, another exception occurred:
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 261, in render_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = render_str(tmplstr, context, tmplpath)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 543, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: "Jinja error: {}{}".format(exc, out), line, tmplstr, trace=tracestr
Apr 08 22:10:54 <host> salt-master[23320]: salt.exceptions.SaltRenderError: Jinja error: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: reraise(*rewrite_traceback_stack(source=source))
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 4, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/jinja.py", line 198, in get_source
Apr 08 22:10:54 <host> salt-master[23320]: raise TemplateNotFound(template)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.TemplateNotFound: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: ; line 4
Apr 08 22:10:54 <host> salt-master[23320]: ---
Apr 08 22:10:54 <host> salt-master[23320]: #!jinja|yaml|gpg
Apr 08 22:10:54 <host> salt-master[23320]: # vim: ft=sls
Apr 08 22:10:54 <host> salt-master[23320]: {% from "../vars/pki/init.sls" import pki with context %}
Apr 08 22:10:54 <host> salt-master[23320]: {% import_yaml "../app_token/saltstack.yaml" as token_import %} <======================
Apr 08 22:10:54 <host> salt-master[23320]: salt_master:
Apr 08 22:10:54 <host> salt-master[23320]: options:
Apr 08 22:10:54 <host> salt-master[23320]: vault:
Apr 08 22:10:54 <host> salt-master[23320]: [...]
Apr 08 22:10:54 <host> salt-master[23320]: --- [226/9892]
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Rendering SLS 'salt.vault' failed, render error:
Apr 08 22:10:54 <host> salt-master[23320]: Jinja error: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: reraise(*rewrite_traceback_stack(source=source))
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 4, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/jinja.py", line 198, in get_source
Apr 08 22:10:54 <host> salt-master[23320]: raise TemplateNotFound(template)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.TemplateNotFound: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: ; line 4
Apr 08 22:10:54 <host> salt-master[23320]: ---
Apr 08 22:10:54 <host> salt-master[23320]: #!jinja|yaml|gpg
Apr 08 22:10:54 <host> salt-master[23320]: # vim: ft=sls
Apr 08 22:10:54 <host> salt-master[23320]: {% from "../vars/pki/init.sls" import pki with context %}
Apr 08 22:10:54 <host> salt-master[23320]: {% import_yaml "../app_token/saltstack.yaml" as token_import %} <======================
Apr 08 22:10:54 <host> salt-master[23320]: salt_master:
Apr 08 22:10:54 <host> salt-master[23320]: options:
Apr 08 22:10:54 <host> salt-master[23320]: vault:
Apr 08 22:10:54 <host> salt-master[23320]: [...]
Apr 08 22:10:54 <host> salt-master[23320]: ---
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: reraise(*rewrite_traceback_stack(source=source))
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 4, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/jinja.py", line 198, in get_source
Apr 08 22:10:54 <host> salt-master[23320]: raise TemplateNotFound(template)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.TemplateNotFound: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: During handling of the above exception, another exception occurred:
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/pillar/__init__.py", line 892, in render_pstate
Apr 08 22:10:54 <host> salt-master[23320]: **defaults
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/template.py", line 99, in compile_template
Apr 08 22:10:54 <host> salt-master[23320]: ret = render(input_data, saltenv, sls, **render_kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/loader.py", line 1235, in __call__
Apr 08 22:10:54 <host> salt-master[23320]: return self.loader.run(run_func, *args, **kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/loader.py", line 2268, in run
Apr 08 22:10:54 <host> salt-master[23320]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/loader.py", line 2283, in _run_as
Apr 08 22:10:54 <host> salt-master[23320]: return _func_or_method(*args, **kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/renderers/jinja.py", line 75, in render
Apr 08 22:10:54 <host> salt-master[23320]: **kws
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 261, in render_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = render_str(tmplstr, context, tmplpath)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 543, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: "Jinja error: {}{}".format(exc, out), line, tmplstr, trace=tracestr
Apr 08 22:10:54 <host> salt-master[23320]: salt.exceptions.SaltRenderError: Jinja error: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: reraise(*rewrite_traceback_stack(source=source))
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 4, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/jinja.py", line 198, in get_source
Apr 08 22:10:54 <host> salt-master[23320]: raise TemplateNotFound(template)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.TemplateNotFound: ../app_token/saltstack.yaml
Apr 08 22:10:54 <host> salt-master[23320]: ; line 4
Apr 08 22:10:54 <host> salt-master[23320]: ---
Apr 08 22:10:54 <host> salt-master[23320]: #!jinja|yaml|gpg
Apr 08 22:10:54 <host> salt-master[23320]: # vim: ft=sls
Apr 08 22:10:54 <host> salt-master[23320]: {% from "../vars/pki/init.sls" import pki with context %}
Apr 08 22:10:54 <host> salt-master[23320]: {% import_yaml "../app_token/saltstack.yaml" as token_import %} <======================
Apr 08 22:10:54 <host> salt-master[23320]: salt_master:
Apr 08 22:10:54 <host> salt-master[23320]: options:
Apr 08 22:10:54 <host> salt-master[23320]: vault:
Apr 08 22:10:54 <host> salt-master[23320]: [...]
Apr 08 22:10:54 <host> salt-master[23320]: ---
Apr 08 22:10:54 <host> salt-master[23320]: [ERROR ] Rendering exception occurred
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: reraise(*rewrite_traceback_stack(source=source))
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 9, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/sandbox.py", line 407, in getattr
Apr 08 22:10:54 <host> salt-master[23320]: value = getattr(obj, attribute)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.UndefinedError: the template '../vars/pki/init.sls' (imported on line 1) does not export the requested name 'pki'
Apr 08 22:10:54 <host> salt-master[23320]: During handling of the above exception, another exception occurred:
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 261, in render_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = render_str(tmplstr, context, tmplpath)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 504, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: raise SaltRenderError("Jinja variable {}{}".format(exc, out), buf=tmplstr)
Apr 08 22:10:54 <host> salt-master[23320]: salt.exceptions.SaltRenderError: Jinja variable the template '../vars/pki/init.sls' (imported on line 1) does not export the requested name
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Rendering SLS 'salt.api' failed, render error:
Apr 08 22:10:54 <host> salt-master[23320]: Jinja variable the template '../vars/pki/init.sls' (imported on line 1) does not export the requested name 'pki'
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 497, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = template.render(**decoded_context)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 1090, in render
Apr 08 22:10:54 <host> salt-master[23320]: self.environment.handle_exception()
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
Apr 08 22:10:54 <host> salt-master[23320]: raise value.with_traceback(tb)
Apr 08 22:10:54 <host> salt-master[23320]: File "<template>", line 9, in top-level template code
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/jinja2/sandbox.py", line 407, in getattr
Apr 08 22:10:54 <host> salt-master[23320]: value = getattr(obj, attribute)
Apr 08 22:10:54 <host> salt-master[23320]: jinja2.exceptions.UndefinedError: the template '../vars/pki/init.sls' (imported on line 1) does not export the requested name 'pki'
Apr 08 22:10:54 <host> salt-master[23320]: During handling of the above exception, another exception occurred:
Apr 08 22:10:54 <host> salt-master[23320]: Traceback (most recent call last):
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/pillar/__init__.py", line 892, in render_pstate
Apr 08 22:10:54 <host> salt-master[23320]: **defaults
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/template.py", line 99, in compile_template
Apr 08 22:10:54 <host> salt-master[23320]: ret = render(input_data, saltenv, sls, **render_kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/loader.py", line 1235, in __call__
Apr 08 22:10:54 <host> salt-master[23320]: return self.loader.run(run_func, *args, **kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/loader.py", line 2268, in run
Apr 08 22:10:54 <host> salt-master[23320]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/loader.py", line 2283, in _run_as
Apr 08 22:10:54 <host> salt-master[23320]: return _func_or_method(*args, **kwargs)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/renderers/jinja.py", line 75, in render
Apr 08 22:10:54 <host> salt-master[23320]: **kws
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 261, in render_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: output = render_str(tmplstr, context, tmplpath)
Apr 08 22:10:54 <host> salt-master[23320]: File "/usr/local/lib/python3.7/dist-packages/salt/utils/templates.py", line 504, in render_jinja_tmpl
Apr 08 22:10:54 <host> salt-master[23320]: raise SaltRenderError("Jinja variable {}{}".format(exc, out), buf=tmplstr)
Apr 08 22:10:54 <host> salt-master[23320]: salt.exceptions.SaltRenderError: Jinja variable the template '../vars/pki/init.sls' (imported on line 1) does not export the requested name
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Pillar render error: Rendering SLS 'sssd.intranet' failed. Please see master log for details.
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Pillar render error: Rendering SLS 'ldap.client' failed. Please see master log for details.
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Pillar render error: Rendering SLS 'vault.capath' failed. Please see master log for details.
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Pillar render error: Rendering SLS 'environment.vault' failed. Please see master log for details.
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Pillar render error: Rendering SLS 'salt.vault' failed. Please see master log for details.
Apr 08 22:10:54 <host> salt-master[23320]: [CRITICAL] Pillar render error: Rendering SLS 'salt.api' failed. Please see master log for details.
Expected behavior
I would expect the salt-master to report me any issues with my pillar data when using git_pillar.
Versions Report
Installed via bootstrap. Rendering issue on the same host.
Salt Version:
Salt: 3003
Dependency Versions:
cffi: Not Installed
cherrypy: unknown
dateutil: 2.7.3
docker-py: Not Installed
gitdb: 2.0.5
gitpython: 2.1.11
Jinja2: 2.11.3
libgit2: 0.27.7
M2Crypto: 0.35.2
Mako: Not Installed
msgpack: 1.0.2
msgpack-pure: Not Installed
mysql-python: Not Installed
pycparser: 2.19
pycrypto: 2.6.1
pycryptodome: 3.10.1
pygit2: 0.27.4
Python: 3.7.3 (default, Jan 22 2021, 20:04:44)
python-gnupg: Not Installed
PyYAML: 5.4.1
PyZMQ: 22.0.3
smmap: 2.0.5
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.4
System Versions:
dist: raspbian 10 buster
locale: UTF-8
machine: armv7l
release: 5.10.17-v7l+
system: Linux
version: Raspbian GNU/Linux 10 buster
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with ext_pillar git_pillar using the pygit2 provider, then compare its behavior with pillar_roots and pillar.items. Trace pillar rendering through salt/pillar/init.py and salt/utils/templates.py. Done means rendering errors are surfaced in logs or pillar.items and matching pillar data is not silently omitted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100