盐定制谷物和Python版本

时间:2018-12-03 12:19:38

标签: python python-3.x python-2.7 salt-stack salt

我在/srv/salt/_grains中有谷物,这些谷物是在Python2.7环境下使用Ubuntu 14.04编写的。我们开始使用Ubuntu 18.04,并希望在两种环境中使用相同的Salt-Master。问题在于,较新的环境只能理解Python3

有没有一种方法可以为不同的环境指定不同的颗粒?

版本:

salt-minion 2016.3.8 (Boron)  -- Ubuntu 14.04
salt-minion 2017.7.4 (Nitrogen)  -- Ubuntu 18.04

谢谢!

1 个答案:

答案 0 :(得分:0)

You can design it

by 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()

Or by groups https://docs.saltstack.com/en/latest/topics/targeting/

Or define os https://docs.saltstack.com/en/latest/topics/tutorials/states_pt3.html#using-grains-in-sls-modules