The opendev project has been moving away from puppet and this is one of
the puppet modules that is no longer used. To simplify things for us we
are taking the extra step of retiring this repo.
Change-Id: Ibbd66faf35447c5e8587c6996cd5011fcede688a
These stats.timers make up the bulk of our graphite data and are filling
the disk of the server. Reduce retention for them specifically to cut
back on disk demands.
Change-Id: Iba85c361fd70a8511c6fbb9da5123c650b11dec1
If passed the new ssl file parameters, configure and install a SSL
version of the apache config.
For graphite.opendev.org it is intended to use the letsencrypt
certificates provisioned by the base ansible run for this.
Change-Id: Ic133e3abc09343541210c061af544f7b37480f27
Django 1.8 in Xenial hits changes to the app loading made in 1.7 [1].
On Xenail and above, ship a slightly different wsgi loader that uses
the new-style loading.
[1] https://docs.djangoproject.com/en/dev/releases/1.7/#app-loading-changes
Change-Id: Ia741af25391603fe81c0185b586b5841910f714a
When bootstrapping a new server it's noticed that pip wasn't installed
before trying to use it. Add it as a dependency of the pip installs.
It was installed by the time the whisper install ran, but there no gcc
required for some of the dependencies. Add build-essential.
Change-Id: I29af4665a1ef7c6f78d9fae29db066ea64743d70
By default we're not listening on an ipv6 address; so any stats sent
there just go missing. Set up by default to listen to '::' (and add
required ipv6 argument) which, thanks to dual-stack, means ipv4 & 6
packets are all accounted for.
Change-Id: I1fec03b32441a1962190f9bd8e24e8bec2318ab5
Turns out this is a bit of a pain, and we found out via a full disk.
Firstly, carbon wants to rotate it's own log files, but doesn't
compress or cleanup. Disable this with ENABLE_LOGROTATION=False,
which has been around for a while. This is copied from the upstream
example config.
Secondly, we were missing the console.log file. Change the rotate to
just one for "*.log", and also add "sharedscripts" so the post-rotate
is only run once per rotation of all files.
Thirdly, copytruncate doesn't work [2]. It needs to be "nocreate";
the file is moved and carbon starts a new one (as suggested by the
config comment). This is updated in the combined rotate section.
[1] https://github.com/graphite-project/carbon/pull/68
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733856
Change-Id: I946bb728971db79a2f4d08f2787c0768b958fb53
Order and intendation of those parameters are changed
to follow Puppet Style Guide recommendation [0].
Moreover, it will allow to an user to find much faster
a variable in a list of variables.
[0]. https://docs.puppetlabs.com/guides/style_guide.html
Change-Id: I80c9ab9dc4b305d6ad800cc58cc94e9648b940b0
The python-django package for Ubuntu 14.04 is installing version 1.6.1
whereas the graphite version running on the existing precise servers only
works with django<1.3. This update conditionally sets the graphite
version to 0.9.15 which requires at least django 1.4.
Change-Id: I348f15ab200b57d3cd9018eb5ba9ebd9e68d56d5
The directory /var/lib/graphite/webapp/content is not created in the manifest,
requiring it to be copied manually from /opt/graphite-web/webapp/content when
setting up a new graphite node.
Change-Id: I385e22b9b4d4ddc0afa48b1e4e2693f8e5e97fe1
If we configure pip to install data to our real data location, then
pip helpfully tries to back it up before doing an operation. Problem
is, pip isn't actually installing data to that location, and we have
a lot of data. Misdirect pip so that it thinks an empty dir is what
it should manage.
Change-Id: I28cf2b7ce69023b7d30b9faf2a88185905ecbfee
In anticipation of puppet 4, start trying to deal with puppet 4 things
that can be helpfully predicted by puppet lint plugins. Also fix lint
errors caught by the puppet-lint-absolute_classname-check gem.
Change-Id: I40b3eb70669133414681ab9c9a4272d46c4e83e2
Values for the graphite_admin_username, graphite_admin_email, and
graphite_admin_password parameters must be provided by the user. The
empty string is not a sane default and will cause broken deployments if
used. This change makes these parameters required. Infra is providing
these parameters in system-config so this change will not break Infra.
If downstream users are not providing these parameters their
deployments will not be functional, so this change should be safe for
users already using this class correctly.
Change-Id: I7aed54bb09e54dc8c0827188adf971b76649f94d
If mod_wsgi is not installed, the puppet-graphite module will fail to
start apache because of the WSGI commands in the vhost template. This
patch adds the httpd::mod::wsgi class to take care of it. There is
nothing else in the graphite.openstack.org site.pp node that installs
mod_wsgi so the package resource in the class should not conflict with
anything.
Change-Id: Iaba16663c99a9a3aa6b69ac9b5af6dba22cd3fd2
puppet-httpd is the openstack-infra version of puppetlabs-apache
(0.0.4) release.
This patchset will remove the puppetlabs-apache namespace from -infra
allowing for possible future patchsets to use newer puppetlabs-apache
modules.
Change-Id: Iba588ffb565e3c27615f444efeb5a3586cafbd82
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
carbon creates 3 different logs that it appends to. We should log rotate
them, so that they don't take up all the disk. Also, the carbon-cache-a
dir needs to be writable by www-data so that carbon can write the logs
in the first place.
Change-Id: I804ead080fa72053ecc6a46d962c7d30b2a165fb
Because we are adding CORS authorization to the header, we need to
ensure the apache 'headers' module is enabled.
Change-Id: I5ed0c2c413cb6ea1408d76e094ff897b8ec6a1c2
Over time, graphite seems to have acquired a range of keys that are no
longer updated and can be quite confusing when trying to find data.
This small cron job (cribbed from suggestions in [1]) should remove
all old data that hasn't been updated in nine months (this should be
long-enough to cover all manner of periodic jobs)
[1] http://stackoverflow.com/questions/9587161/how-to-cleanup-the-graphite-whispers-data
Change-Id: I598b9d370a337866e9086cbe0238569da70aa471
The name of the apache package and service are different on different
operating systems. Fortunately, the apache module populates a variable
with the correct name for us. This is also true of the apache ssl
package.
Change-Id: I7d93e56281f828cba9262c135b0beb43dce9748a
The vcsrepo module doesn't really like the combo of latest and a
specific sha. It keeps grabbing it over and over again. Guess what?
The sha hasn't updated since the last time you looked for the same
sha.
Change-Id: I1a017278b83af11541794bf03644b3346e9869c2
The onlyif test is looking for a different path than the scripts
install the database file to. Adjust it so that we don't run
every time.
Change-Id: I96c8496fb678e99facc65a01a7d34ab08290416d
For some reason graphite 0.9.x now depends on unreleased changes
on whisper master (rather than whisper 0.9.x).
Switch whisper to master since that's what the instructions say.
Change-Id: Ia823fc61fe6bafde77a632d1826de9c171bcb268
These were not initially switched to pip installs because they are
different. Put the necessary different pip stuff in place to deal with
graphite-web and carbon so that their installs are consistent with
everything else.
Change-Id: Ieef60a228e284c936307291c4ed44930791cc631
The pip vs. easy_install interactions continually get the systems
into a weird state. pip install $path_to_repo, on the other hand,
works like a charm.
Left out two graphite installs because they are doing path manipulation
and I want to do further testing before touching that.
Change-Id: I373b29aca03f1ebd20e533ebaaf5de9ef2db017e
Most of this is from the statsd README.
Change-Id: I22e4619375c10de2cb010b06071ed3b473197e92
Reviewed-on: https://review.openstack.org/18737
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Some paths were not set correctly in graphite config files.
Fix up permissions in /var/lib/graphite.
Use 'service', but don't ensure it's running.
Change-Id: I363319473a332c16687e16887bfe83e1468c8ece
Reviewed-on: https://review.openstack.org/17617
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins