Соль пользовательских зерна и версия Python - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть зерна в /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 голосов
/ 03 декабря 2018

Вы можете создать его

с помощью 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/

Или определить ОС https://docs.saltstack.com/en/latest/topics/tutorials/states_pt3.html#using-grains-in-sls-modules

...