cfbaca9093
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=196
71 lines
2.7 KiB
Diff
71 lines
2.7 KiB
Diff
From 245bd5f2aab798f7f647ad2d2307c0dd1381c1c8 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <cbosdonnat@suse.com>
|
|
Date: Thu, 18 Nov 2021 14:46:25 +0100
|
|
Subject: [PATCH] Fix salt-call event.send call with grains and pillar
|
|
|
|
---
|
|
changelog/61252.fixed | 1 +
|
|
salt/modules/event.py | 4 ++--
|
|
tests/pytests/integration/modules/test_event.py | 12 +++++++++++-
|
|
3 files changed, 14 insertions(+), 3 deletions(-)
|
|
create mode 100644 changelog/61252.fixed
|
|
|
|
diff --git a/changelog/61252.fixed b/changelog/61252.fixed
|
|
new file mode 100644
|
|
index 0000000000..2692f9b7b7
|
|
--- /dev/null
|
|
+++ b/changelog/61252.fixed
|
|
@@ -0,0 +1 @@
|
|
+Fix salt-call event.event with pillar or grains
|
|
diff --git a/salt/modules/event.py b/salt/modules/event.py
|
|
index 03dad5e614..7fe701708b 100644
|
|
--- a/salt/modules/event.py
|
|
+++ b/salt/modules/event.py
|
|
@@ -216,13 +216,13 @@ def send(
|
|
if isinstance(with_grains, list):
|
|
data_dict["grains"] = _dict_subset(with_grains, __grains__)
|
|
else:
|
|
- data_dict["grains"] = __grains__
|
|
+ data_dict["grains"] = __grains__.value()
|
|
|
|
if with_pillar:
|
|
if isinstance(with_pillar, list):
|
|
data_dict["pillar"] = _dict_subset(with_pillar, __pillar__)
|
|
else:
|
|
- data_dict["pillar"] = __pillar__
|
|
+ data_dict["pillar"] = __pillar__.value()
|
|
|
|
if with_env_opts:
|
|
data_dict["saltenv"] = __opts__.get("saltenv", "base")
|
|
diff --git a/tests/pytests/integration/modules/test_event.py b/tests/pytests/integration/modules/test_event.py
|
|
index 54087b1b65..8912c1e807 100644
|
|
--- a/tests/pytests/integration/modules/test_event.py
|
|
+++ b/tests/pytests/integration/modules/test_event.py
|
|
@@ -68,7 +68,14 @@ def test_send(event_listener, salt_master, salt_minion, salt_call_cli):
|
|
event_tag = random_string("salt/test/event/")
|
|
data = {"event.fire": "just test it!!!!"}
|
|
start_time = time.time()
|
|
- ret = salt_call_cli.run("event.send", event_tag, data=data)
|
|
+ ret = salt_call_cli.run(
|
|
+ "event.send",
|
|
+ event_tag,
|
|
+ data=data,
|
|
+ with_grains=True,
|
|
+ with_pillar=True,
|
|
+ preload={"foo": "bar"},
|
|
+ )
|
|
assert ret.exitcode == 0
|
|
assert ret.json
|
|
assert ret.json is True
|
|
@@ -82,3 +89,6 @@ def test_send(event_listener, salt_master, salt_minion, salt_call_cli):
|
|
assert event.data["id"] == salt_minion.id
|
|
assert event.data["cmd"] == "_minion_event"
|
|
assert "event.fire" in event.data["data"]
|
|
+ assert event.data["foo"] == "bar"
|
|
+ assert event.data["data"]["grains"]["test_grain"] == "cheese"
|
|
+ assert event.data["data"]["pillar"]["ext_spam"] == "eggs"
|
|
--
|
|
2.34.1
|
|
|
|
|