Skip to content

Commit 0939e2c

Browse files
committed
Address PR #64043 review comments: optimize pillar updates and fix UnboundLocalError
1 parent 2151389 commit 0939e2c

File tree

2 files changed

+41
-15
lines changed

2 files changed

+41
-15
lines changed

salt/matchers/pillar_match.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def match(tgt, delimiter=DEFAULT_TARGET_DELIM, opts=None, minion_id=None):
2121
log.error("Got insufficient arguments for pillar match statement from master")
2222
return False
2323

24+
pillar = {}
2425
if "pillar" in opts:
2526
pillar = opts["pillar"]
2627
elif "ext_pillar" in opts:

tests/pytests/unit/test_pillar.py

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ def _setup_test_include_sls(tempdir):
257257

258258
def test_ext_pillar_no_extra_minion_data_val_dict():
259259
opts = {
260+
"file_client": "local",
261+
"pillar": {},
260262
"optimization_order": [0, 1, 2],
261263
"renderer": "json",
262264
"renderer_blacklist": [],
@@ -298,6 +300,8 @@ def test_ext_pillar_no_extra_minion_data_val_dict():
298300

299301
def test_ext_pillar_no_extra_minion_data_val_list():
300302
opts = {
303+
"file_client": "local",
304+
"pillar": {},
301305
"optimization_order": [0, 1, 2],
302306
"renderer": "json",
303307
"renderer_blacklist": [],
@@ -335,6 +339,8 @@ def test_ext_pillar_no_extra_minion_data_val_list():
335339

336340
def test_ext_pillar_no_extra_minion_data_val_elem():
337341
opts = {
342+
"file_client": "local",
343+
"pillar": {},
338344
"optimization_order": [0, 1, 2],
339345
"renderer": "json",
340346
"renderer_blacklist": [],
@@ -376,6 +382,8 @@ def test_ext_pillar_no_extra_minion_data_val_elem():
376382

377383
def test_ext_pillar_with_extra_minion_data_val_dict():
378384
opts = {
385+
"file_client": "local",
386+
"pillar": {},
379387
"optimization_order": [0, 1, 2],
380388
"renderer": "json",
381389
"renderer_blacklist": [],
@@ -422,6 +430,8 @@ def test_ext_pillar_with_extra_minion_data_val_dict():
422430

423431
def test_ext_pillar_with_extra_minion_data_val_list():
424432
opts = {
433+
"file_client": "local",
434+
"pillar": {},
425435
"optimization_order": [0, 1, 2],
426436
"renderer": "json",
427437
"renderer_blacklist": [],
@@ -463,6 +473,8 @@ def test_ext_pillar_with_extra_minion_data_val_list():
463473

464474
def test_ext_pillar_with_extra_minion_data_val_elem():
465475
opts = {
476+
"file_client": "local",
477+
"pillar": {},
466478
"optimization_order": [0, 1, 2],
467479
"renderer": "json",
468480
"renderer_blacklist": [],
@@ -507,15 +519,17 @@ def test_ext_pillar_first(tmp_path):
507519
test when using ext_pillar and ext_pillar_first
508520
"""
509521
opts = {
522+
"file_client": "local",
523+
"pillar": {},
510524
"optimization_order": [0, 1, 2],
511525
"renderer": "yaml",
512526
"renderer_blacklist": [],
513527
"renderer_whitelist": [],
514528
"state_top": "",
515-
"pillar_roots": [],
529+
"pillar_roots": {},
516530
"extension_modules": "",
517531
"saltenv": "base",
518-
"file_roots": [],
532+
"file_roots": {},
519533
"ext_pillar_first": True,
520534
"fileserver_backend": "",
521535
"cachedir": "",
@@ -561,8 +575,8 @@ def test_malformed_pillar_sls(mock_list_states):
561575
"renderer_blacklist": [],
562576
"renderer_whitelist": [],
563577
"state_top": "",
564-
"pillar_roots": [],
565-
"file_roots": [],
578+
"pillar_roots": {},
579+
"file_roots": {},
566580
"extension_modules": "",
567581
"fileserver_backend": "",
568582
"cachedir": "",
@@ -661,6 +675,8 @@ def test_malformed_pillar_sls(mock_list_states):
661675

662676
def test_includes_override_sls():
663677
opts = {
678+
"file_client": "local",
679+
"pillar": {},
664680
"optimization_order": [0, 1, 2],
665681
"renderer": "json",
666682
"renderer_blacklist": [],
@@ -669,7 +685,7 @@ def test_includes_override_sls():
669685
"pillar_roots": {},
670686
"file_roots": {},
671687
"extension_modules": "",
672-
"fileserver_backend": "roots",
688+
"fileserver_backend": ["roots"],
673689
"cachedir": "",
674690
}
675691
grains = {
@@ -723,16 +739,18 @@ def test_includes_override_sls():
723739

724740
def test_topfile_order():
725741
opts = {
742+
"file_client": "local",
743+
"pillar": {},
726744
"optimization_order": [0, 1, 2],
727745
"renderer": "yaml",
728746
"renderer_blacklist": [],
729747
"renderer_whitelist": [],
730748
"state_top": "",
731-
"pillar_roots": [],
749+
"pillar_roots": {},
732750
"extension_modules": "",
733751
"saltenv": "base",
734-
"file_roots": [],
735-
"fileserver_backend": "roots",
752+
"file_roots": {},
753+
"fileserver_backend": ["roots"],
736754
"cachedir": "",
737755
}
738756
grains = {
@@ -897,6 +915,8 @@ def test_relative_include(tmp_path):
897915
file=f,
898916
)
899917
opts = {
918+
"file_client": "local",
919+
"pillar": {},
900920
"optimization_order": [0, 1, 2],
901921
"renderer": "yaml",
902922
"renderer_blacklist": [],
@@ -905,10 +925,10 @@ def test_relative_include(tmp_path):
905925
"pillar_roots": {"base": [str(tmp_path)]},
906926
"extension_modules": "",
907927
"saltenv": "base",
908-
"file_roots": [],
928+
"file_roots": {"base": [str(tmp_path)]},
909929
"file_ignore_regex": None,
910930
"file_ignore_glob": None,
911-
"fileserver_backend": "roots",
931+
"fileserver_backend": ["roots"],
912932
"cachedir": "",
913933
}
914934
grains = {
@@ -928,6 +948,7 @@ def test_relative_include(tmp_path):
928948

929949
# Assert
930950
assert compiled_pillar["this"] == "is all good"
951+
931952
assert compiled_pillar["that"] == "is also all good"
932953
assert compiled_pillar["simple"] == "simon"
933954
assert compiled_pillar["super simple"] == "a caveman"
@@ -938,6 +959,8 @@ def test_relative_include(tmp_path):
938959

939960
def test_missing_include(tmp_path):
940961
opts = {
962+
"file_client": "local",
963+
"pillar": {},
941964
"optimization_order": [0, 1, 2],
942965
"renderer": "yaml",
943966
"renderer_blacklist": [],
@@ -946,10 +969,10 @@ def test_missing_include(tmp_path):
946969
"pillar_roots": {"base": [str(tmp_path)]},
947970
"extension_modules": "",
948971
"saltenv": "base",
949-
"file_roots": [],
972+
"file_roots": {"base": [str(tmp_path)]},
950973
"file_ignore_regex": None,
951974
"file_ignore_glob": None,
952-
"fileserver_backend": "roots",
975+
"fileserver_backend": ["roots"],
953976
"cachedir": "",
954977
}
955978
grains = {
@@ -1126,16 +1149,18 @@ def test_pillar_send_extra_minion_data_from_config(tmp_pki, grains):
11261149

11271150
def test_include(tmp_path):
11281151
opts = {
1152+
"file_client": "local",
1153+
"pillar": {},
11291154
"optimization_order": [0, 1, 2],
11301155
"renderer": "yaml",
11311156
"renderer_blacklist": [],
11321157
"renderer_whitelist": [],
11331158
"state_top": "",
1134-
"pillar_roots": [],
1159+
"pillar_roots": {},
11351160
"extension_modules": "",
11361161
"saltenv": "base",
1137-
"file_roots": [],
1138-
"fileserver_backend": "roots",
1162+
"file_roots": {},
1163+
"fileserver_backend": ["roots"],
11391164
"cachedir": "",
11401165
}
11411166
grains = {

0 commit comments

Comments
 (0)