Как запустить службу, проверив группу хостов в инвентаре, используя инструкцию when - PullRequest
0 голосов
/ 27 января 2020

Может кто-нибудь помочь мне достичь ниже.

В моем файле инвентаря ansible есть разные группы. Мне нужно выполнить несколько команд для одной группы и несколько для другой группы в одной книге.

Я написал Playbook, как показано ниже, для исполнения в одной группе, и это хорошо, но мне нужно объединить все в одну книгу.

---
- name: chekcing Service status
  hosts: hari
  tasks:
  - name : service status
    shell: systemctl status "{{item}}"
    with_items:
     - 'jboss_prod'

Подскажите, пожалуйста.

1 Ответ

0 голосов
/ 27 января 2020

Для другой задачи в другой группе вы можете написать, как показано ниже.

---
- hosts: host1
  tasks:
  - name : service status
    shell: systemctl status "{{item}}"
    with_items:
     - 'jboss_prod'

- hosts: host2
  tasks:
  - name : service status
    shell: systemctl status "{{item}}"
    with_items:
     - 'apache_prod'

Как уже упоминалось в комментариях, вы также можете использовать модуль systemd для проверки статуса сервиса. например: (из ansible документов)

- name: Make sure a service is running
  systemd:
    state: started
    name: httpd
...