это явно нужно, при явно заданной переменной или по тегу, потому что в обычных условиях переменная, которая указывает на группу хостов, не задана.
Но ошибка падает в любом случае, даже при явном указании skip-tags.
ansible-playbook test_play.yml --skip-tags do_not_import
---
# test_play.yml
- name: Do not import this
import_playbook: do_not_import.yml
when: nonexistent_group is defined
tags:
- never
- do_not_import
---
# do_not_import.yml
- hosts: '{{ nonexistent_group }}'
tasks:
- name: dbg
debug:
msg: 'Do not run this'
Понятно, что include_playbook не поддерживает when, issue на эту тему есть https://github.com/ansible/ansible/issues/34281
Понятно, что include - статический.
Есть ли работающие способы пропустить плей с неопределённым hosts?
Вы хотите странного. Зачем импортировать плейбук, который вы не собираетесь исполнять?
Обсуждают сегодня