Issue #14074 has been updated by Andrew Parker.

Status changed from Accepted to Closed

I just encountered this while investigating a plugin sync strangeness and was 
working with puppet 3.0.2.

I expected that setting a `vardir` in the master section of the `puppet.conf` 
would be enough to control the `libdir` of the master since it is defined to 
have a default of `$vardir/lib`. This caused (with `vardir` as 
`/var/lib/puppetmaster`)

<pre>
> puppet master --configprint libdir
/var/lib/puppetmaster/lib
</pre>

However, the hook on the `libdir` setting had placed the original value of 
`/var/lib/puppet/lib` in the `$LOAD_PATH` already.

As a next step I tried to set the `libdir` explicitly via `libdir = 
/var/lib/puppetmaster/lib`. This placed the correct value in the `$LOAD_PATH`.

This makes me think that this issue has been solved and was likely part of the 
fix for #13948.
----------------------------------------
Bug #14074: libdir setting is honored on the command line but not in puppet.conf
https://projects.puppetlabs.com/issues/14074#change-82021

Author: Jeff McCune
Status: Closed
Priority: Normal
Assignee: 
Category: modules
Target version: 
Affected Puppet version: 
Keywords: libdir puppet.conf defaults settings
Branch: 


# Overview #

In order to work around #14073 I've explicitly set the libdir in puppet.conf 
like so:

<pre>
[main]
server=puppet
pluginsync=true
autoflush=true
modulepath=Z:/vagrant/modules
libdir=Z:/vagrant/modules/registry/lib
</pre>

However, this doesn't have the desired effect:

# Expected Behavior #

This command should list registry_key and registry_value in the output:

<pre>
C:\>puppet describe --list
...
registry_key    - .. no documentation ..
registry_value  - .. no documentation ..
</pre>

# Actual Behavior #

The types are not loaded as they should be if they're available on the 
$LOAD_PATH.  As a result, they don't show up in the documentation and are not 
available to the rest of the system.

However, specifying libdir on the command line does in fact make the types and 
providers available:

<pre>
puppet describe --libdir=Z:/vagrant/modules/registry/lib --list
...
registry_key    - .. no documentation ..
registry_value  - .. no documentation ..
</pre>

This demonstrates a clear disconnect between the behavior of libdir specified 
on the command line and the behavior of libdir specified in puppet.conf.

# Impact Data #

Until #14073 is resolved, there is no easy work around to get types to 
automatically load from modules using Puppet Apply.  The command line options 
must be used instead of puppet.conf, or RUBYLIB or some other hack to the 
$LOAD_PATH must be employed.

I haven't heard of any users or customers reporting this yet.


-- 
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://projects.puppetlabs.com/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].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to