盐定制谷物和 Python 版本
Salt custom grains and Python version
我在 /srv/salt/_grains
中有 grains,它们是使用 Python2.7
为 Ubuntu 14.04
环境编写的。我们开始使用 Ubuntu 18.04
并希望在两个环境中使用相同的 Salt-Master。问题是较新的环境只能理解Python3
.
有没有办法针对不同的环境指定不同的grains?
版本:
salt-minion 2016.3.8 (Boron) -- Ubuntu 14.04
salt-minion 2017.7.4 (Nitrogen) -- Ubuntu 18.04
谢谢!
你可以设计它
来自 env https://fabianlee.org/2016/10/05/saltstack-creating-a-custom-grain-using-python/
envtypegrain.py
#!/usr/bin/python
import socket
import logging
log = logging.getLogger(__name__)
def environment():
hostname = socket.gethostname().upper()
log.debug("envtypegrain hostname: " + hostname)
if "-DEV" in hostname:
return {'envtype':'dev'}
elif "-TEST" in hostname:
return {'envtype':'test'}
elif "-PROD" in hostname:
return {'envtype':'prod'}
else:
return {'envtype':'n/a'}
if __name__ == "__main__":
print environment()
或按组 https://docs.saltstack.com/en/latest/topics/targeting/
或定义os https://docs.saltstack.com/en/latest/topics/tutorials/states_pt3.html#using-grains-in-sls-modules
我在 /srv/salt/_grains
中有 grains,它们是使用 Python2.7
为 Ubuntu 14.04
环境编写的。我们开始使用 Ubuntu 18.04
并希望在两个环境中使用相同的 Salt-Master。问题是较新的环境只能理解Python3
.
有没有办法针对不同的环境指定不同的grains?
版本:
salt-minion 2016.3.8 (Boron) -- Ubuntu 14.04
salt-minion 2017.7.4 (Nitrogen) -- Ubuntu 18.04
谢谢!
你可以设计它
来自 env https://fabianlee.org/2016/10/05/saltstack-creating-a-custom-grain-using-python/
envtypegrain.py
#!/usr/bin/python
import socket
import logging
log = logging.getLogger(__name__)
def environment():
hostname = socket.gethostname().upper()
log.debug("envtypegrain hostname: " + hostname)
if "-DEV" in hostname:
return {'envtype':'dev'}
elif "-TEST" in hostname:
return {'envtype':'test'}
elif "-PROD" in hostname:
return {'envtype':'prod'}
else:
return {'envtype':'n/a'}
if __name__ == "__main__":
print environment()
或按组 https://docs.saltstack.com/en/latest/topics/targeting/
或定义os https://docs.saltstack.com/en/latest/topics/tutorials/states_pt3.html#using-grains-in-sls-modules