как сделать так, чтобы его показывали только тогда, когда наложенное условие моего когда выполнено - PullRequest
2 голосов
/ 03 февраля 2020

У меня есть краткий отрывок из ansible Playbook ниже, где он просто проверяет наличие каталога на сервере, когда Playbook не отвечает и закрывается, то есть, если он не существует, однако я Я сталкиваюсь с трудностями при создании сообщения отладки, потому что, даже если на него дан ответ true или false , показывается сообщение, как сделать так, чтобы оно отображалось только when наложенным условием my когда выполнено, в этом случае , если каталог не существует .

---
- hosts: all
  tasks:

  - name: Ansible check directory exists.
    stat:
      path: /opt/Zabbix/HC/
    register: result_dir

  - meta: end_play
    when: not result_dir.stat.exists
  - debug:
      msg: "Directory not exists"

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Возможно поместить его в блок . Например

    - block:
        - debug:
            msg: "Directory not exists. End of play."
        - meta: end_play
      when: not result.stat.exists

    - debug:
        msg: "Directory exists. Continue play."
1 голос
/ 03 февраля 2020
- hosts: all
  tasks:
      - name: Ansible check directory exists.
        stat:
             path: /opt/Zabbix/HC/
        register: result_dir

      - debug:
             msg: "Directory not exists"
        when: result_dir.stat.exists == false

      - meta: end_play
        when: result_dir.stat.exists == false

это вам поможет.

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