Tente mover o source /home/vagrant/ansible/hacking/env-setup
diretamente na frente do ansible playbook.yml
para garantir que ele seja executado toda vez que ansible for chamado.
Estou usando o vagrant 1.6.2 e usando-o com uma caixa 14.04 do Ubuntu. Quando eu faço vagrant provision
, ele executa um script .sh
.
#!/usr/bin/env bash
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq
apt-get install -y make git-core
if [[ ! -d /home/vagrant/ansible ]]; then
# Install Ansible dependencies.
apt-get install -y python-mysqldb python-yaml python-jinja2 python-paramiko sshpass
# Checkout the Ansible repository.
git clone https://github.com/ansible/ansible.git /home/vagrant/ansible
mkdir /etc/ansible
echo "localhost" > /etc/ansible/hosts
source /home/vagrant/ansible/hacking/env-setup
echo "source /home/vagrant/ansible/hacking/env-setup" >> /home/vagrant/.bashrc
fi
cd /home/vagrant/me/provisioning
ansible playbook.yml
Mas recebo a mensagem /tmp/vagrant-shell: line 24: ansible: command not found
Mas quando eu entro na caixa e digito ansible
, funciona.
Como posso fazer isso funcionar através do meu arquivo .sh
?
Obrigado