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 apache2Uma 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.rbSubstitua version, path e filename - por exemplo, se você quiser ver um template chamado foo.erb:knife cookbook show apache2 0.1.0 templates foo.erbEste 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.