fix(map): workaround salt bug with Jinja2 3.0#239
Closed
baby-gnu wants to merge 1 commit intosaltstack-formulas:masterfrom
Closed
fix(map): workaround salt bug with Jinja2 3.0#239baby-gnu wants to merge 1 commit intosaltstack-formulas:masterfrom
baby-gnu wants to merge 1 commit intosaltstack-formulas:masterfrom
Conversation
A change in Jinja2 3.0 cause troubles in rendering templates where salt special variables are available only on first import but not subsequent ones (see saltstack/salt#60188) We could workaround that bug by explicitly import jinja libraries and load YAML files `with context`. * TEMPLATE/map.jinja: import `libmapstack.jinja` and `post-map.jinja` with context. * TEMPLATE/libmapstack.jinja: import `libmatchers.jinja` with context. Load YAML files with context. * TEMPLATE/libmatchers.jinja: import `libsaltcli.jinja` with context.
noelmcloughlin
approved these changes
Aug 31, 2021
Contributor
noelmcloughlin
left a comment
There was a problem hiding this comment.
LGTM, not much else we can do. thanks @baby-gnu
Contributor
Author
|
So, this may not be needed because of saltstack/salt#60811 👍 |
Contributor
Author
|
I'm closing because saltstack/salt#60811 is now merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR progress checklist (to be filled in by reviewers)
What type of PR is this?
Primary type
[build]Changes related to the build system[chore]Changes to the build process or auxiliary tools and libraries such as documentation generation[ci]Changes to the continuous integration configuration[feat]A new feature[fix]A bug fix[perf]A code change that improves performance[refactor]A code change that neither fixes a bug nor adds a feature[revert]A change used to revert a previous commit[style]Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)Secondary type
[docs]Documentation changes[test]Adding missing or correcting existing testsDoes this PR introduce a
BREAKING CHANGE?No.
Related issues and/or pull requests
saltstack/salt#60188
Describe the changes you're proposing
A change in Jinja2 3.0 cause troubles in rendering templates where salt special variables are available only on first import but not subsequent ones (see saltstack/salt#60188)
We could workaround that bug by explicitly import jinja libraries and load YAML files
with context.TEMPLATE/map.jinja: import
libmapstack.jinjaandpost-map.jinjawith context.TEMPLATE/libmapstack.jinja: import
libmatchers.jinjawith context.Load YAML files with context.
TEMPLATE/libmatchers.jinja: import
libsaltcli.jinjawith context.Pillar / config required to test the proposed changes
I tested by running the following commands:
create the openSUSE Tumbleweed container:
./bin/kitchen create default-opensuse-tmbl-latest-master-py3
install the 3.x Jinja2 library
./bin/kitchen exec -c 'sudo zypper install --no-confirm python3-jinja2' default-opensuse-tmbl-latest-master-py3
test the formula
./bin/kitchen verify default-opensuse-tmbl-latest-master-py3
Debug log showing how the proposed changes work
Documentation checklist
README(e.g.Available states).pillar.example.Testing checklist
state_top).Additional context
This is incompatible with cert-formula and PR #230.