Vagrant 使用Ansible主机会导致“--limit”与任何主机都不匹配

Vagrant 使用Ansible主机会导致“--limit”与任何主机都不匹配,vagrant,ansible,host,Vagrant,Ansible,Host,我的Vagrantfile看起来像: [localhost] localhost # 192.168.100.100 Vagrant.configure(“2”)do | config| config.vm.box=“vag-box” config.vm.box\u url=“box/base.box” config.vm.network:private_网络,ip:“192.168.100.100” config.vm.provision:setup,type::ansible|u loca

我的
Vagrantfile
看起来像:

[localhost]
localhost # 192.168.100.100
Vagrant.configure(“2”)do | config|
config.vm.box=“vag-box”
config.vm.box\u url=“box/base.box”
config.vm.network:private_网络,ip:“192.168.100.100”
config.vm.provision:setup,type::ansible|u local do | ansible|
ansible.playbook=“playbook.yml”
ansible.provisioning_path=“/vagrant”
ansible.inventory_path=“/vagrant/hosts”
结束
结束
我的剧本文件如下所示:

[localhost]
localhost # 192.168.100.100
---
-名称:安装系统
主机:本地主机
变成:真的
成为用户:root
角色:
-{角色:角色1}
-{角色:role2}
我的主机文件如下所示:

[localhost]
localhost # 192.168.100.100
在ansible执行期间,我收到以下错误:

错误!指定--限制与任何主机不匹配首先:“localhost”是按约定分配给127.0.0.1地址的名称。这是指本地计算机的环回地址。根据您的主机文件中的注释,我认为这不是您试图使用它的目的

第二:Vagrant中的Ansible provisioner通常会创建一个自定义库存文件,其中包含提供Vagrant box所需的内容。例如:

# Generated by Vagrant

myvagrantbox ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user='vagrant' ansible_ssh_private_key_file='/home/sage/ansible/vagrant/myvagrantbox/.vagrant/machines/myvagrantbox/virtualbox/private_key'
在覆盖清单文件时,需要为vagrant框的主机名指定类似的行

如果您在配置中省略了
ansible.inventory\u path=“/vagrant/hosts”
行,它应该只起作用(tm)。您可能还希望在配置中指定
config.vm.hostname=“myvagrantboxname”
,以便知道将使用什么主机名


有关更多详细信息,请参阅和文档。

我无法获得与您相同的错误,但基本上您不需要定义格式的hosts文件。您可以针对
hosts:localhost
运行playbook,而无需定义组
localhost
。注释掉ansible.inventory\u路径并检查。我认为您应该先阅读文档。与这个问题有关的那个