faca do chef falha não determinística para lançar novas instâncias do EC2

4

Estou usando a faca do chef para lançar novas instâncias do ec2. Isso funciona geralmente bem, mas a cada 2-3 tentativas ele falha e eu recebo a seguinte pilha:

[Sun, 10 Apr 2011 08:11:23 +0000] INFO: Client key /etc/chef/client.pem is not present - registering
[Sun, 10 Apr 2011 08:11:29 +0000] WARN: HTTP Request Returned 401 Unauthorized: Failed to authenticate as i-XXXXXXX. Ensure that your node_name and client key are correct.
/usr/lib/ruby/1.8/net/http.rb:2101:in 'error!': 401 "Unauthorized" (Net::HTTPServerException)
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/rest.rb:234:in 'api_request'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/rest.rb:285:in 'retriable_rest_request'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/rest.rb:215:in 'api_request'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/rest.rb:111:in 'get_rest'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/node.rb:525:in 'load'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/node.rb:510:in 'find_or_create'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/client.rb:218:in 'build_node'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/client.rb:145:in 'run'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/application/client.rb:222:in 'run_application'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/application/client.rb:212:in 'loop'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/application/client.rb:212:in 'run_application'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/../lib/chef/application.rb:62:in 'run'
    from /usr/lib/ruby/gems/1.8/gems/chef-0.9.14/bin/chef-client:26
    from /usr/bin/chef-client:19:in 'load'
    from /usr/bin/chef-client:19

Esta é uma falha não determinística (pode ter algo a ver com uma condição de corrida?).

    
por Ophir Radnitz 10.04.2011 / 10:22

2 respostas

1

Isso ainda está acontecendo com você? O erro ocorreu ao tentar usar o cliente de validação para gerar automaticamente o novo Chef Client. Se isso ocorrer, você pode verificar o arquivo de configuração /etc/chef/client.rb para o nome do cliente de validação e verificar se está correto com a configuração do seu servidor Chef. Se isso acontecer intermitentemente, você pode tentar executar novamente o chef-client no nó de destino com -l debug para obter mais resultados sobre a solicitação HTTP que faz o novo cliente.

    
por 05.05.2011 / 19:40
0

Embora isso possa não ser exatamente o seu problema, você precisa estar ciente de que a criação de uma instância no EC2 nem sempre é bem-sucedida. Às vezes, não há capacidade suficiente no AZ em que você está tentando criar sua instância, para essa classe em particular.

A conta do Twitter do Ylastic , que mostra mensagens de erro informativas do EC2 que nem sempre parecem aparecer na Painel de saúde do serviço Amazon , às vezes tem mensagens como isto :

#AWS #EC2 (California) : Insufficient Instance Capacity for m1.large

Enquanto você está vendo este problema, tente criar (e depois destruir, você não quer pagar por eles para sempre!) alguns casos em outra região ou AZ.

    
por 12.04.2011 / 23:06