81ba992e3e
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=205
51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
From e328d2029c93153c519e10e9596c635f6f3febcf Mon Sep 17 00:00:00 2001
|
|
From: Petr Pavlu <31453820+petrpavlu@users.noreply.github.com>
|
|
Date: Fri, 8 Jul 2022 10:11:52 +0200
|
|
Subject: [PATCH] Fix salt.states.file.managed() for follow_symlinks=True
|
|
and test=True (bsc#1199372) (#535)
|
|
|
|
When managing file /etc/test as follows:
|
|
> file /etc/test:
|
|
> file.managed:
|
|
> - name: /etc/test
|
|
> - source: salt://config/test
|
|
> - mode: 644
|
|
> - follow_symlinks: True
|
|
|
|
and with /etc/test being a symlink to a different file, an invocation of
|
|
"salt-call '*' state.apply test=True" can report that the file should be
|
|
updated even when a subsequent run of the same command without the test
|
|
parameter makes no changes.
|
|
|
|
The problem is that the test code path doesn't take correctly into
|
|
account the follow_symlinks=True setting and ends up comparing
|
|
permissions of the symlink instead of its target file.
|
|
|
|
The patch addresses the problem by extending functions
|
|
salt.modules.file.check_managed(), check_managed_changes() and
|
|
check_file_meta() to have the follow_symlinks parameter which gets
|
|
propagated to the salt.modules.file.stats() call and by updating
|
|
salt.states.file.managed() to forward the same parameter to
|
|
salt.modules.file.check_managed_changes().
|
|
|
|
Fixes #62066.
|
|
|
|
[Cherry-picked from upstream commit
|
|
95bfbe31a2dc54723af3f1783d40de152760fe1a.]
|
|
---
|
|
changelog/62066.fixed | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
create mode 100644 changelog/62066.fixed
|
|
|
|
diff --git a/changelog/62066.fixed b/changelog/62066.fixed
|
|
new file mode 100644
|
|
index 0000000000..68216a03c1
|
|
--- /dev/null
|
|
+++ b/changelog/62066.fixed
|
|
@@ -0,0 +1 @@
|
|
+Fixed salt.states.file.managed() for follow_symlinks=True and test=True
|
|
--
|
|
2.37.3
|
|
|
|
|