Я хочу, чтобы определить анзибль роль и регистрации динамических переменных:Как динамически регистрировать переменные с помощью Ansible?
---
- name: Check for {{ package }}
stat: path=/opt/packages/{{ package }}
register: "{{ package | regex_replace('-', '_') }}"
- name: Install {{ package }} {{ package_version }}
command: "custom-package-installer {{ package }} {{ package_version }}"
when: "not {{ package | regex_replace('-', '_') }}.stat.exists"
Использование выглядит следующим образом:
- include: install_package.yml package=foo package_version=1.2.3
Однако анзибль не признает условное:
TASK: [example | Install foo 1.2.3] ***********************************
fatal: [my-server] => error while evaluating conditional: not foo.stat.exists
FATAL: all hosts have already failed -- aborting
Как я могу определить переменные динамически, расширяя {{
}}
?
http://stackoverflow.com/questions/29512443/register- dynamic-variable-names-in-ansible-playbook – pcrews