Я пытаюсь использовать Ansible для настройки виртуальных хостов Apache вместе с базами данных, но не у всех Vhosts будут базы данных (1 или более).
Я много пробовал и тоже пыталсяадаптироваться от здесь , но на самом деле ничего не получалось. Я делал много попыток и ошибок в течение нескольких часов и придумал следующее:
Мой host_vars
(отрывок):
web_vhosts:
- vhost:
name: domain1.tld
enabled: true
serveradmin_email: info@example.org
https: true
redirect_to_https: true
dns_a_record: 1.2.3.4
update_dns: false
- vhost:
name: domain2.tld
enabled: true
serveradmin_email: info@example.org
https: true
redirect_to_https: true
dns_a_record: 1.2.3.4
update_dns: false
mysql:
- name: wordpress1
user: myuser
password: secret
Вот как далеко я нахожусь:
- name: Ensure databases
mysql_db:
name: "{{ item.1.name }}"
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
when: item.0.mysql is defined
with_subelements:
- "{{ web_vhosts }}"
- "mysql"
Какие ошибки в:
fatal: [examplehost]: FAILED! => {"msg": "could not find 'mysql' key in iterated item '{'vhost': {'name': 'domain1.tld', 'enabled': True, 'serveradmin_email': 'info@example.org', 'https': True, 'redirect_to_https': True, 'dns_a_record': '1.2.3.4', 'update_dns': False}}'"}
Может кто-нибудь помочь мне понять, что не так?