2016-04-18 7 views
5

Я создаю пользователя foo на миньоне. Миньон evalutes /etc/default/useradd. Это означает, что мастер соли не знает, будет ли новый $ HOME /home/foo или в нашем случае /localhome/foo.

Как я могу получить $ HOME пользователя foo как переменная jinia?

Мне это нужно в системном файле службы.

Я хотел бы избежать пользовательских данных столбцов, так как это избыточно. Есть ли способ получить это через зерно?

Работает ли он во время обтекания? Сначала пользователь foo должен быть создан, то Systemd файл может быть создан путем поиска $ HOME из foo ...

Это будет работать, если пользователь уже существует:

{{ salt['user.info'](user).get('home') }}/foo: 
    file.recurse: 
    - source: salt://conf/common/foo 

Похожие вопросы : https://github.com/saltstack/salt/issues/7883

ответ

3

Ответ на этот вопрос:

есть ли способ, чтобы получить его через зерна?

1) добавить файл «_grains/homeprefix.py» под file_roots, указанного в файле конфигурации мастер, содержание которого составляет:

#!/usr/bin/env python 
from os.path import dirname, expanduser 

def gethomeprefix(): 
    # initialize a grains dictionary 
    grains = {} 
    # Some code for logic that sets grains like 
    grains['homeprefix'] = dirname(expanduser("~")) 
    return grains 

2) запуска синхронизации ЦМД на мастер для синхронизации зерна Информация к фавориту:

salt '*' saltutil.sync_grains 

3) запустить grains.get на мастер для теста:

salt '*' grains.get homeprefix 

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

  • Нет связанных вопросов^_^