My intention when I was last working on this stuff was that you could
simply call "Puppet.initialize_settings" (perhaps after calling
Puppet.run_mode=), and that the rest
of the ugly internal stuff (initialize_application_defaults, etc.) would be
abstracted away.

However, I'm not entirely sure whether this is still accurate given the
recent churn that Andy mentioned.

On Mon, Oct 22, 2012 at 11:57 AM, Andy Parker <a...@puppetlabs.com> wrote:

> On Mon, Oct 22, 2012 at 11:03 AM, Brice Figureau
> <brice-pup...@daysofwonder.com> wrote:
> > On 22/10/12 19:25, R.I.Pienaar wrote:
> >> hello,
> >>
> >> I need to get Puppet to read its config file and specifically use the
> >> settings like an agent would.
> >>
> >> I need this for 2.7 and 3.0
> >>
> >> In trying to figure this out for 3.0 I have the following:
> >>
> >>    require 'puppet'
> >>    require 'puppet/util/run_mode'
> >>    Puppet.settings.preferred_run_mode = :agent
> >
> > I think you might need a:
> >      Puppet.settings.use :main, :agent
> >
> > so that your code loads the correct sections from the settings file.
> >
> >>    run_mode = Puppet::Util::RunMode[ Puppet.settings.preferred_run_mode
> ]
>
> I believe this is the same as Puppet.run_mode
>
> >>
>  
> Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(run_mode))
>
> I think that before this you need to call
> Puppet.settings.initialize_global_defaults
>
> >>
> >> At this point Puppet[:pidfile] is /var/lib/puppet/run/agent.pid but
> when I do:
> >
> > It might be the default, which for $agent_pid is $statedir/agent.pid.
> > But the default $statedir is $vardir/state, so that's not quite yet
> that...
> >
> >>    # puppet agent --configprint pidfile
> >>
> >> I get /var/run/puppet/agent.pid
> >
> > What is configured in your puppet.conf?
> >
> >> What is the correct way for both 2.7 and 3.0 to initialize the settings
> >> and to be sure I am seeing agent settings?
> >>
> >> It's OK if the way is completely different between versions, I have a
> way to
> >> handle that.
> >
> > I don't think there are such differences between 2.7/3.0, so it's
> > possible the same code could work for both versions.
>
> Because of the work that has gone into code loading (pluginsync and
> modules) there has been a fair amount of churn in how to initialize
> the settings. Since that is still not a published API, there might
> still be a few more changes as we work on #7316.
>
> I think the only way to understand how to initialize them correctly in
> 2.7 is going to be reading through Puppet::Application and seeing what
> it does as the first few steps.
>
> > --
> > Brice Figureau
> > My Blog: http://www.masterzen.fr/
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "Puppet Developers" group.
> > To post to this group, send email to puppet-dev@googlegroups.com.
> > To unsubscribe from this group, send email to
> puppet-dev+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> http://groups.google.com/group/puppet-dev?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To post to this group, send email to puppet-dev@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-dev+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-dev?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to puppet-dev@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to