Ansible 失效"skipping: no hosts matched"与 ansible-pull



我尝试使用ansible pull and synchronize模块将文件从远程服务器同步到本地服务器。我使用ansible pull失败并显示"跳过:没有匹配的主机",但当我将剧本文件复制到本地服务器并作为ansible剧本运行时,它就工作了。

我的主机设置

localhost ansible_connection=local
[sync_server]
sync_1 ansible_host=11.22.33.44

战术手册文件

---
- name: Sync Test
hosts: sync_server
tasks:
- name: Start Sync
synchronize:
mode: pull
src: /home/sourcefiles
dest: /home/syncfiles/
  • ansible版本2.5.1
  • python 2.7.17版本
  • 同步服务器和客户端操作系统ubuntu 18.04

如果没有更多的细节(尤其是你实际执行的命令,或者至少是一个没有真正VCS存储库的轻微修改版本(,你可能没有调用指定了主机/库存文件的剧本,或者你的库存可能没有被正确解析。

您可以运行CCD_ 1来查看已经"关闭"的主机的列表;检测到";使用此库存。您还应该检查ansible-config dump | grep DEFAULT_HOST_LIST,看看您是否正在指定库存的路径。

如果问题所在,那么您应该尝试以下操作之一:

  1. 使用(至少(以下行配置ansible.cfg:
[defaults]
inventory = hosts
  1. 使用开关--inventory(可以缩写为-i(和库存文件的路径来尝试ansible-pull,如下所示:ansible-pull --inventory hosts --url http://example.org/my/vcs.git playbook.yml

最新更新