首先,我看到很多类似标记的帖子,但没有一个有效的...
我有一个现有的Ansible主机,我成功地用它来向其他服务器部署软件。我想使用Vagrant设置一个测试环境,运行我的现有playbook(s)而不需要任何更改。
我在另一台服务器上安装了Ansible和Vagrant,并复制了playbook、清单和组/主机vars文件。
然而,当我运行vagrant up时,它会在Vagrant主机上使用Ansible(远程)provisioner调用playbook,并在针对主机localhost运行时给出以下消息。
剧本(提取)如下所示:
我在另一台服务器上安装了Ansible和Vagrant,并复制了playbook、清单和组/主机vars文件。
然而,当我运行vagrant up时,它会在Vagrant主机上使用Ansible(远程)provisioner调用playbook,并在针对主机localhost运行时给出以下消息。
PLAY [Set fact for later use] **************************************************
skipping: no hosts matched
剧本(提取)如下所示:
- name: Set fact for later use
hosts: localhost
tasks:
- name: set number of hosts for later use
set_fact: num_hosts="{{ groups[tagname] | length }}"
我也尝试过以下方法:
- name: Set fact for later use
hosts: 127.0.0.1
connection: local
tasks:
- name: set number of hosts for later use
set_fact: num_hosts="{{ groups[tagname] | length }}"
我的静态库存(摘录)如下:
'# Ungrouped hosts, specify before any group headers.
localhost ansible_connection=local
我尝试过使用动态清单和在playbook和清单文件中使用各种组合的 localhost
/127.0.0.1
,但该步骤总是被跳过在Vagrant主机上。