首页 > 解决方案 > Ansible 同步模块 delegate_to 无法解析主机名

问题描述

我正在使用同步模块将文件从 serverA 传输到服务器 B。我的 serverA 和 serverB 主机是:

[serverB]
172.20.13.201    ansible_user=root   ansible_ssh_pass="hi12#$"
172.20.13.202    ansible_user=root   ansible_ssh_pass="hi12#$"
172.20.13.203    ansible_user=root   ansible_ssh_pass="hi12#$"

[serverA]
172.20.5.121    ansible_user=root   ansible_ssh_pass="hi12#$"

我的ansible剧本是

- hosts: serverB
  tasks:
   - name: Copy Remote-To-Remote
     remote_user: root
     synchronize: src=/root/connection dest=/root/neutron-server.log
     delegate_to: serverA

但它错误

TASK [Copy Remote-To-Remote] ***************************************************
fatal: [172.20.13.201]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname servera: nodename nor servname provided, or not known", "unreachable": true}
fatal: [172.20.13.202]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname servera: nodename nor servname provided, or not known", "unreachable": true}
fatal: [172.20.13.203]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname servera: nodename nor servname provided, or not known", "unreachable": true}

为什么同步无法解析主机名' servera '?在我的主机文件中,它是serverA

标签: ansible

解决方案


serverA是组的名称。没有这样的主机。(组中可能有更多的主机serverA。很难决定要委托哪个主机。)

尝试委托到 172.20.5.121

- hosts: serverB
  tasks:
   - name: Copy Remote-To-Remote
     remote_user: root
     synchronize: src=/root/connection dest=/root/neutron-server.log
     delegate_to: 172.20.5.121

推荐阅读