2017-02-07 5 views
2

Есть ли способ остановить работу обработчиков? Я пытался добавить тег и использовать для него «-skip-tags», но он не работает.Отключить обработчики от работы

Я мог бы добавить следующую переменную роли reload_service: true и использовать ее, но я уже начал использовать теги, и они отлично работают, чтобы просто повторно запустить часть роли.

Обработчики обычно используются для перезапуска служб, и я хочу запустить эту роль без запуска службы без изменения переменных роли, чтобы охватить следующий случай.

Я использую ansible 2.1.2.0

Контрольный пример:

mkdir -p test/role/handlers test/role/tasks cd test echo -ne '---\n - command: "echo Test"\n notify: restart\n' > role/tasks/main.yml echo -ne '---\n- name: restart\n command: "echo Handler"\n tags: [handlers]\n' > role/handlers/main.yml echo -ne '---\n- hosts: localhost\n gather_facts: false\n roles:\n - role\n' > play.yml ansible-playbook play.yml --skip-tags handlers

+0

Это непонятное: «* Я хочу, чтобы запустить эту роль без запуска службы, не меняя роли, чтобы покрыть следующий случай *.» – techraf

+0

@techraf я имел в виду, что я не хочу, чтобы изменить переменные, в идеале я не должен имеют любые условные переменные типа 'rsyslog_add_service: true', но я бы просто использовал теги, которые легче контролировать. – alkuzad

+0

Но вы не можете использовать теги. В чем вопрос? И вы не объяснили, что означало это предложение - я не вижу связи. – techraf

ответ

3

Там в настоящее время нет переменной в анзибль, которая позволяет проверить, какие теги были заданы во время выполнения.

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

Некоторые опции:

  • Добавить еще одну переменную к задаче и использовать это, так как обработчики все еще может быть обусловлена ​​«где:» п.

  • Попросите обработчик включить другой файл с действием и назначенным тегом. Файл всегда будет включен, но тег сделает действие условным.

  • Есть тегированное действие в задаче, которое затем устанавливает локальную переменную для обработчика. Это преобразование в задаче позволит использовать теги во время выполнения.

+0

yep Это только допустимые варианты, однако я разочарован тем, насколько разделен доступный, я просто переключаюсь на соль. – alkuzad

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

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