FAQ
Hi everyone,

We've been doing some work lately to harden the pluginsync functionality
for Puppet 3.x. An issue was brought to my attention by Jeff McCune:

In current versions of puppet, it's possible to configure things like your
vardir and libdir in any section of the config file; potentially, this
means that you can specify a different libdir for all three of ["main",
"master", "agent"].

This causes problems with respect to pluginsync; when you run an agent, it
will sync down plugins / modules / faces from the master into the *agent's*
libdir. Then, when you try to run a face (even the "help" face), your
libdir will be set to the "main" libdir, and thus it won't have the content
that it needs from the previous agent run.

The basic problem here is that all of our various client-side programs
*must* share the same libdir. Thus, it seems that we need to restrict the
ability to set these for individual client programs.

We have a short-term and a long-term solution in mind to resolve this. In
the short term, we will simply disallow libdir and related settings from
appearing in any sections of puppet.conf other than "main" and "master".
(This will still allow the master to have a separate libdir from
client-side programs.) The ticket and pull req for this are here:

http://projects.puppetlabs.com/issues/15211
https://github.com/puppetlabs/puppet/pull/875

Slightly longer term, we are thinking of simply removing support for
"run-mode"-specific configuration sections in the puppet.conf file. We
would only allow three sections: "main" (possibly renamed to "global" or
similar), "master", and "ca". (Obviously you could still specify
environments in there as well, though we probably should move those to a
separate config file in the future.)

This is filed as a ticket here:

http://projects.puppetlabs.com/issues/15212

Would love to hear any feedback that anyone has on this topic!

Thanks
Chris

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

Search Discussions

  • Felix Frank at Jun 26, 2012 at 8:04 am
    Hi,
    On 06/26/2012 02:01 AM, Chris Price wrote:

    Slightly longer term, we are thinking of simply removing support for
    "run-mode"-specific configuration sections in the puppet.conf file. We
    would only allow three sections: "main" (possibly renamed to "global" or
    similar), "master", and "ca". (Obviously you could still specify
    environments in there as well, though we probably should move those to a
    separate config file in the future.)
    sounds good to me. I'm generally supportive of things aimed at
    simplification, and I fail to see any downsides to this one.

    Best,
    Felix

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • David Schmitt at Jun 28, 2012 at 8:41 am

    On 26.06.2012 10:04, Felix Frank wrote:
    Hi,
    On 06/26/2012 02:01 AM, Chris Price wrote:

    Slightly longer term, we are thinking of simply removing support for
    "run-mode"-specific configuration sections in the puppet.conf file. We
    would only allow three sections: "main" (possibly renamed to "global" or
    similar), "master", and "ca". (Obviously you could still specify
    environments in there as well, though we probably should move those to a
    separate config file in the future.)
    sounds good to me. I'm generally supportive of things aimed at
    simplification, and I fail to see any downsides to this one.

    Best,
    Felix
    What Felix said.

    If you're at it: It is ugly that an environment "master" will
    automatically pull in the puppetmaster settings too. Especially if the
    manifests are in git and every branch is an environment.



    Best Regards, David

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Chris Price at Jun 28, 2012 at 6:20 pm

    On Thursday, June 28, 2012 1:40:39 AM UTC-7, David Schmitt wrote:
    If you're at it: It is ugly that an environment "master" will
    automatically pull in the puppetmaster settings too. Especially if the
    manifests are in git and every branch is an environment.

    David,

    Thanks for the feedback. Could you explain your situation a bit further?
    I'm trying to envision this, and it seems like it could only affect an
    agent running on the same node as the master--is that correct? Because on
    the other agent nodes they won't have the same puppet.conf, and thus they
    won't read in those settings? I would like to get a bug filed on this but
    just want to make sure that I understand the scenario first.

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/dFAOXsRsjb0J.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Nigel Kersten at Jun 29, 2012 at 12:01 am

    On Thu, Jun 28, 2012 at 1:40 AM, David Schmitt wrote:

    If you're at it: It is ugly that an environment "master" will automatically
    pull in the puppetmaster settings too. Especially if the manifests are in
    git and every branch is an environment.
    Are you saying that you're defining an environment with the name
    "master" David ?

    Are you doing this in a block like: "[master]" or by using
    $environment in the modulepath/manifest directives ?


    --
    Nigel Kersten | http://puppetlabs.com | @nigelkersten
    Schedule Meetings at: http://tungle.me/nigelkersten

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Erik Dalén at Jun 29, 2012 at 7:48 am

    On 26 June 2012 02:01, Chris Price wrote:
    Hi everyone,

    We've been doing some work lately to harden the pluginsync functionality for
    Puppet 3.x.  An issue was brought to my attention by Jeff McCune:

    In current versions of puppet, it's possible to configure things like your
    vardir and libdir in any section of the config file; potentially, this means
    that you can specify a different libdir for all three of ["main", "master",
    "agent"].

    This causes problems with respect to pluginsync; when you run an agent, it
    will sync down plugins / modules / faces from the master into the *agent's*
    libdir.  Then, when you try to run a face (even the "help" face), your
    libdir will be set to the "main" libdir, and thus it won't have the content
    that it needs from the previous agent run.

    The basic problem here is that all of our various client-side programs
    *must* share the same libdir.  Thus, it seems that we need to restrict the
    ability to set these for individual client programs.

    We have a short-term and a long-term solution in mind to resolve this.  In
    the short term, we will simply disallow libdir and related settings from
    appearing in any sections of puppet.conf other than "main" and "master".
    (This will still allow the master to have a separate libdir from
    client-side programs.)  The ticket and pull req for this are here:

    http://projects.puppetlabs.com/issues/15211
    https://github.com/puppetlabs/puppet/pull/875
    Sounds good to me, as long as it is possible to have different
    settings for client and master I'm happy with the change.
    Slightly longer term, we are thinking of simply removing support for
    "run-mode"-specific configuration sections in the puppet.conf file.  We
    would only allow three sections: "main" (possibly renamed to "global" or
    similar), "master", and "ca".  (Obviously you could still specify
    environments in there as well, though we probably should move those to a
    separate config file in the future.)

    This is filed as a ticket here:

    http://projects.puppetlabs.com/issues/15212
    Would this still mean that "ca" defaults to "master" settings as it
    currently does?

    --
    Erik Dalén

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

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedJun 26, '12 at 12:01a
activeJun 29, '12 at 7:48a
posts6
users5
websitepuppetlabs.com

People

Translate

site design / logo © 2022 Grokbase