Опитвам се да използвам for цикъл като по-долу в моя файл /srv/salt/top.sls.
{%- set prjlist = salt['file.find']('/srv/salt/projects',type='d',mindepth=1,maxdepth=1,print='name') %}
# {{ prjlist }}
{%- for prj in prjlist %}
'role:{{ prj }}_server':
- match: pillar
- projects.{{ prj }}.server
{%- endfor %}
Когато стартирам "salt -l debug myhost state.apply test=True" не съответства на очакваната роля с блока for по-горе. Въпреки това, ако заменя присвояването на prjlist с твърдо кодирания списък, този find.file трябва да се връща като с
{%- set prjlist = ['expected'] %}
тогава солта намира ролята според очакванията ¯\_(⊙︿⊙)_/¯.
Ако направя "salt-call -l debug state.show_highstate" и погледна изобразения top.sls изход, когато използвам команда salt['file.find'], редът за коментари се показва като
#[u'expected']
Но ако използвам твърдо кодиран списък, коментарите стават
#['expected']
Освен това изобразените блокове изглеждат еднакви.
Използвам версия 2018.3.0 (Oxygen).
Има ли нещо нередно с реда сол['file.find']?
Има ли друг, по-добър начин, който трябва да използвам, за да получа списък с директориите под /srv/salt/projects на salt-master?