Bom dia a todos.
A aula 06 do curso Vagrant: Gerenciando máquinas virtuais ensina a instalar o ansible em uma máquina virtual, entretanto durante a instalação da máquina ansible recebi em várias tentativas o seguinte erro:
ansible: Error: retrieving gpg key timed out.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
Revisei todas as configurações do Vagrantfile que escrevi enquanto acompanhava as aulas e, no final, acabei usando a configuração disponível para download na própria plataforma, mas não obtive sucesso. Segui também todas as recomendações de um tópico deste fórum no qual se apresenta a mesma dificuldade. Enfim, eis o arquivo Vagrantfile que estou usando (como disse é aquele que baixei das aulas):
$script_mysql = <<-SCRIPT
apt-get update && \
apt-get install -y mysql-server-5.7 && \
mysql -e "create user 'phpuser'@'%' identified by 'pass';"
SCRIPT
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.provider "virtualbox" do |vb|
vb.memory = 512
vb.cpus = 1
end
# config.vm.define "mysqldb" do |mysql|
# mysql.vm.network "public_network", ip: "192.168.1.24"
#
# mysql.vm.provision "shell",
# inline: "cat /configs/id_bionic.pub >> .ssh/authorized_keys"
# mysql.vm.provision "shell", inline: $script_mysql
# mysql.vm.provision "shell",
# inline: "cat /configs/mysqld.cnf > /etc/mysql/mysql.conf.d/mysqld.cnf"
# mysql.vm.provision "shell", inline: "service mysql restart"
#
# mysql.vm.synced_folder "./configs", "/configs"
# mysql.vm.synced_folder ".", "/vagrant", disabled: true
# end
config.vm.define "phpweb" do |phpweb|
phpweb.vm.network "forwarded_port", guest: 8888, host: 8888
phpweb.vm.network "public_network", ip: "192.168.1.25"
phpweb.vm.provider "virtualbox" do |vb|
vb.memory = 1024
vb.cpus = 2
vb.name = "ubuntu_bionic_php7"
end
phpweb.vm.provision "shell",
inline: "apt-get update && apt-get install -y puppet"
phpweb.vm.provision "puppet" do |puppet|
puppet.manifests_path = "./configs/manifests"
puppet.manifest_file = "phpweb.pp"
end
end
config.vm.define "mysqlserver" do |mysqlserver|
mysqlserver.vm.network "public_network", ip: "192.168.1.22"
mysqlserver.vm.provision "shell",
inline: "cat /vagrant/configs/id_bionic.pub >> .ssh/authorized_keys"
end
config.vm.define "ansible" do |ansible|
ansible.vm.network "public_network", ip: "192.168.1.26"
ansible.vm.provision "shell",
inline: "cp /vagrant/id_bionic /home/vagrant && \
chmod 600 /home/vagrant/id_bionic && \
chown vagrant:vagrant /home/vagrant/id_bionic"
ansible.vm.provision "shell",
inline: "apt-get update && \
apt-get install -y software-properties-common && \
apt-add-repository --yes --update ppa:ansible/ansible && \
apt-get install -y ansible"
ansible.vm.provision "shell",
inline: "ansible-playbook -i /vagrant/configs/ansible/hosts \
/vagrant/configs/ansible/playbook.yml"
end
end
Tentei usar os comandos em apenas uma linha no shell provision da máquina ansible. Sem sucesso.
Alguém passou pela mesma situação e conseguiu superá-la?