Método indefinido de lançamento do passageiro '- @' para “mestre”: String após atualização do Puppet 3.0.0

2

Meu mestre de marionetes está usando o Passenger para servir. Depois de atualizar para o Puppet 3.0.0, estou recebendo o seguinte erro:

[ pid=17576 thr=70231398486460 file=utils.rb:176 time=2012-10-01 17:37:12.892 ]: *** Exception NoMethodError in PhusionPassenger::Rack::ApplicationSpawner (undefined method '-@' for "master":String) (process 17576, thread #):
        from config.ru:7
        from /usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/builder.rb:51:in 'instance_eval'
        from /usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/builder.rb:51:in 'initialize'
        from config.ru:1:in 'new'
        from config.ru:1

Meu config.ru é o seguinte:

# a config.ru, for use with every rack-compatible webserver.
# SSL needs to be handled outside this, though.

# if puppet is not in your RUBYLIB:
# $LOAD_PATH.unshift('/opt/puppet/lib')

$0 = "master"

# if you want debugging:
# ARGV << "--debug"

ARGV << "--rack"

# Rack applications typically don't start as root.  Set --confdir to prevent
# reading configuration from ~/.puppet/puppet.conf
ARGV << "--confdir" << "/etc/puppet"

# NOTE: it's unfortunate that we have to use the "CommandLine" class
#  here to launch the app, but it contains some initialization logic
#  (such as triggering the parsing of the config file) that is very
#  important.  We should do something less nasty here when we've
#  gotten our API and settings initialization logic cleaned up.
#
# Also note that the "$0 = master" line up near the top here is
#  the magic that allows the CommandLine class to know that it's
#  supposed to be running master.
#
# --cprice 2012-05-22

require 'puppet/util/command_line'
# we're usually running inside a Rack::Builder.new {} block,
# therefore we need to call run *here*.
run Puppet::Util::CommandLine.new.execute

Alguma idéia do que pode estar acontecendo?

    
por Andy Shinn 02.10.2012 / 02:20

1 resposta

0

Eu vou responder isso como 'Works for me' agora, depois que eu consertei o módulo Puppet que estava manipulando a configuração do rack do servidor e atualizei o Puppet. Acredito que eu tenha me deparado com uma situação em que modifiquei o config.ru para a versão fornecida e o Puppet sobrescreveria a versão, fazendo com que isso falhasse.

Depois de atualizar meu módulo Puppet e a versão Puppet para 3.0.1 (que poderia ter sido o culpado, mas nunca vi um relatório de bug), agora isso está funcionando bem.

    
por 15.11.2012 / 00:53

Tags