[BUG] - pillar include logic seems to have changed
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 5.6k
- Avg merge
- 2d 44m
- Merged PRs (30d)
- 80
Description
WARN: I was unable to revert to the older version of salt to confirm the following.
Salt Version:
Salt: 3003.1
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: 2.6.1
docker-py: Not Installed
gitdb: 2.0.3
gitpython: 2.1.8
Jinja2: 2.10
libgit2: 0.26.0
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 0.5.6
msgpack-pure: Not Installed
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: Not Installed
pycryptodome: 3.4.7
pygit2: 0.26.2
Python: 3.6.9 (default, Jan 26 2021, 15:33:00)
python-gnupg: 0.4.1
PyYAML: 3.12
PyZMQ: 17.1.2
smmap: 2.0.3
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.2.5
System Versions:
dist: ubuntu 18.04 Bionic Beaver
locale: UTF-8
machine: x86_64
release: 4.15.0-151-generic
system: Linux
version: Ubuntu 18.04 Bionic Beaver
in the past i think it was version (2017.7.4) a pillar like
pillar.sls
include:
- a1
- a2
- a1
a1.sls
__test: {{sls}}
a2.sls
__test: {{sls}}
would have __test=a2 because it skips the last include since it was already included.
The new behavior is not "bad" but is unexpected and caused some of my systems to get different pillars values than previous version.
I have pillars systems setup like...
base.sls
stuff: x
msg: z
auth-base.sls
include:
- base
stuff: y
msg: dont_ever
auth-domain.sls
include:
- base
stuff: z
cpu123.sls
include:
- auth-base
- auth-domain
I expected cpu123 piller msg: dont_ever but because auth-domain also includes base I think that's why I see msg: z.
Again I was not able to revert to the previous version to confirm these findings.
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
Start by reproducing the include layouts shown in the issue with Salt 3003.1, especially the repeated base include through auth-base and auth-domain, and compare the resulting pillar values with the reported older behavior. Done means the include resolution behavior is confirmed and the expected values for __test and msg are either restored or clearly documented with a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100