2017-02-14 3 views
0

У меня есть один модуль расширения python в репозитории Git с именем compute_pillar.py.Как использовать модули расширения в солевом стекле из хранилища Git?

Я хочу использовать это в качестве внешнего столба, ниже мои extension_module настройки:

extension_modules: /var/cache/salt/master/gitfs 

gitfs_ssl_verify: False 
gitfs_provider: gitpython 
gitfs_remotes: 
    - [email protected]:Saltstack/saltit-automation.git: 
    - root: salt 
    - base: master 
    - file:///var/cache/salt/master/gitfs 

Ниже мой pillar.conf:

ext_pillar: 
    - cmd_json: 'echo {\"arg\":\"value\"}' 
    - compute_pillar: True 

Теперь при вызове pillar.items, он называет cmd_json как это является локальным, но для compute_pillar он никогда не выполняется, ниже приведено сообщение об ошибке в журнале:

[salt.utils.lazy] [DEBUG] [24791] Не удалось LazyLoad compute_pillar.ext_pillar: 'compute_pillar.ext_pillar' не . [Salt.pillar] [КРИТИЧЕСКОЕ] [24791] указан ext_pillar интерфейс compute_pillar недоступен

Что настройки конфигурации для вызова модулей расширения непосредственно из репозитория?

ответ

0

Вам не нужно указывать соль на /var/cache/salt/master/gitfs.

Предполагая, что ваш gitfs бэкенд настроен правильно и работает, создайте каталог _modules под salt каталогом (например, для корней бэкэнда /srv/salt/_modules) и поместите модуль питона расширения здесь, нажмите на мерзавец, подождите 60 секунд или запустить salt-run fileserver.update.

Теперь просто синхронизируйте свой миньон salt minion_A saltutil.sync_all, и вы должны быть в состоянии использовать модуль.

+0

Это работает как шарм. Большое спасибо. –

Смежные вопросы