我想知道在/ etc/salt/master中声明环境的效用是什么?了解盐环境
实施例:
file_roots:
base:
- /srv/salt
env1:
- /srv/salt/env1
这是/ SRV /盐树:
.
├── base
├── env1
│ └── domain1
│ ├── init.sls
│ └── nginx.conf
└── top.sls
而top.sls:
env1:
'*':
- env1.domain1
这里面的ENV1 init.sls/domain1/
/etc/nginx/nginx.conf:
file.managed:
- source: salt://env1/domain1/nginx.conf
当执行:
salt '*' state.sls env1.domain1
一切工作正常。
但随着highstate:
# salt '*' state.highstate
myHost:
Data failed to compile:
----------
No matching sls found for 'env1.domain1' in env 'env1'
鉴于环境 “ENV1” 在主config.I声明改变了我的配置,我已经把:的
- source: salt://domain1/nginx.conf
代替:
- source: salt://env1/domain1/nginx.conf
我有这个错误:
Comment: Source file salt://domain1/nginx.conf not found
是否有配置错误的地方? 什么是宣布在主人的conf环境的效用, 如果我们不能把它直接使用salt://subfolder
,而不是直接salt://environment/subfolder
?
我无法找到有关创建环境和使用它们的好文档!
===编辑===
这是新的配置:
主:
file_roots:
base:
- /srv/salt/base
env1:
- /srv/salt/env1
的/ SRV /盐树
.
├── base
│ └── init.sls
├── conf_template
├── env1
│ └── domain1
│ ├── init.sls
│ └── nginx.conf
└── top.sls
top.sls:
base:
'*':
- init
env1:
'*':
- domain1
而ENV1 /域1 /初始化。SLS:
/etc/nginx/nginx.conf:
file.managed:
- source: salt://domain1/nginx.conf
和执行结果:
salt '*' state.sls env1.domain1
myHost:
Data failed to compile:
----------
No matching sls found for 'env1.domain1' in env 'base'
这个github问题(评论对话框)帮助我解决了这个问题:https://github.com/saltstack/salt/issues/10447 – 2015-11-05 21:08:03