Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo subir mysqlserver e ansible

Executo "vangrant validate" e não apresenta nenhum erro, porém quando executo "vagrant status", aparece somente as duas máquinas que já havíamos criado nas aulas anteriores (mysqldb e phpweb). Já busquei em alguns tutorias e nada funcionou. Segue abaixo meu código:

$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.85"

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", disable: 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.86"

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

config.vm.define "mysqlserver" do |mysqlserver| mysqlserver.vm.network "public_network", ip: "192.168.1.87" end

config.vm.define "ansible" do |ansible| ansible.vm.network "public_network", ip: "192.168.1.88" 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 end

1 resposta
solução!

Olá Suellen, tudo bem? Pelo que pude ver parece que está faltando um end para fechar o bloco phpweb.vm.provision "puppet" do |puppet|, então o código do Vagrantfile deveria está da seguinte forma:

$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.85"

        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", disable: 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.86"

        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.87" 
    end

    config.vm.define "ansible" do |ansible| 
        ansible.vm.network "public_network", ip: "192.168.1.88" 

        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
end

Tenta com esse código e fala pra gente se funcionou!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software