ОШИБКА: задачи не являются допустимым параметром - Ansible playbook

В моей пьесе у меня есть условный оператор включения для включения задачи:

  tasks:
    # Install Java if not present
  - name: Execute Java
    shell: java -version
    register: result
    ignore_errors: True

  - include: tasks/java.yml
    when: result | failed
    ...

Когда я запускаю playbook, он выдает ошибку:

user1@localhost:~ ansible-playbook tomcat.yml
ERROR: tasks is not a legal parameter in an Ansible task or handler

Однако, когда я заменяю этот оператор include на shell или что-то еще, playbook работает, как и ожидалось.... Ansible docs говорит, что задача может быть включена условно, так почему я получаю здесь ошибку?


person Tariq    schedule 04.08.2014    source источник


Ответы (2)


Решение. Вы должны исключить часть "tasks:" во включаемом файле.

Почему это не удается: когда вы включаете, вы уже находитесь в разделе tasks, так что для Ansible это выглядит так:

- tasks:
    tasks:
      - name: https://www.digitalocean.com/pricing/
        ...
person Ramon de la Fuente    schedule 04.08.2014
comment
Спасибо. У меня точно такая же проблема. Можно попросить вас рассказать о решении? - person shgnInc; 16.09.2014

Это происходит, когда вы определяете «задачи» внутри «задач».

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

person Tim    schedule 06.04.2015