无法使用其他主机 IP 地址配置主机



我创建了一本可配置的Ansible Playbook: - 数据库服务器 - nginx&PHP服务器

数据库服务器需要了解PHP服务器IP地址以配置数据库访问权限。Web服务器需要了解数据库服务器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 undefinednnThe error appears to have been in '/home/murmure/ansible/playbooks/Install_Wordpress_Separate_DB_and_Web.yml': line 64, column 7, but maynbe elsewhere in the file depending on the exact syntax problem.nnThe offending line appears to be:nnn    - debug:n      ^ heren"}
TASK [debug] ***************************************************************************************************************
fatal: [SVWEB-02]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'Database_server_ip' is undefinednnThe error appears to have been in '/home/murmure/ansible/playbooks/Install_Wordpress_Separate_DB_and_Web.yml': line 69, column 7, but maynbe elsewhere in the file depending on the exact syntax problem.nnThe offending line appears to be:nnn    - debug:n      ^ heren"}

有人对我的错误有一个想法吗?

我相信您需要的是hostvars

- name: Database server ip address
  set_fact:
    Database_server_ip: "{{  hostvars.Database_server_name.ansible_default_ipv4.address  }}"

最新更新