On 22 Mar 2016, at 22:53, Carthik Sharma <cart...@puppetlabs.com> 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 > <puppet-users@googlegroups.com> 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 puppet-users+unsubscr...@googlegroups.com. > 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 puppet-users+unsubscr...@googlegroups.com. > 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 puppet-users+unsubscr...@googlegroups.com. 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.