小兵没有捡起多个支柱来源
Minion not picking up multiple pillar sources
我遇到了一个问题,一个 minion 没有获取支柱信息的两个来源,而是只获取了最后一个引用的来源。例如,以下是我的 /srv/pillar/top.sls:
base:
'client.id':
- users.support
- users.dev
我的/srv/pillar/users/support.sls内容如下:
users:
- name: supportname
fullname: Name of Support user
uid: 1001
groups:
- sudo
- support
我的/srv/pillar/users/dev.sls的内容如下:
users:
- name: devname
fullname: Name of Dev user
uid: 1002
groups:
- dev
当调用salt 'client.id' pillar.items
时,它只会显示最后指定的支柱(对于这个例子,只会显示开发信息)。如果我要切换顺序,则会显示相反的内容。我真的不知道是什么原因造成的。
非常感谢任何帮助。
非常感谢,
大卫
目前,SaltStack 对支柱 [1] 的合并策略有限。在您的例子中, users
键被定义为一个列表。列表不能合并到支柱中,因此最后解析的支柱获胜。这就是你所看到的。
但是,只要键不同,字典就会合并。您可以根据需要使用它:
/srv/pillar/users/support.sls:
users:
supportname:
fullname: Name of Support user
uid: 1001
groups:
- sudo
- support
/srv/pillar/users/dev.sls:
users:
devname:
fullname: Name of Dev user
uid: 1002
groups:
- dev
您将以包含两个条目的 users
字典结束:supportname
和 devname
。例如,您可以使用 for username, userdef in salt['pillar.get']('users', {}).iteritems()
对其进行循环。
[1] https://docs.saltstack.com/en/latest/topics/pillar/#pillar-namespace-merges
我遇到了一个问题,一个 minion 没有获取支柱信息的两个来源,而是只获取了最后一个引用的来源。例如,以下是我的 /srv/pillar/top.sls:
base:
'client.id':
- users.support
- users.dev
我的/srv/pillar/users/support.sls内容如下:
users:
- name: supportname
fullname: Name of Support user
uid: 1001
groups:
- sudo
- support
我的/srv/pillar/users/dev.sls的内容如下:
users:
- name: devname
fullname: Name of Dev user
uid: 1002
groups:
- dev
当调用salt 'client.id' pillar.items
时,它只会显示最后指定的支柱(对于这个例子,只会显示开发信息)。如果我要切换顺序,则会显示相反的内容。我真的不知道是什么原因造成的。
非常感谢任何帮助。
非常感谢,
大卫
目前,SaltStack 对支柱 [1] 的合并策略有限。在您的例子中, users
键被定义为一个列表。列表不能合并到支柱中,因此最后解析的支柱获胜。这就是你所看到的。
但是,只要键不同,字典就会合并。您可以根据需要使用它:
/srv/pillar/users/support.sls:
users:
supportname:
fullname: Name of Support user
uid: 1001
groups:
- sudo
- support
/srv/pillar/users/dev.sls:
users:
devname:
fullname: Name of Dev user
uid: 1002
groups:
- dev
您将以包含两个条目的 users
字典结束:supportname
和 devname
。例如,您可以使用 for username, userdef in salt['pillar.get']('users', {}).iteritems()
对其进行循环。
[1] https://docs.saltstack.com/en/latest/topics/pillar/#pillar-namespace-merges