Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro - Provisionando com o puppet

Olá, tudo bem?

Fiz o script que nem está na vídeo aula, o reload e tal; mas depois de tudo, ao digitar o comando sudo puppet apply na VM, ele retorna a mensagem:

vagrant@precise32:~$ sudo puppet apply /vagrant/manifests/web.pp
warning: Could not retrieve fact fqdn
err: /Stage[main]//Exec[apt-update]/returns: change from notrun to 0 failed: /usr/bin/apt-get update returned 100 instead of one of [0] at /vagrant/manifests/web.pp:3
notice: /Stage[main]//Package[openjdk-7-jre]: Dependency Exec[apt-update] has failures: true
warning: /Stage[main]//Package[openjdk-7-jre]: Skipping because of failed dependencies
notice: /Stage[main]//Package[tomcat7]: Dependency Exec[apt-update] has failures: true
warning: /Stage[main]//Package[tomcat7]: Skipping because of failed dependencies
notice: Finished catalog run in 7.39 seconds

O meu script ficou assim:

exec { "apt-update":
    command => "/usr/bin/apt-get update"
}

package { ["openjdk-7-jre", "tomcat7"]:
    ensure => installed,
    require => Exec["apt-update"]
}

Esse erro apenas acontece quando eu faço o exec "apt-update". Quando eu excluo o exec e referência dele no package, instala os programas de boa.

Estou fazendo algo de erro ao tentar dar o update com o puppet? Pergunto isso, porque na mão o update e o caminho passado como referência no exec estão ok.

3 respostas

oi Jéferson

experimenta passar o path separado? dessa forma:

exec { "apt-update":
    command => "apt-get update",
    path => [ '/bin', '/sbin', '/usr/bin', '/usr/sbin']
}

a saída é a mesma? e você está usando a mesma versão de puppet do curso?

Rodrigo

Funcionou beleza, muito obrigado. Estou usando a mesma versão sim.

Uma coisa que persistiu é a mensagem informando que não pode retornar o fqdn. Sabe por que ela é exibida?

warning: Could not retrieve fact fqdn
solução!

opa, que bom que funcionou!

esse warning do fqdn acontece porque você não tem um hostname configurado no seu vagrantfile.

basta adicionar algo como:

config.vm.hostname = "vagrant.example.com"

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