Indo do Vagrant em desenvolvimento para o chef-solo em produção, e obtendo um erro “FATAL: NoMethodError: undefined method 'delete' para #Chef :: Role”

4

Então eu tenho um conjunto de livros de receitas / funções que estão configurados para trabalhar com vagrant. Estou agora no processo de implantar um aplicativo e quero executar esses livros idênticos usando chef-solo no meu servidor. Então eu simplesmente instalei o chef-solo (a mesma versão que estou usando com o vagrant), e tentei chamar o seguinte comando:

sudo chef-solo -c solo.rb -j roles/clusterflunk_dev.json

Infelizmente, o seguinte erro foi gerado:

[Fri, 27 Jul 2012 08:20:28 +0100] INFO: *** Chef 0.10.8 ***
[Fri, 27 Jul 2012 08:20:29 +0100] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[Fri, 27 Jul 2012 08:20:29 +0100] FATAL: NoMethodError: undefined method 'delete' for #  <Chef::Role:0x7f6848a05638>

Eu não tenho certeza de como a mesma versão do chef renderia resultados diferentes, estou obviamente cometendo um erro em algum lugar. Estou usando o Ubuntu Server 10.10.

    
por JayD3e 27.07.2012 / 09:27

1 resposta

1

Se você não conseguir determinar o que está causando o problema, examinando os erros, sugiro que você atualize o chef para a versão atual (upgrade 10.8 para 10.24.4 ou melhor para o salto para 11.x) usando o omni-installer.

link

curl -L https://www.opscode.com/chef/install.sh | sudo bash

Outros usuários relataram erros semelhantes, consulte aqui para ver exemplo, e há um número de tickets fixos relacionados a JSON fechados desde o Chef 0.10.8

    
por 14.06.2013 / 06:24