[BUG] `salt-minion 3007.0 (Chlorine)` cannot use `file.append` with a single source (expecting a list object not a string)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 5.6k
- Avg merge
- 2d 44m
- Merged PRs (30d)
- 80
Description
Description
A clear and concise description of what the bug is.
Trying to salt-call state.sls someAppendState causes AttributeError: 'list' object has no attribute 'decode'
Setup
(Please provide relevant configs and/or SLS files (be sure to remove sensitive info. There is no general set-up of Salt.)
Please be as specific as possible and give set-up details.
- on-prem machine
- VM (Virtualbox, KVM, etc. please specify)
KVM and desktop. All are impacted. - VM running on a cloud service, please be explicit and add details
- container (Kubernetes, Docker, containerd, etc. please specify)
- or a combination, please be explicit
- jails if it is FreeBSD
- classic packaging
- onedir packaging
- used bootstrap to install
Steps to Reproduce the behavior
(Include debug logs if possible and relevant)
Expected behavior
A clear and concise description of what you expected to happen.
An example state in a file on its own which is falling over:
appender:
file.append:
- name: /a
- source:
- salt://b
Screenshots
If applicable, add screenshots to help explain your problem.
Versions Report
salt --versions-report
(Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)Salt Version:
Salt: 3007.0
Python Version:
Python: 3.11.8 (main, Feb 12 2024, 14:50:05) [GCC 13.2.1 20230801]
Dependency Versions:
cffi: 1.16.0
cherrypy: unknown
dateutil: 2.9.0
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.3
libgit2: Not Installed
looseversion: 1.3.0
M2Crypto: 0.40.1
Mako: 1.3.2
msgpack: 1.0.5
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 23.2
pycparser: 2.21
pycrypto: Not Installed
pycryptodome: 3.12.0
pygit2: Not Installed
python-gnupg: 0.5.2
PyYAML: 6.0.1
PyZMQ: 25.1.2
relenv: Not Installed
smmap: Not Installed
timelib: 0.3.0
Tornado: 6.4
ZMQ: 4.3.5
Salt Package Information:
Package Type: Not Installed
System Versions:
dist: arch rolling n/a
locale: utf-8
machine: x86_64
release: 6.7.8-arch1-1
system: Linux
version: Arch Linux rolling n/a
Additional context
Add any other context about the problem here.
Archlinux 6.7.8-arch1-1
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
The payload names the salt-call state.sls someAppendState entry point, the file.append state, and an example SLS with a single source; no source file or test is identified. Start by reproducing the AttributeError with that state, then trace how file.append handles the source value. Done means a single-source state runs successfully without the reported decode error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100