Boa noite,
Ao tentar executar o comando para inicialização do playbook recebo a mensagem de erro citada abaixo:
vagrant@ubuntu-bionic:~$ ansible-playbook -i /vagrant/configs/ansible/hosts /vagrant/configs/ansible/playbook.yml
fatal: [192.168.1.22]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: vagrant@192.168.1.22: Permission denied (publickey).", "unreachable": true}
O ping funciona:
vagrant@ubuntu-bionic:~$ ping 192.168.1.22 PING 192.168.1.22 (192.168.1.22) 56(84) bytes of data. 64 bytes from 192.168.1.22: icmp_seq=1 ttl=64 time=0.653 ms --- 192.168.1.22 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9113ms rtt min/avg/max/mdev = 0.653/0.734/0.761/0.033 ms
As VMs estão rodando:
vagrant status Current machine states:
mysqldb running (virtualbox) phpweb running (virtualbox) mysqlserver running (virtualbox) ansible running (virtualbox)
Seguem os conteúdos dos arquivos:
Grato.
hosts:
########## [mysqlserver] 192.168.1.22
[mysqlserver:vars] ansible_user=vagrant ansible_ssh_private_key_file=/home/vagrant/id_bionic ansible_python_interpreter=/urs/bin/python3 ansible_ssh-commom_args='-o StrictHostKeyChecking=no'
playbook.yml:
##########
hosts: all handlers:
- name: restart mysql service: name: mysql state: restarted become: yes
tasks:
- name: 'Instalar MySQL Server' apt: update_cache: yes cache_valid_time: 3600 #1 hora name: ["mysql-server-5.7", "python3-mysqldb"] state: latest become: yes - name: 'Criar usuario no MySQL' mysql_user: login_user: root name: phpuser password: pass priv: '*.*:ALL' host: '%' state: present become: yes - name: 'Copiar arquivo mysqld.cnf' copy: src: /vagrant/configs/mysqld.cnf dest: /etc/mysql/mysql.conf.d/mysqld.cnf owner: root group: root mode: 0644 become: yes notify: - restart mysql
Vagrantfile:
##########
$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.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.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"
end
end