Puppet 4 from puppetlabs changed the default location of hiera.yaml. The
versions we run have the old location patched in, but let's put in the
value just to be complete.
Change-Id: I36ae190fc6758f297f3a48912f79871fd917c2e9
We need to exist for a period of time with both agent and apply being
operational so that we can test things appropriately.
This moves agent specific settings to the [agent] section and adds a
[user] section which is used to control puppet apply.
As part of this, we need to add a production environment to all of our
nodes. Doing this in this way will also cover the current puppetmaster,
since puppetmaster is a puppet client.
Change-Id: I550c474d1c51c5795f745630fb91ee8cc1a55e36
Puppet requires that certname be all lower case. Sometimes systems will
have mixed case in their FQDN, but the lower case should be equivalent
for most if not all cases.
Note that this is discussed upstream in puppet's bug trackers here:
http://projects.puppetlabs.com/issues/1168
and here:
https://tickets.puppetlabs.com/browse/PUP-2551
Change-Id: I91aae733bf6c82abc632cac0726b129de88d9b34
Currently the puppetmaster was hardcoded on a template.
Add the matching vars to the manifests that use them,
to make that setting configurable.
Change-Id: I2b641ec11284f325c22c242fabba26d0433bf85b
Having environment configs on not-master breaks puppet apply. Also,
environments with puppet apply don't make sense.
Change-Id: Ief6c8e9bf7d71ddc63dba484390124546f14b93a
We can now use 3.x configuration exclusively. Also we used
$puppet_version which is incorrect, the value is $puppetversion.
Change-Id: I8ddd985d76970ab8937752dd9c2dc6cf4b7d160a
Move the install location of the git checkout of the config repo
to /opt/system-config to make things more consistent for operators.
Actually moving this on the puppetmaster will be a manual step.
Change-Id: Id9297088ae6c76c02e35414433aae2733f9f639c
Now that we've finished moving all puppet agents to get triggered
from the new master, update their configuration to assume the new
server is the default so that we no longer need to override it when
running locally from the command line.
Change-Id: I446341c5115d948bb8dedbe00e23b38b3e78c62f
This enables install_puppet.sh to run successfully on
trusty with PUPPET_VERSION=3 set.
Add a util directory and a puppetmaster bootstrap
shell script.
Puppetdb-terminus versions are the same in trusty and
precise but are different than the puppet version number.
Also puppetdb-terminus isn't present in the puppetlabs
repositories.
Along with this I have done sufficient testing to use
puppet version 3.6 with confidence.
Work has been done to enable directory environments as well.
Change-Id: I925fa6ac1ed9fc9c0b5e9e616fb071bf7a815436
By default puppet will fail to run if the puppetdb is not available.
This introduces some chicken and egg problems associated with getting
things working again if you expect puppet to do that for you. Mark
puppetdb write failures as soft failures instead allowing puppet to run
even when puppetdb is not up.
See
http://docs.puppetlabs.com/puppetdb/1.6/connect_puppet_master.html#edit-puppetdbconf
for more info. Note you cannot use storeconfigs with this option set so
store_configs options are removed from the puppet master config.
Change-Id: I8c2023eac11fecaa3815741450f176ad16ede729
The puppet.conf file config for the master needs to actually be
configured to send the reports to the puppetdb.
Change-Id: I1116ee16acdf4217cecc59bcd264401b2b2b4709
While getting these scripts to run on Puppet 3 with Fedora 20, I got
a series of warnings about the deprecation of variable names. These
changes should also continue to work fine on Puppet 2.7.
Change-Id: I232f5f5a9abbe94be9fe2d3b8c82f009c03a11f3
To /opt/config.
Change-Id: Iab489ba398522dfd8e36dedb92d4d3f8d78df642
Reviewed-on: https://review.openstack.org/18177
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: James E. Blair <corvus@inaugust.com>
Change-Id: I409bd50ae374e0288531f07cfeea34856c5f8067
Reviewed-on: https://review.openstack.org/17319
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: James E. Blair <corvus@inaugust.com>
Add splay option to spread out runs (even though it doesn't work
very well, it might be better than nothing).
Change-Id: Ia45340bb5de81037b892e4e574e7c6cb83c3b07c
Reviewed-on: https://review.openstack.org/11679
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
Use puppet agent --test for puppet cron.
We don't need the private ssh or gpg key on the slaves anymore.
We do need the glance testing stuff, so stick that into hiera.
Change-Id: If94fc3f150bf569efe9461f80d3565f9825eebce
Reviewed-on: https://review.openstack.org/10851
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
pluginsync = true is required for puppetmaster to serve out plugin information,
such as custom facter lib stuff to the agents.
Change-Id: Ia6a72bc6abdaba62ddc5f5e8ceeeb652284f98d3
Reviewed-on: https://review.openstack.org/10850
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins