2016-02-06 7 views
1

Как часть моей загрузочной книги Ansible я устанавливаю и устанавливаю RPM из внутреннего репозитория. Этот RPM поставляется в комплекте с конфигурацией. Для большинства моих машин мне не нужно изменять эту конфигурацию. Однако для небольшого подмножества, определяемого несуществующей группой, мне нужно изменить несколько полей конфигурации.Модифицированные файлы после установки RPM

Я предполагаю, что мне нужно сделать что-то так: установлен

  1. Подождите, пока мой RPM и «работает»
  2. Остановите службу
  3. Измените файл конфигурации каким-то образом? Используйте предложение when, чтобы ограничить его группой, которую я хочу изменить.
  4. перезапустить службу

Или, возможно, Существует лучший способ добиться, чтобы это сделать. Может ли кто-нибудь там предложить, как я мог бы достичь своей общей цели?

ответ

0

Ваша четырехэтапная процедура выглядит хорошо для меня. Возможно, перед изменением конфигурации обслуживание не нужно останавливать.

Я бы создал роль Ansible, в которой определены необходимые задачи. Базовая структура для роли создается командой ansible-galaxy init.

ansible-galaxy init my_role 

Файл конфигурации может быть изменен (или, вернее, генерируется) с помощью Ansible's template module:

- name: Modify the configuration file 
    template: src=myconf.cnf.j2 dest=/etc/myconf.cnf 
    when: "'my_group_name' in group_names" 
    notify: Restart the service 

Это будет работать только для хозяев, которые принадлежат к группе my_group_name. Шаблон myconf.cnf.j2 можно найти по адресу: my_role/templates. Служба будет перезапущена только тогда, когда в задании был отправлен обработчик Restart the service. Обработчик должен быть помещен в my_role/handlers/main.yml файл:

- name: Restart the service 
    service: name=service_name state=restarted 
+0

Привет, спасибо за совет. Это сработало для меня. Я также узнал, почему мой сервис начинается. Я использую runit и по умолчанию запускает сервис. Мне пришлось изменить конфигурацию, чтобы убедиться, что она не работает. Теперь работает рабочий процесс. – anoneironaut

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