获得Ansible示例(jboss-standalone)与Vagrant合作

时间:2015-04-17 18:34:39

标签: yaml ansible inventory

我需要一些帮助,让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主机名相同。

有人可以帮我解决此错误。

谢谢:)

数。

1 个答案:

答案 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的子组:)