On 22 Mar 2016, at 22:53, Carthik Sharma <[email protected]> wrote:
> To answer the question in the subject, you're correct, as documented here for > Puppet 3.8 > > https://docs.puppetlabs.com/puppet/3.8/reference/environments_classic.html#allowed-names Is this only for Puppet 3.8 or is this also valid for Puppet 4.x? > > > > On Tue, Mar 22, 2016 at 1:41 AM, 'Robert Heinzmann' via Puppet Users > <[email protected]> wrote: > Hello, > > I'm using PuppetServer 1.1.3 and want to use directory environments (I can > not update to puppet 4 because of http://projects.theforeman.org/issues/8447, > Foreman is used for reporting and facts only (CMDB like)). > > The main puppet repo has 2 branches: > • master (production) > • development (test&dev) > I use r10k to manage the environments under /etc/puppet/environments > > --- o<---- > :sources: > example: > basedir: /etc/puppet/environments > prefix: false > remote: <GIT_URL> > --- o<---- > > The following master setup has worked for both "master" and "development" > > ---- o< ---- > # file /etc/puppet/puppet.conf > [master] > > # insecure not via server_facts ... > environment = ... > # PuppetDB Enabled > storeconfigs = true > storeconfigs_backend = ... > reports = ... > > # Hiera Config File > hiera_config = ... > default_manifest = /etc/puppet/environments/$environment/manifests/site.pp > manifestdir = /etc/puppet/environments/$environment/manifests > manifest = /etc/puppet/environments/$environment/manifests/site.pp > modulepath = > /etc/puppet/modules:/etc/puppet/environments/$environment/modules:/etc/puppet/environments/$environment/forge:/etc/puppet/environments/$environment/3rdparty > # ENC Enabled > node_terminus = exec > external_nodes = ... > ## see > https://docs.puppetlabs.com/puppet/latest/reference/lang_facts_and_builtin_vars.html#serverfacts-variable > trusted_server_facts = true > trusted_node_data = true > ## Make sure master uses another directory so master can be agent of > someone else > ssldir = ... > certname = ... > server = ... > > ## Add extra DNS Names > dns_alt_names = ... > ---- o< ---- > > Now I want to switch to directory environments changed configuration as > follows: > > Puppet master config is as follows: > > ---- o< ---- > # file /etc/puppet/puppet.conf > [master] > > environment = ... > # PuppetDB Enabled > storeconfigs = true > storeconfigs_backend = ... > reports = ... > > # Hiera Config File > hiera_config = ... > ## Directory Environments enabled > default_manifest = /etc/puppet/manifests/site.pp > environmentpath = /etc/puppet/environments > environment_timeout = 0 > basemodulepath = /etc/puppet/modules > disable_per_environment_manifest = false > # ENC Enabled > node_terminus = exec > external_nodes = ... > ## see > https://docs.puppetlabs.com/puppet/latest/reference/lang_facts_and_builtin_vars.html#serverfacts-variable > trusted_server_facts = true > trusted_node_data = true > ## Make sure master uses another directory so master can be agent of > someone else > ssldir = ... > certname = ... > server = ... > > ## Add extra DNS Names > dns_alt_names = ... > ---- o< ---- > > The environment.conf is > > ---- o< ---- > # file /etc/puppet/environments/master/environment.conf and > # file /etc/puppet/environments/development/environment.conf > ## See > https://docs.puppetlabs.com/puppet/latest/reference/config_file_environment.html > > # The module path > modulepath = ./modules/:./forge/:./3rdparty/:$basemodulepath > > # Manifest > manifest = manifests/site.pp > > # current or future (3.8 only) > # parser = current > > ## Path to custom script > # config_version= > > ## Timeout for cache > environment_timeout = unlimited > ---- o< ---- > > This setup works for environment "development" but not "master". > > agent shell# puppet agent --onetime --test --environment master => Fail with > 404 > Error: Could not retrieve catalog from remote server: Error 400 on SERVER: > Could not find class my_webserver for webserver-test1 on node webserver-test1 > > agent shell# puppet agent --onetime --test --environment development => OK > > If I do "mv /etc/puppet/environments/master > /etc/puppet/environments/mytest123" and restart the puppetserver mytest123 > environment works > > agent shell# puppet agent --onetime --test --environment mytest123 => OK > > If I do "mv /etc/puppet/environments/mytest123 > /etc/puppet/environments/master" and restart the puppetserver master > environment FAILES again > > agent shell# puppet agent --onetime --test --environment master => Fail with > 404 > Error: Could not retrieve catalog from remote server: Error 400 on SERVER: > Could not find class my_webserver for webserver-test1 on node webserver-test1 > > So it is not the repo content but the name of the environment causing the > problem I guess. > > Has someone seen this issue yet ?? > > Using "prefix: true" on r10k should fix the issue and generate unique > environment names. > > Also renaming all git branches should solve the issue. > > However I would like to know if this issue is known and if it still exists on > Puppet 4.0 ? > > Regards, > Robert > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/cb8cb201-5524-4956-a0f4-36ac5b223c58%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/CAOzFSfEWWz-EJQPnsD1tJFCCbK0NO-JvvQ_6W2RZdKRx9_GsDg%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/9B974794-0847-48C9-B4DC-8A08F106CBA7%40gmail.com. For more options, visit https://groups.google.com/d/optout.
