salt 'target' grains.items
回用粮的结果,这是一个空列表:
target:
...other grains...
grain_name:
None
...other grains...
所以,后来我可以运行这个自定义盐状态并使用salt.states.grains.append。我的自定义盐状态(通过SLS文件,命名为grains_name_state.sls,在/ SRV /盐/ _files)如下:
grain_name:
grains.append:
- value: whatever_value
我的自定义晶粒模块(经由一个python文件,命名为custom_grain.py,在/ SRV /盐/上的主_grains)如下:
#!/usr/bin/env python
def my_custom_grain():
#initialize an empty grains list for the grain 'grain_name'
grains = {}
grains['grain_name'] = []
return grains
所以,调用 salt 'target' saltutil.sync_grains
应该定制谷物装载到目标仆从。然后,salt 'target' grains.items
应包含目标的结果,并将'grains_name'值显示为None。但相反,它包含此:
target:
...other grains...
grain_name:
...other grains...
然后,当我尝试,salt 'target' state.apply grains_name_state
,它产生一个失败说“评论:粮食grain_name不存在”