我需要一些帮助,让https://github.com/ansible/ansible-examples.git / jboss-standalone与Vagrant合作。我认为我使用我的Vagrant配置犯了同样的错误。
我的Vagrantfile在这里:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "chef/centos-6.6"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.hostname = "webserver1"
config.vm.provision :ansible do |ansible|
ansible.playbook = "site.yml"
ansible.verbose = "vvvv"
ansible.inventory_path = "/Users/miledavenport/vagrant-ansible/jboss-standalone/hosts"
end
end
我的主持人文件在这里:
# Generated by Vagrant
default ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222
[jboss-servers]
webserver1
[webserver1]
127.0.0.1 ansible_connection=local
[localhost]
127.0.0.1
我使用ansible是相当新的,并希望通过使用Vagrant与Ansible“玩”。
“vagrant up”会产生以下错误:
TASK: [jboss-standalone | Install Java 1.7 and some basic dependencies] *******
FATAL: no hosts matched or all hosts have already failed -- aborting
“vagrant ssh”工作正常。
site.yml是:
---
# This playbook deploys a simple standalone JBoss server.
- hosts: jboss-servers
user: root
roles:
- jboss-standalone
我不明白为什么我收到错误: 致命:没有匹配的主机
主机包含webserver1,它与Vagrantfile主机名相同。
有人可以帮我解决此错误。
谢谢:)
数。
答案 0 :(得分:0)
也许你的意图是创建一个名为jboss-servers的父组,其子组名为webserver1
尝试将[jboss-servers]
更改为[jboss-servers:children]
这将使组jboss-servers也包含127.0.0.1作为其主机,并且您的playbook应该运行。 Link to DOCS
由于webserver1没有与之关联的KVP ansible_ssh_host=<ip>
,因此它只是一个没有ip连接的主机名。只有当你没有将webserver1映射到/ etc / hosts文件中的某些IP或其他东西时,才使它成为jboss-servers的子组:)