Eu tenho um Vagrant (1.7.2) configurado com 2 vms. Quero usar o chef (versão mais recente agora 12?) Para provisioná-los. Estou tentando fazer com que um seja um servidor nagios e o outro uma máquina monitorada com nagios.
Ao usar o provisionador vagrant chef-zero integrado , cada nó pode ser configurado corretamente. Mas o livro de receitas do nagios da comunidade procura nós para monitorar. Uma vez que cada vagrant vm obtém um novo chef-zero local, ele não sabe sobre os outros hosts e, portanto, não é um teste real de "nagios movidos a chef".
Esta postagem do blog ( topologias de vários nós usando Vagrant e chef-zero ) parece cobrir o que eu quero fazer e aconselha que eu execute um servidor chef-zero em minha máquina local e defina-o como chef_server_url
no Vagrantfile.
No entanto, quando faço isso, recebo um erro do provisionador chef_client:
==> nagiosserver: [2015-01-23T15:59:09+00:00] INFO: *** Chef 12.0.3 ***
==> nagiosserver: [2015-01-23T15:59:09+00:00] INFO: Chef-client pid: 6916
==> nagiosserver: [2015-01-23T15:59:12+00:00] INFO: Setting the run_list to ["role[rorytestvm1]"] from CLI options
==> nagiosserver: [2015-01-23T15:59:12+00:00] INFO: HTTP Request Returned 404 Not Found : Object not found: http://192.168.33.1:8889/roles/rorytestvm1
Qual é a solução?
(Existe um plug-in vagrant chef-zero , mas não foi atualizado em ~ 8 meses e eu, como outros, experimentei bugs )
Eu resolvi isso. O problema é que eu estava começando
chef-zero
e deixando para lá. Eu não estava carregando nenhum livro de receitas/nós/etc para ele comknife
. Era um servidor vazio. Achei que o chef-zero usaria os nodes/cookbooks/etc no diretório atual, mas não é o caso.Fiz um novo
knife.rb
arquivo, que tinha localhost como URL do servidor e fiz umknife upload . -c /path/to/new/knife.rb
e funcionou bem.