如何解决Saltstack:错误:无法从 minion 中的 saltenv 库缓存文件“salt://foo/bar/test.sh”
我在 salt prod 和 nonprod 中配置了 2 个 env。在 nonprod env 中,我正在尝试安排一个将在 minion 中运行脚本的作业。
这些是我的文件看起来像... Salt 版本是 3001.1
/etc/salt/master
file_roots:
nonprod:
- /srv/salt/nonprod
prod:
- /srv/salt/prod
pillar_roots:
nonprod:
- /srv/nonprod_pillar
prod:
- /srv/prod_pillar
/srv/salt/nonprod/top.sls
nonprod:
minion1:
- match: glob
- foo.bar
/srv/salt/nonprod/foo/bar/init.sls
backup_job:
schedule.present:
- function: cmd.script
- job_args:
- salt://foo/bar/test.sh
- env: nonprod
- when:
- Monday 02:36am
脚本“test.sh”存在于 /srv/salt/nonprod/foo/bar/test.sh
谁能告诉我我做错了什么。
解决方法
该错误表明 Minion 正在“base”环境中寻找 test.sh
。您与环境名称一起传递的 job_args
可能被忽略了。
还有另一种从 Salt Master 引用文件的方法 - 通过将 ?saltenv=<envname>
附加到文件源。
类似于以下内容:
backup-job:
schedule.present:
- function: cmd.script
- job_args:
- salt://foo/bar/test.sh?saltenv=nonprod
- when:
- Monday 10:30pm
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。