Issue #2590 has been updated by Steve Feehan.

Markus Roberts wrote:
> John --
> 
> Can you reproduce the problem with 0.25.2?  If so, please post enough details 
> to allow us to do the same; if not post that so we can close the ticket.
> 
> -- Markus

Markus,
We're also experiencing this bug and can reproduce with 0.25.2. The one line 
patch Luke gave for lib/puppet/util/settings.rb did not make any difference.

This only causes us trouble when run via passenger. Running puppetmasterd 
with webrick does not exhibit the bug.

Our versions are:

<pre>
  puppet: 0.25.2
  ruby: 1.8.7
  passenger: 2.2.8
  apache: httpd-2.2.3-22.el5.centos
</pre>

config.ru file is:


<pre>
# 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:
# $:.unshift('/opt/puppet/lib')

$0 = "puppetmasterd"
require 'puppet'

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

ARGV << "--rack"
require 'puppet/application/puppetmasterd'
# we're usually running inside a Rack::Builder.new {} block,
# therefore we need to call run *here*.
run Puppet::Application[:puppetmasterd].run
</pre>

[puppetmaster] section of puppet.conf is:

<pre>
[puppetmasterd]
    autosign = $confdir/autosign.conf
    modulepath = /export/home/puppet/modules
    manifestdir = /export/home/puppet/manifests
    templatedir = /export/home/puppet/templates
</pre>

One other interesting note: if you turn on --trace in the config.ru,
then the problem goes away. Ex:

<pre>
ARGV << "--trace"
</pre>

Let me know if there is any additional info I can provide. It should
be pretty easy to reproduce if using passenger.

Steve
----------------------------------------
Bug #2590: --modulepath ignored
http://projects.reductivelabs.com/issues/2590

Author: Thomas Bellman
Status: Needs more information
Priority: High
Assigned to: John A. Barbuto
Category: 
Target version: 0.25.4
Affected version: 0.25.1
Keywords: 
Branch: 


It seems that at least the stand-alone 'puppet' executable
ignores --modulepath.  Given the following minimal manifest
set:

<pre>
    $ pwd
    /config/0.25
    $ find . -type f -print
    ./manifests/site.pp
    ./modules/testmodule/manifests/init.pp

    $ cat manifests/site.pp
    import "testmodule"

    node default
    {
        include moduleclass
    }

    $ cat modules/testmodule/manifests/init.pp
    class moduleclass
    {
        file {
            "/tmp/testfile":
                ensure => file, content => "${puppetversion}\n";
        }
    }
</pre>

I get the following results:

<pre>
    # puppet --modulepath=/config/0.25/modules manifests/site.pp
    Could not parse for environment production: No file(s) found for
    import of 'testmodule' at /config/0.25/manifests/site.pp:3
</pre>

This works as expected in 0.24.8.  Bisecting shows that it was
introduced with commit d397f8d1d1092067f7ca52449ce9af63f02f44e1
(Fixing #2574 - autoloading finds plugins in modules) on
2009-09-01 01:01:17.

I have only tried the stand-alone puppet program, not the puppetd
/ puppetmasterd combination.


Adding --debug --trace I get the following traceback:

<pre>
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/parser_support.rb:172:in `import'
    grammar.ra:639:in `_reduce_156'
    grammar.ra:638:in `each'
    grammar.ra:638:in `_reduce_156'
    /usr/lib/ruby/site_ruby/1.8/facter/util/ip.rb:141:in `_racc_yyparse_c'
    /usr/lib/ruby/site_ruby/1.8/facter/util/ip.rb:141:in `catch'
    /usr/lib/ruby/site_ruby/1.8/facter/util/ip.rb:141:in `_racc_yyparse_c'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/lexer.rb:446:in `scan'
    /usr/lib/ruby/1.8/racc/parser.rb:152:in `_racc_yyparse_c'
    /usr/lib/ruby/1.8/racc/parser.rb:152:in `__send__'
    /usr/lib/ruby/1.8/racc/parser.rb:152:in `yyparse'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/parser_support.rb:430:in `parse'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:71:in 
`create_parser'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:54:in `parser'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/interpreter.rb:27:in `compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:88:in 
`compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:181:in `benchmark'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:86:in 
`compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:35:in 
`find'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:198:in `find'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find'
    /usr/lib/ruby/site_ruby/1.8/puppet/application/puppet.rb:116:in `main'
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `send'
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `run_command'
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail'
    /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
    /usr/bin/puppet:71
    Could not parse for environment production: No file(s) found for import of 
'testmodule' at /config/0.25/manifests/site.pp:3
</pre>



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account
--
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to