我正在尝试使用Salt状态文件来配置网络设备。我将简要描述我当前的设置:我有一个/etc/ ntp.sls /ntp.sls/ntp.sls格式的pillar盐文件,它看起来像这样:
ntp.servers:
- 11.1.1.1
- 2.2.2.2然后我将Jinja模板另存为/etc/salt/states/ntp/ template /ntp.jinja,如下所示:
{%- for server in servers %}
ntp {{ server }}
{%- endfor %}最后,我将状态文件保存为/etc/salt/states/ntp/init.sls,如下所示:
ntp_example:
netconfig.managed:
- template_name: salt://ntp/templates/ntp.jinja
- debug: true
- servers: {{ salt.pillar.get('ntp.servers') }}我在尝试运行该命令时遇到以下错误: sudo salt sw state.sls ntp,其中sw是代理minion,因此错误如下:
sw:
Data failed to compile:
ID ntp.servers in SLS ntp is not a dictionary从支柱获取数据的命令正在运行,命令: sudo salt sw pillar.get ntp.servers输出:
sw:
- 11.1.1.1
- 2.2.2.2有什么建议可能是错误的,以及如何修复它?谢谢
发布于 2021-07-18 19:01:42
我认为您应该在/etc/salt/pillar/ntp.sls中声明如下内容:
ntp-servers:
- 11.1.1.1
- 2.2.2.2然后使用以下命令加载这些值:
- servers: {{ salt.pillar.get('ntp-servers') }}.是SaltStack中的目录分隔符。
https://stackoverflow.com/questions/66448382
复制相似问题