Подтвердить что ты не робот

Ansible: как использовать переменную ${item} from from_items в уведомлении?

Я новичок в Ansible, и я пытаюсь создать несколько виртуальных сред (по одному для каждого проекта, список проектов определяется в переменной).

Задача работает хорошо, я получил все папки, однако обработчик не работает, он не запускает каждую папку с виртуальной средой. Параметр ${item} varialbe в обработчике не работает. Как я могу использовать обработчик, когда я использую with_items?

  tasks:    
    - name: create virtual env for all projects ${projects}
      file: state=directory path=${virtualenvs_dir}/${item}
      with_items: ${projects}
      notify: deploy virtual env

  handlers:
    - name: deploy virtual env
      command: virtualenv ${virtualenvs_dir}/${item}
4b9b3361

Ответ 1

Обработчики просто "помечены" для выполнения, как только любая запрошенная (подчиненная подзадача) запрашивает его (в результате получилось изменение: да). В то время обработчики точно так же, как и следующие обычные задачи, и не знают о детализации цикла.

Возможное решение не с обработчиком, а с extratask + условным

Что-то вроде

- hosts: all 
  gather_facts: false
  tasks:
  - action: shell echo {{item}}
    with_items:
    - 1 
    - 2 
    - 3 
    - 4 
    - 5 
    register: task
  - debug: msg="{{item.item}}"
    with_items: task.results
    when: item.changed == True