Ansible playbook: распечатать сообщение - PullRequest
0 голосов
/ 16 декабря 2018

Возможно, об этом уже спрашивали, но пока не могу найти ничего полезного.

У меня есть эта задача:

 - name: Create folder if not exists
   win_file:
     path: '{{ folder }}'
     state: directory
   when: my_dir.stat.exists == false << this stat has been previously created

 - Debug: msg"folder already exists"

Если я выполню это, вывод в Ans.tower выглядит следующим образом (папка уже существует):

TASK [playbook : Create folder if not exists] ***
17:51:00
23
skipping: [host]


TASK [playbook : debug]    ***************************************
18:16:07
26
ok: [host] => {
27
"msg": "Folder already exists"

Я хочу, чтобы это сообщение печаталось в задаче Создать папку, а не в отдельной задаче.

Помощь будет оценена

1 Ответ

0 голосов
/ 16 декабря 2018

Я бы предложил другую стратегию:

- win_file:
  ...
  register: create

- debug:
    msg: Folder already exists
  when: create.changed == false

Это может не сработать в вашем конкретном случае, но из приведенного примера это будет иметь смысл.file / win_file уже проверили себя, если файл / каталог уже существует.

По поводу вашего фактического вопроса: я думаю, что невозможно объединить две задачи (win_file и debug) в одну,Если вы хотите избежать написания условия дважды, вы можете использовать блоки: https://docs.ansible.com/ansible/latest/user_guide/playbooks_blocks.html

...