Description
When calling with test=true, a pkgrepo.managed containing a signed-by statement reports a pending change with a messed up new line, by messed up I mean:
- original URL disappear
- a
signedby stanza pops in
Please, note that it works fine without the test=true
Setup
example sls:
/usr/share/keyrings/kubernetes-archive-keyring.gpg:
file.managed:
- source: salt://test/files/kubernetes-archive-keyring.gpg
k8s repository mirror:
pkgrepo.managed:
- name: deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main
- file: /etc/apt/sources.list.d/kubernetes.list
- clean_file: true
- require:
- file: /usr/share/keyrings/kubernetes-archive-keyring.gpg
Steps to Reproduce the behavior
See first screenshot with color, way more readable, issue is underlined in red.
salt-call state.apply test.sources
demo # salt-call state.apply test.sources
local:
----------
ID: /usr/share/keyrings/kubernetes-archive-keyring.gpg
Function: file.managed
Result: True
Comment: File /usr/share/keyrings/kubernetes-archive-keyring.gpg updated
Started: 14:53:13.590458
Duration: 29.119 ms
Changes:
----------
diff:
New file
mode:
0644
----------
ID: k8s repository mirror
Function: pkgrepo.managed
Name: deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main
Result: True
Comment: Configured package repo 'deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main'
Started: 14:53:13.635203
Duration: 2418.913 ms
Changes:
----------
repo:
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main
Summary for local
------------
Succeeded: 2 (changed=2)
Failed: 0
------------
Total states run: 2
Total run time: 2.448 s
salt-call state.apply test.sources test=true
demo # salt-call state.apply test.sources test=true
local:
----------
ID: /usr/share/keyrings/kubernetes-archive-keyring.gpg
Function: file.managed
Result: True
Comment: The file /usr/share/keyrings/kubernetes-archive-keyring.gpg is in the correct state
Started: 14:53:21.196263
Duration: 20.492 ms
Changes:
----------
ID: k8s repository mirror
Function: pkgrepo.managed
Name: deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main
Result: None
Comment: Package repo 'deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main' would be configured. This may cause pkg states to behave differently than stated if this action is repeated without test=True, due to the differences in the configured repositories.
Started: 14:53:21.231250
Duration: 85.452 ms
Changes:
----------
line:
----------
new:
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg signedby] kubernetes-xenial main
old:
deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io kubernetes-xenial main
Summary for local
------------
Succeeded: 2 (unchanged=1, changed=1)
Failed: 0
------------
Total states run: 2
Total run time: 105.944 ms

Expected behavior
The state shouldn't report any change in test mode.

Versions Report
salt --versions-report
Salt Version:
Salt: 3005
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: 2.8.1
docker-py: Not Installed
gitdb: 4.0.5
gitpython: 3.1.14
Jinja2: 2.11.3
libgit2: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.0.0
msgpack-pure: Not Installed
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: Not Installed
pycryptodome: 3.9.7
pygit2: Not Installed
Python: 3.9.2 (default, Feb 28 2021, 17:03:44)
python-gnupg: Not Installed
PyYAML: 5.3.1
PyZMQ: 20.0.0
smmap: 4.0.0
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.4
System Versions:
dist: debian 11 bullseye
locale: utf-8
machine: x86_64
release: 5.10.0-11-amd64
system: Linux
version: Debian GNU/Linux 11 bullseye
Additional context
Add any other context about the problem here.
Description
When calling with
test=true, apkgrepo.managedcontaining asigned-bystatement reports a pending change with a messed upnewline, by messed up I mean:signedbystanza pops inPlease, note that it works fine without the
test=trueSetup
example sls:
Steps to Reproduce the behavior
See first screenshot with color, way more readable, issue is underlined in red.
salt-call state.apply test.sources
salt-call state.apply test.sources test=true
Expected behavior
The state shouldn't report any change in
testmode.Versions Report
salt --versions-report
Additional context
Add any other context about the problem here.