----- Original Message -----
> From: "R.I.Pienaar" <r...@devco.net>
> To: puppet-dev@googlegroups.com
> Sent: Monday, October 22, 2012 10:55:24 PM
> Subject: Re: [Puppet-dev] runmode
> 
> 
> 
> ----- Original Message -----
> > From: "R.I.Pienaar" <r...@devco.net>
> > To: puppet-dev@googlegroups.com
> > Sent: Monday, October 22, 2012 10:00:40 PM
> > Subject: Re: [Puppet-dev] runmode
> > 
> > 
> > 
> > ----- Original Message -----
> > > From: "Andy Parker" <a...@puppetlabs.com>
> > > To: puppet-dev@googlegroups.com
> > > Sent: Monday, October 22, 2012 7:57:36 PM
> > > Subject: Re: [Puppet-dev] runmode
> > > 
> > > 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.
> > 
> > So for 3 I have this down to:
> > 
> >         require 'puppet/util/run_mode'
> >         Puppet.settings.preferred_run_mode = :agent
> >         Puppet.settings.initialize_global_settings
> >         
> > Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(Puppet.run_mode))
> > 
> > will have a play with 2.7 and see, thanks
> 
> for 2.7 it seems this is the magic:
> 
>    require 'puppet'
>    $puppet_application_mode = Puppet::Util::RunMode[:agent]
>    Puppet.settings.use :main, :agent
>    Puppet.parse_config
> 

no seems I am still missing something:

   $puppet_application_mode = Puppet::Util::RunMode[:agent]
   $puppet_application_name = :agent

   Puppet.settings.use :main, :agent
   Puppet.parse_config

   p Puppet[:classfile]
   p Puppet[:pidfile]

with classfile set in [agent] it's reading the right classfile, however
with this code :pidfile would be /var/run/puppet/apply.pid rather than
/var/run/puppet/agent.pid.  pidfile is not specifically set in the config
so it should come from defaults

-- 
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