Jerome Charaoui [Fri, 9 Oct 2015 17:18:59 +0000 (17:18 +0000)]
Merge branch 'fix_cron_time' into 'master'
Fix cron time
This is a first attempt at fixing $cron_time. It's currently impossible to use the automatically generated timings. This would fix #4 .
See merge request !4
Jerome Charaoui [Fri, 9 Oct 2015 17:11:50 +0000 (17:11 +0000)]
Merge branch 'master' into 'master'
update README to be more accurate for how the module actually works
See merge request !3
Gabriel Filion [Thu, 1 Oct 2015 03:46:07 +0000 (23:46 -0400)]
give a default value to $cron_time
This'll make it configure the cron job to a 30mins interval randomly
displaced within the hour.
It's still possible to set $cron_time to a full cron time spec to set
run times manually.
Gabriel Filion [Thu, 1 Oct 2015 03:43:31 +0000 (23:43 -0400)]
fix default value case for $cron_time
with the current code it's impossible to use the automatically generated
cron time spec since to get there you need to set $cron_time to false,
and this one in turn gets converted to an integer. This throws an error.
To fix this, we'll base the second timing to be 30mins after the first
one.
Micah Anderson [Fri, 28 Aug 2015 17:57:29 +0000 (13:57 -0400)]
update README to be more accurate for how the module actually works
Jerome Charaoui [Thu, 21 May 2015 18:53:06 +0000 (14:53 -0400)]
Fix storeconfig dependencies on Debian
Jerome Charaoui [Fri, 8 May 2015 22:17:11 +0000 (18:17 -0400)]
Fix scope conflict in previous commit
Jerome Charaoui [Fri, 8 May 2015 20:33:09 +0000 (16:33 -0400)]
Have passenger class pass along $manage_munin parameter (requires latest passenger module)
Jerome Charaoui [Wed, 6 May 2015 18:22:53 +0000 (14:22 -0400)]
Don't include mysql::server in puppet::master:storeconfigs
Jerome Charaoui [Wed, 6 May 2015 18:05:29 +0000 (14:05 -0400)]
Fix default value of http_compression parameter in puppet::cron
Jerome Charaoui [Wed, 6 May 2015 17:16:16 +0000 (13:16 -0400)]
Add missing storeconfigs parameter to puppet::master class (defaults to false)
Jerome Charaoui [Wed, 6 May 2015 17:07:51 +0000 (13:07 -0400)]
Fix /etc/default/puppetmaster on Debian when using mode => passenger
Jerome Charaoui [Wed, 6 May 2015 16:11:05 +0000 (12:11 -0400)]
better default value for shorewall_puppetmaster parameter
Micah Anderson [Fri, 17 Apr 2015 15:32:03 +0000 (11:32 -0400)]
Add GPLv3 license
Micah Anderson [Fri, 27 Mar 2015 15:42:23 +0000 (11:42 -0400)]
Merge remote-tracking branch 'tails/bugfix/8379-lastruncheck-compatibility-with-puppet-3.x'
Micah [Sun, 1 Mar 2015 00:34:37 +0000 (00:34 +0000)]
Merge branch 'merge_immerda' into 'master'
Merge immerda's changes
GENERAL CHANGES
* Now uses parameterized classes
* Deprecates all top-scope "$puppet_*" variables
* File source path changed from "site-puppet" to "site_puppet"
master/puppet.conf
* [main] default vardir changed /srv/puppet to /var/lib/puppet
* [main] plugindest removed
* [agent] logdest removed
* [environments] removed
base.pp
* new $puppet::config, $puppet::config_content
cron/base.pp
* new $puppet::cron::cron_time, $puppet::http_compression, $puppet::cron::stop_service
cron.pp
* new puppet::cron parameterized class
debian.pp
* $puppet_ensure_version now $puppet::ensure_version
init.pp
* new puppet parameteried class
* $use_shorewall deprecated
linux.pp
* $facter_ensure_version now $puppet::facter_ensure_version
master/linux.pp
* $puppetmaster_mode changed to $puppet::master::mode
* does not require apache::base
master
* class puppet:puppetmaster::* renamed puppet::master::*
* $puppet_fileserverconfig changed to $puppet::master::fileserver
* added $puppet::master::config_content
* $puppetmaster_storeconfigs changed to $puppet::master::storeconfigs
master/lastruncheck.pp
* $::puppet_lastruncheck_ignorehosts changed to $puppet::master::lastruncheck_ignorehosts
* $::puppet_lastruncheck_ignorehosts_str changed to $puppet::master::lastruncheck_ignorehosts_str
* $::puppet_lastruncheck_timeout_str changed to $puppet::master::lastruncheck_timeout_str
* does not include cron
* /etc/cron.d/puppetlast command changed
master/cleanupreports
* $puppetmaster_cleanup_reports[_dir] changed to $puppet::master::reports[_dir]
* cron filename changed
master/passenger
* does not install puppetmaster-passenger package on Debian anymore
* restart mechanism by creating /etc/puppet/rack/tmp/restart.txt
* does not manage /usr/share/puppet/rack/puppetmasterd/config.ru anymore, config.ru expected at /etc/puppet/rack (check your Apache configs)
See merge request !1
Jerome Charaoui [Tue, 24 Feb 2015 19:34:39 +0000 (14:34 -0500)]
Merge branch 'master' of git://git.puppet.immerda.ch/module-puppet
Conflicts:
files/master/config.ru
files/master/puppet.conf
manifests/base.pp
manifests/centos.pp
manifests/cron.pp
manifests/cron/base.pp
manifests/cron/linux.pp
manifests/debian.pp
manifests/init.pp
manifests/linux.pp
manifests/master/linux.pp
manifests/master/package/debian.pp
manifests/puppetmaster/base.pp
manifests/puppetmaster/centos.pp
manifests/puppetmaster/checklastrun.pp
manifests/puppetmaster/checklastrun/disable.pp
manifests/puppetmaster/cleanup_reports.pp
manifests/puppetmaster/cleanup_reports/disable.pp
manifests/puppetmaster/debian.pp
manifests/puppetmaster/package.pp
manifests/puppetmaster/package/base.pp
manifests/puppetmaster/passenger.pp
mh [Wed, 17 Dec 2014 18:58:59 +0000 (19:58 +0100)]
add hiera management file
intrigeri [Wed, 3 Dec 2014 15:11:34 +0000 (15:11 +0000)]
Upgrade lastruncheck to the latest upstream version (Closes: #8379).
For a while, we've been copying that file from
https://github.com/cafuego/check_puppetmaster.git. Before this commit, we had
the version from upstream commit c121464. Since then, upstream has improved
a few things, in particular they now call puppet in a way that works with
3.x too.
Detailed --no-merges log:
89a3971c Add optional perfdata to output.
4d352938 - Use "-m1" argument to `grep` to only get the first match. - Check if yaml report exists before running grep against it. If the certificates and reports get out of sync (say, you deleted some reports) you'll get some "No such file or directory"
09c4c1a7 Use non-deprecated cert syntax (3.x) and make binary path and command configurable.
tr [Sat, 3 May 2014 17:16:39 +0000 (19:16 +0200)]
change char to us-ascii
mh [Fri, 5 Sep 2014 09:05:49 +0000 (11:05 +0200)]
linting
mh [Fri, 5 Sep 2014 09:05:23 +0000 (11:05 +0200)]
make tmp dir puppet writeable for cache invalidations
mh [Sat, 30 Aug 2014 11:24:04 +0000 (13:24 +0200)]
fix cron name globally + linting
mh [Sat, 30 Aug 2014 11:17:55 +0000 (13:17 +0200)]
do privilege drop properly within cron
mh [Wed, 9 Jul 2014 21:21:09 +0000 (23:21 +0200)]
get rid off lsb facts
mh [Sat, 28 Jun 2014 17:52:22 +0000 (19:52 +0200)]
linting
mh [Sat, 28 Jun 2014 17:51:26 +0000 (19:51 +0200)]
now all puppet version have a status
tr [Sat, 3 May 2014 18:48:31 +0000 (20:48 +0200)]
update the puppetclient puppet.conf to puppetversion > 3.5
tr [Sat, 3 May 2014 18:47:47 +0000 (20:47 +0200)]
update the puppetmaster puppet.conf to puppetversion > 3.5
tr [Sat, 3 May 2014 17:16:39 +0000 (19:16 +0200)]
change char to us-ascii
mh [Fri, 18 Apr 2014 09:08:48 +0000 (11:08 +0200)]
address puppet 3.x deprecation warnings
Jerome Charaoui [Thu, 20 Feb 2014 19:38:44 +0000 (14:38 -0500)]
Prevent duplicate declarations of 'apt' class
Jerome Charaoui [Thu, 20 Feb 2014 19:17:56 +0000 (14:17 -0500)]
Don't deploy apt_preferences snippet on master if is undef
Jerome Charaoui [Tue, 18 Feb 2014 19:48:43 +0000 (14:48 -0500)]
Fix site path in passenger class
mh [Thu, 5 Dec 2013 11:12:19 +0000 (12:12 +0100)]
linting
mh [Thu, 5 Dec 2013 11:11:35 +0000 (12:11 +0100)]
fix source if we pass config_content
mh [Thu, 5 Dec 2013 10:49:56 +0000 (11:49 +0100)]
make it possible to pass the content of the config from outside
mh [Thu, 5 Dec 2013 08:53:51 +0000 (09:53 +0100)]
make it possible to consume an external database
mh [Sun, 25 Aug 2013 14:07:34 +0000 (16:07 +0200)]
add cleanup job
mh [Mon, 5 Aug 2013 10:29:36 +0000 (12:29 +0200)]
silence the lastrun output on only successfull runs
Gabriel Filion [Sat, 27 Jul 2013 08:33:50 +0000 (04:33 -0400)]
Merge remote-tracking branch 'intrigeri/bugfix/have_puppetlast_cronjob_run'
mh [Mon, 20 May 2013 20:33:05 +0000 (22:33 +0200)]
enable a different setting to be set
mh [Mon, 20 May 2013 20:31:38 +0000 (22:31 +0200)]
use ip instead of hostname
mh [Mon, 20 May 2013 20:28:14 +0000 (22:28 +0200)]
this should be passed as a mysql hash here
mh [Mon, 20 May 2013 20:20:30 +0000 (22:20 +0200)]
so far this is only localhost
mh [Mon, 20 May 2013 20:19:35 +0000 (22:19 +0200)]
fix template
mh [Mon, 20 May 2013 20:04:11 +0000 (22:04 +0200)]
correct naming
mh [Mon, 20 May 2013 19:56:53 +0000 (21:56 +0200)]
add a simple dashboard setup
mh [Mon, 20 May 2013 14:04:07 +0000 (16:04 +0200)]
if it runs with passenger there is no such service
mh [Mon, 20 May 2013 14:00:05 +0000 (16:00 +0200)]
fix inheriting
mh [Mon, 20 May 2013 13:49:40 +0000 (15:49 +0200)]
update to latest config.ru
mh [Mon, 20 May 2013 13:07:27 +0000 (15:07 +0200)]
follow new naming convention
intrigeri [Wed, 1 May 2013 09:22:25 +0000 (11:22 +0200)]
checklastrun cronjob: only pass output through in imperfect situations.
That is, silence it (and avoid nagging the administrators with email)
when all hosts are OK, and puppetlast exits with return code 0.
intrigeri [Tue, 23 Apr 2013 15:54:09 +0000 (17:54 +0200)]
Install puppetlast cronjob under a usable name.
That is, install it as /etc/cron.d/puppetlast,
and cleanup the old buggy /etc/cron.d/puppetlast.cron.
As cron(8) says about /etc/cron.d/: "For example, any file containing dots will
be ignored."
mh [Mon, 8 Apr 2013 18:49:57 +0000 (20:49 +0200)]
puppet is in bin not sbin
mh [Sun, 7 Apr 2013 21:20:16 +0000 (23:20 +0200)]
also use new naming convention on linux
Jerome Charaoui [Wed, 27 Feb 2013 21:23:24 +0000 (16:23 -0500)]
Fix typo.
Gabriel Filion [Wed, 2 Jan 2013 17:56:08 +0000 (12:56 -0500)]
Class hierarchy is off and passenger apt repository is always installed
also, the $puppet_majorversion variable was empty because it was not
fully qualified.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
Gabriel Filion [Wed, 2 Jan 2013 17:14:12 +0000 (12:14 -0500)]
Merge branch 'puppet_cron'
Conflicts:
manifests/cron.pp
manifests/linux.pp
take the changes from puppet_cron
Gabriel Filion [Wed, 2 Jan 2013 16:26:56 +0000 (11:26 -0500)]
Make all linux distributions use the same path for the cron file
This simplifies the hierarchy and fixes the problem that going from
puppet::cron to puppet under debian doesn't remove the cron file.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
Gabriel Filion [Wed, 2 Jan 2013 15:39:48 +0000 (10:39 -0500)]
cron service dependancy has some errors and misses the cron class
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
varac [Wed, 2 Jan 2013 13:23:41 +0000 (14:23 +0100)]
added service dependency for cron
varac [Wed, 2 Jan 2013 13:21:59 +0000 (14:21 +0100)]
linted cron/linux.pp
varac [Wed, 2 Jan 2013 13:14:13 +0000 (14:14 +0100)]
removed unnesseccary stuff for absent puppetd.cron
varac [Wed, 2 Jan 2013 12:57:27 +0000 (13:57 +0100)]
linted linux.pp
varac [Wed, 2 Jan 2013 12:44:21 +0000 (13:44 +0100)]
linted checklastrun.pp
varac [Wed, 2 Jan 2013 12:31:40 +0000 (13:31 +0100)]
Merge branch 'master' of ssh://labs.riseup.net/shared-puppet
mh [Fri, 7 Dec 2012 12:39:20 +0000 (13:39 +0100)]
fix an issue if nothing got compiled
mh [Fri, 7 Dec 2012 11:56:28 +0000 (12:56 +0100)]
improve puppet munin plugin
mh [Fri, 7 Dec 2012 11:32:51 +0000 (12:32 +0100)]
correct env var
mh [Thu, 6 Dec 2012 22:14:22 +0000 (23:14 +0100)]
use correct location to get logs
varac [Thu, 11 Oct 2012 14:09:24 +0000 (16:09 +0200)]
Merge branch 'master' of ssh://code.leap.se/puppet_puppet
varac [Thu, 11 Oct 2012 13:58:27 +0000 (15:58 +0200)]
file extension .sh is not recognized by run-parts
varac [Tue, 2 Oct 2012 20:34:08 +0000 (22:34 +0200)]
modified lastruncheck to run under v2.7.x, see github.com/cafuego/check_puppetmaster
varac [Tue, 25 Sep 2012 09:14:58 +0000 (11:14 +0200)]
requirements to install puppetmaster with passenger
mh [Sun, 26 Aug 2012 17:30:16 +0000 (19:30 +0200)]
improve testing for service
Micah Anderson [Wed, 22 Aug 2012 18:40:59 +0000 (14:40 -0400)]
implement fixes from #3514
Micah Anderson [Wed, 22 Aug 2012 18:12:34 +0000 (14:12 -0400)]
switch to $::operatingsystem as suggested by ng in https://labs.riseup.net/code/issues/4029
Micah Anderson [Wed, 22 Aug 2012 18:22:52 +0000 (14:22 -0400)]
Merge branch 'leap' into tmp
Micah Anderson [Wed, 22 Aug 2012 18:12:34 +0000 (14:12 -0400)]
switch to $::operatingsystem as suggested by ng in https://labs.riseup.net/code/issues/4029
Micah Anderson [Wed, 22 Aug 2012 17:45:44 +0000 (13:45 -0400)]
Merge branch 'master' of ssh://leap.se:4422/puppet_puppet
Conflicts:
manifests/puppetmaster/passenger.pp
Micah Anderson [Wed, 22 Aug 2012 17:43:08 +0000 (13:43 -0400)]
Merge remote-tracking branch 'riseup/master'
Conflicts:
manifests/puppetmaster/debian.pp
manifests/puppetmaster/linux.pp
manifests/puppetmaster/package/debian.pp
varac [Mon, 13 Aug 2012 22:10:50 +0000 (00:10 +0200)]
forgot closing brace
varac [Mon, 13 Aug 2012 22:01:04 +0000 (00:01 +0200)]
debian specific config.ru location for use with puppetmaster-passenger package
Micah Anderson [Fri, 10 Aug 2012 16:32:29 +0000 (12:32 -0400)]
Fix puppet attempting to change the puppet service from 'stopped' to running on each run:
notice: /Stage[main]/Puppet::Base/Service[puppet]/ensure: ensure changed 'stopped' to 'running'
When running in cron mode, you do not want the puppet service enabled, nor do
you want it 'running'. When enabling the cron mode, the first part of
puppet::cron::base does a Service override on the puppet service to set enable
=> false. That is a good thing, but all it does is make the service setup so it
wont be run on boot.
Unfortunately, the puppet service definition also has a 'ensure => running'
which does an /etc/init.d/puppet status and then starts the service if it is not
running. In a cron-only setup, the 'status' command results in a failure,
because the daemon is not running, and then puppet attempts to start it, which
goes nowhere because the /etc/default/puppet is configured not to start.
So, looking further at puppet::cron::base we see there is a case switch, testing
on operatingsystem and if its debian/ubuntu (or openbsd) it falls out of the
case. If it is not one of those, it continues and does a test to see if the
version of puppet is 2.6 and if so then it does an additional puppet Service
override to set ensure=> stopped which keeps the service from being checked to
see if it is running, and if it is not starting it.
So to fix this, we remove debian/ubuntu from the case, so it will continue
through and then we change the $puppet_majorversion test to look for anything
greater than or equal to '2.6', since 2.7 and later are also versions we want
this to work with.
After this change, we no longer get the attempt to restart puppet on every run.
Micah Anderson [Fri, 10 Aug 2012 16:32:29 +0000 (12:32 -0400)]
Fix puppet attempting to change the puppet service from 'stopped' to running on each run:
notice: /Stage[main]/Puppet::Base/Service[puppet]/ensure: ensure changed 'stopped' to 'running'
When running in cron mode, you do not want the puppet service enabled, nor do
you want it 'running'. When enabling the cron mode, the first part of
puppet::cron::base does a Service override on the puppet service to set enable
=> false. That is a good thing, but all it does is make the service setup so it
wont be run on boot.
Unfortunately, the puppet service definition also has a 'ensure => running'
which does an /etc/init.d/puppet status and then starts the service if it is not
running. In a cron-only setup, the 'status' command results in a failure,
because the daemon is not running, and then puppet attempts to start it, which
goes nowhere because the /etc/default/puppet is configured not to start.
So, looking further at puppet::cron::base we see there is a case switch, testing
on operatingsystem and if its debian/ubuntu (or openbsd) it falls out of the
case. If it is not one of those, it continues and does a test to see if the
version of puppet is 2.6 and if so then it does an additional puppet Service
override to set ensure=> stopped which keeps the service from being checked to
see if it is running, and if it is not starting it.
So to fix this, we remove debian/ubuntu from the case, so it will continue
through and then we change the $puppet_majorversion test to look for anything
greater than or equal to '2.6', since 2.7 and later are also versions we want
this to work with.
After this change, we no longer get the attempt to restart puppet on every run.
Micah Anderson [Thu, 9 Aug 2012 20:03:01 +0000 (16:03 -0400)]
fix puppetmaster service definition for passenger
Because passenger mode doesn't have its own daemon, it was a hack before to have the service definition for 'puppetmaster' be actually looking in the process list for 'apache2'. This sort of worked, but not if you need to notify the service for a restart.
It also didn't actually work, because the hasstatus parameter was set to true, which meant that on every run, puppet did a /etc/init.d/puppetmaster status and found that it was not running and then tried to start it by doing /etc/init.d/puppetmaster start. That doesn't work because its turned off in /etc/default/puppetmaster when puppetmaster_mode='passenger'.
So... this commit removes that hacky service definition and instead just requires the apache::base class, providing the apache service monitoring that is needed when you are running puppetmaster_mode='passenger'. It also has to pull up the Service[puppet] override which was adding the puppetmaster service, which makes no sense because there is no service.
Finally, in order to notify it for changes, we need to use a selector to determine how to reload things based on puppetmaster_mode.
Conflicts:
manifests/puppetmaster/linux.pp
Micah Anderson [Thu, 9 Aug 2012 20:03:01 +0000 (16:03 -0400)]
Because passenger mode doesn't have its own daemon, it was a hack before to have the service definition for 'puppetmaster' be actually looking in the process list for 'apache2'. This sort of worked, but not if you need to notify the service for a restart.
It also didn't actually work, because the hasstatus parameter was set to true, which meant that on every run, puppet did a /etc/init.d/puppetmaster status and found that it was not running and then tried to start it by doing /etc/init.d/puppetmaster start. That doesn't work because its turned off in /etc/default/puppetmaster when puppetmaster_mode='passenger'.
So... this commit removes that hacky service definition and instead just requires the apache::base class, providing the apache service monitoring that is needed when you are running puppetmaster_mode='passenger'. It also has to pull up the Service[puppet] override which was adding the puppetmaster service, which makes no sense because there is no service.
Finally, in order to notify it for changes, we need to use a selector to determine how to reload things based on puppetmaster_mode.
varac [Tue, 17 Jul 2012 22:53:58 +0000 (15:53 -0700)]
Temporarily disabled Package['puppetmaster']
otherwise you now get following error:
err: Could not retrieve catalog from remote server: Error 400 on SERVER:
Could not find resource(s) Package[puppetmaster] for overriding on node
flea.leap.se
see https://leap.se/code/issues/198
Micah Anderson [Mon, 16 Jul 2012 19:10:47 +0000 (15:10 -0400)]
update README to specify that the $puppetmaster_ensure_version only works for debian
Micah Anderson [Mon, 16 Jul 2012 19:10:26 +0000 (15:10 -0400)]
remove no longer needed inheritance of puppet::puppetmaster::package as we are not doing any overrides, instead we can just include the classes that we also want to load
Micah Anderson [Mon, 16 Jul 2012 19:09:04 +0000 (15:09 -0400)]
remove the complicated test case for determining if 'puppetmaster-common' is needed or not, this is handled by the apt::preferences_snippet and debian's package dependency resolution now
stop inheriting puppet::master::package::base from puppet::puppetmaster::package::debian, it is no longer needed, because we are no longer overriding anything
Micah Anderson [Mon, 16 Jul 2012 19:07:00 +0000 (15:07 -0400)]
remove unnecessary inheritance of puppet::puppetmaster::package to puppet::puppetmaster::linux
provide a warning message if you have tried to specify $puppetmaster_ensure_version on an operatingsystem that is not supported
Micah Anderson [Mon, 16 Jul 2012 18:22:31 +0000 (14:22 -0400)]
update config.ru to newer version as supplied by puppetlabs for passenger applications. This is likely not to work with older versions of passenger
Micah Anderson [Mon, 16 Jul 2012 18:21:26 +0000 (14:21 -0400)]
add apt::preferences::snippet to enable specifying the puppetmaster version.
The preferences snippet requires that we set the package parameter to 'puppet*' to pull in the correct dependencies.
We set the priority to 2000 because according to apt_preferences(5):
P > 1000 causes a version to be installed even if this constitutes a downgrade of the package
which is the desired behavior.
This should resolve issue #2928
Micah Anderson [Mon, 16 Jul 2012 18:17:08 +0000 (14:17 -0400)]
we must fully qualify paths to execs
Micah Anderson [Mon, 16 Jul 2012 18:16:43 +0000 (14:16 -0400)]
update puppet.conf default file to have the newer section headings, required to eliminate deprecation warnings
Micah Anderson [Mon, 16 Jul 2012 18:15:50 +0000 (14:15 -0400)]
minor README language fix
Micah Anderson [Mon, 16 Jul 2012 18:15:36 +0000 (14:15 -0400)]
add information to README about specifying versions
varac [Fri, 6 Jul 2012 16:24:04 +0000 (16:24 +0000)]
added puppetmaster service def. for passenger