Há algumas coisas em que posso pensar que podem ajudá-lo.
-
Verifique se a versão do livro de receitas que você está enviando é a versão mais recente
Um problema comum com versões de livro de receitas é que você pode estar modificando a versão 1.0.0 do livro de receitas localmente e carregando, mas o Chef Server tem a versão 1.0.1 do livro de receitas já enviada para ele. Nesse caso, os Clientes Chefão normalmente recuperam a versão mais recente (a menos que seja dito de outra forma) e suas alterações nunca serão sincronizadas com o cache local.
Você pode ver todas as versões atuais do livro de receitas no Chef Server através de:
knife cookbook show apache2
Uma solução para isso é a que você mencionou - aumente o número da sua versão além do que existe no Chef Server, ou seja, 1.0.2 e upload.
Outro método é remover qualquer outro livro de receitas apache2 do Chef Server e reenviar o que você deseja. Isso não precisa de nenhuma atualização de número de versão, e o resultado final é que o Chef Server teria um único livro de receitas apache2.
-
Confirme se suas alterações estão realmente chegando ao Chef Server
Usando
knife cookbook show apache2 <cookbook version> recipes default.rb
Substitua version, path e filename - por exemplo, se você quiser ver um template chamado foo.erb:knife cookbook show apache2 0.1.0 templates foo.erb
Este comando solicitará o arquivo do servidor Chef e exibirá a saída no seu terminal. Essa é uma maneira simples de determinar se as alterações feitas estão sendo enviadas por meio de
knife cookbook upload
.
Além disso, se isso não ajudar, adicionar os detalhes de knife
version, chef-server
version, chef-client
version e um log de depuração de knife cookbook upload apache2 -VV
seria útil para depurar ainda mais.