我创建了一个Ansible攻略来配置:-一个数据库服务器-一个nginx & php服务器
数据库服务器需要知道php服务器ip地址才能配置数据库访问权限。for服务器需要知道数据库服务器ip地址,才能配置网站的数据库访问。我尝试使用delegate_facts:
vars:
Database_server_name: "SVWEB-03"
Web_server_name: "SVWEB-02"
- name: Web server ip address
set_fact:
Web_server_ip: "{{ ansible_default_ipv4.address }}"
delegate_to: "{{ Web_server_name }}"
delegate_facts: True
when:
- "Database_server_name in inventory_hostname"
- name: Database server ip address
set_fact:
Database_server_ip: "{{ ansible_default_ipv4.address }}"
delegate_to: "{{ Database_server_name }}"
delegate_facts: True
when:
- "Web_server_name in inventory_hostname"
- debug:
msg: "{{ Web_server_ip }}"
when:
- "Database_server_name in inventory_hostname"
- debug:
msg: "{{ Database_server_ip }}"
when:
- "Web_server_name in inventory_hostname"但我有错误:
TASK [Web server ip address] ***************************************************************************************************
skipping: [SVWEB-02]
ok: [SVWEB-03 -> SVWEB-02]
TASK [Database server ip address] ************************************************************************************************
skipping: [SVWEB-03]
ok: [SVWEB-02 -> SVWEB-03]
TASK [debug] ***************************************************************************************************************
skipping: [SVWEB-02]
fatal: [SVWEB-03]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'Web_server_ip' is undefined\n\nThe error appears to have been in '/home/murmure/ansible/playbooks/Install_Wordpress_Separate_DB_and_Web.yml': line 64, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - debug:\n ^ here\n"}
TASK [debug] ***************************************************************************************************************
fatal: [SVWEB-02]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'Database_server_ip' is undefined\n\nThe error appears to have been in '/home/murmure/ansible/playbooks/Install_Wordpress_Separate_DB_and_Web.yml': line 69, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - debug:\n ^ here\n"}有人知道我的错误吗?
发布于 2019-02-20 09:41:36
我相信你需要的是hostvars
- name: Database server ip address
set_fact:
Database_server_ip: "{{ hostvars.Database_server_name.ansible_default_ipv4.address }}"https://stackoverflow.com/questions/54776616
复制相似问题