0

我跟着从官方教程:http://docs.ansible.com/ansible/guide_vagrant.html如何在本地使用Ansible和Vagrant?

Vagrantfile样子:

VAGRANTFILE_API_VERSION = '2' 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.box = 'bento/centos-7.2' 

    # SSH default root user 
    config.ssh.username = 'root' 
    config.ssh.password = 'vagrant' 

    # Networking 
    # config.vm.network :private_network, ip: '192.168.33.16' 

    # Provisioning 
    config.vm.provision :ansible do |ansible| 
    ansible.playbook = 'playbooks/main.yml' 
    end 
end 

而且我test.sh脚本:

ansible-playbook \ 
    --private-key=.vagrant/machines/default/virtualbox/private_key \ 
    -u vagrant \ 
    -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory \ 
    playbooks/main.yml \ 
    [email protected] 

但是当我运行该脚本,我收到以下错误:

fatal: [default]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true} 
    to retry, use: --limit @playbooks/main.retry 

PLAY RECAP ********************************************************************* 
default     : ok=0 changed=0 unreachable=1 failed=0 

如何测试ansible-playbookVagrant

+0

您可以使用'-i“localhost,''对本地主机运行一个手册。但你确定这就是你想要的吗?你不想针对你创建的虚拟机运行吗? –

+0

也许我对你的问题的标题读得太多了。 –

+0

我创建了Vagrant机器,并且我想要再次运行特定的Playbook。 – squixy

回答

0

如果你想运行ansible反对主机然后流浪者已经有ansible_local供应商。

要运行此操作,必须首先在guest虚拟机上安装ansible(如果它尚未安装)。这可以从Vagrantfile shell provisioner通过easy_installpip完成。