35 Commits

Author SHA1 Message Date
Clark Boylan
fa59ac7351 Double the node stack size for etherpad lite
Node was running into stack size limit errors at the Atlanta Juno
Summit. The default value for the stack size limit is 984 kBytes double
this value to 1968 kBytes to hopefully make etherpad-lite more stable.

Change-Id: Ib644e68689e9f6b1e00cb959ff7cf4e5dc553cf6
2014-05-16 09:31:12 -07:00
Monty Taylor
9ee8148d5d Allow for etherpad title to be parameterized
The general etherpad_lite module should not contain OpenStack as
a hardcoded title. Parameterize it.

Change-Id: I473720d9566233ab4c8d2081c9835b42ddfcb94e
2014-02-10 15:07:40 -08:00
Clark Boylan
5d340b2602 Upgrade the version of node for etherpad-lite.
* modules/etherpad_lite/manifests/init.pp: Bump node to 0.10.21.

Change-Id: I29ddc3800482ed5da64ccb76fdf39ad1e91bc228
2013-10-18 17:16:45 -07:00
Clark Boylan
873cb03aef Tune apache for etherpad lite.
* modules/etherpad_lite/manifests/apache.pp: Install apache etherpad
lite connection tuning config file.

* modules/etherpad_lite/files/apache-connection-tuning: Configure the
Apache MPM Worker module to run up to 64 processes with 32 threads each
for a grand total of 2048 client connections maximum. This should be
relatively safe as etherpad connections are not very heavy. Most
connections come from users that lurk, they don't provide any input
that creates writes to the database. For example at a design summit we
may have 8 design room seach with an etherpad open, in each room there
may be 20 people connected to the etherpad but only 2-4 writing to it.

Change-Id: I3f406af1204b993d2b083180f17cafcf4f62f5bc
2013-10-09 16:53:27 -07:00
Clark Boylan
c1ffb9f145 Update etherpad and etherpad puppet manifests.
* manifests/site.pp: Pass new mysql DB variables to
openstack::etherpad*.

* modules/etherpad_lite/manifests/apache.pp: Fix broken /etc/ssl/certs
permissions (0700 -> 0755).

* modules/etherpad_lite/manifests/init.pp: Update default nodejs and
etherpad versions. Remove ep_headings plugin install. New plugin define
should be used for this instead. Stop making the etherpad-lite ref to
checkout optional (defaults to develop). Note these changes are probably
not going to be backward compat.

* modules/etherpad_lite/manifests/plugin.pp: Define to install etherpad
lite plugins.

* modules/etherpad_lite/manifests/site.pp: Simplify DB support and
remove support for the dirty DB type.

* modules/etherpad_lite/templates/etherpad-lite_settings.json.erb: Bring
settings erb up to par with latest template.

* modules/etherpad_lite/templates/etherpadlite.vhost.erb: Update rewrite
rules for new etherpad. Instead of allowing nice pad urls rooted at /
redirect these url to /p/padname. Etherpad does not deal well with a
change in root path as /p/ is hardcoded in many places.

* modules/openstack_project/manifests/etherpad.pp
* modules/openstack_project/manifests/etherpad_dev.pp:
Update to use new etherpad module setup. MySQL DBs are now externally
managed, pass in needed connection info.

* modules/mysql_backup/manifests/backup_remote.pp: New define to backup
remote DB servers.

* modules/mysql_backup/templates/my.cnf.erb: Template for a my.cnf to be
used by the cron in backup_remote.pp. Allows for easy connectivity from
server using MySQL DB as root.

Change-Id: I1250297674b91e81d59cd28c07c52e09967ca548
2013-10-09 16:53:06 -07:00
Sean Dague
0c4311c054 add ep_fintest, needed by ep_headings to etherpad
Make it possible to optionally install ep_headings on an etherpad
environment. This makes it easy to enable this on some environments,
but not all. Default to 'false', but set 'true' for etherpad_dev.

on my environment I also had the installation of ep_fintest, because
plugins didn't seem to work until I did this. Testing that.

Change-Id: Ia1ee0fd7b51e88f639de5350f124f1a95405cabf
Reviewed-on: https://review.openstack.org/26422
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2013-04-09 17:19:51 +00:00
Sean Dague
a09c10ea78 add ep_headings option to etherpad install
Make it possible to optionally install ep_headings on an etherpad
environment. This makes it easy to enable this on some environments,
but not all. Default to 'false', but set 'true' for etherpad_dev.

With summit coming up, it would be nice to have ep_headings in the
etherpads, makes them a lot easier to read.

fix puppet lint issue with all the equals signs not lining up.

Change-Id: I8cfa12480aed0b351012161c2cdbc406c0f52e7a
Reviewed-on: https://review.openstack.org/26380
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2013-04-08 19:00:46 +00:00
Clark Boylan
b2573d3d33 Cleanup puppet parser warnings.
Cleanup warnings for missing '$' in class parameter definitions and for
non upper cased requirements.

Change-Id: I5fe04a304b084f4c6d09cfb23a9dfae2548a8e22
Reviewed-on: https://review.openstack.org/18704
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
2012-12-28 16:52:17 +00:00
Clark Boylan
ecef1b7b08 Use new etherpad-lite upstream.
etherpad-lite moved their upstream git repo to
https://github.com/ether/etherpad-lite.git. Update the vcsrepo source
for etherpad-lite when giving vcsrepo a specific version of
etherpad-lite. Do not update the source for the versionless vcsrepo
resource.

This allows us to leave etherpad.o.o alone while we install
etherpad-dev.o.o. Once etherpad-dev.o.o is working and we have tested an
upgrade to latest eplite and new node we can flip etherpad.o.o to the
new source.

Change-Id: I7cb9aaa5211f57c84698887500f519f92c514e91
Reviewed-on: https://review.openstack.org/17566
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-12-06 18:13:26 +00:00
Paul Belanger
a7ce7fd02e Additional puppet-lint formatting
Change-Id: I6e5fa77a301eec30cff8e16bad33a91bfd95b13f
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/17176
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
2012-11-30 20:56:32 +00:00
Matthew Wagoner
4f433a021f Clean up of minor puppet-lint warnings.
Mostly documentation and parameterised class parameter complaints.

Change-Id: I5b3ffa4ad3f707f385165c2d86c891c6bd4c1ae0
Reviewed-on: https://review.openstack.org/16901
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-11-26 20:55:57 +00:00
Matthew Wagoner
7390450969 Cleanup etherpad_lite manifest lint errors.
Also, seperate out the buildsource defined resource from init.pp

Change-Id: I9fe46ad31943f667ebe8bb6b01a2007e0b3cf022
Reviewed-on: https://review.openstack.org/15061
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-11-17 01:30:36 +00:00
Clark Boylan
85731ecb8c Fix eplite node.js install problems.
Two problems installing node.js for etherpad lite on a new host:
1. Install may be attempted before repository is properly cloned.
2. Installing node from source may take longer than the default exec
timeout.

Fix this by adding more order requirements and increase the exec timeout
when running make on node.js.

Change-Id: I74c225ee725e6e67b54dbf8ba7795d28e82c66e3
Reviewed-on: https://review.openstack.org/16013
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-11-13 22:07:22 +00:00
Clark Boylan
3cbe0a8409 Add etherpad-dev node and host class.
We now host etherpad.openstack.org. To properly test upgrades and things
add a proper etherpad-dev host to puppet. Currently the configuration is
set to mimic that which is on etherpad.o.o. Once the -dev host is up and
running it will be used to test upgrades to more modern etherpad lite
and node.js version.

Also at some point we will probably want to use the puppetlabs-mysql
module to manage the mysql instances for etherpad. This dev host makes
that easier.

Change-Id: I63500026a1a38d7c4dd5b00cc869586eb2483497
Reviewed-on: https://review.openstack.org/14861
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-11-02 06:59:11 +00:00
Clark Boylan
03e6c349b2 Add ssl-cert package to etherpad.
Change-Id: I717926f8c155a796047d58bdbb48cb58bde9b7c5
Reviewed-on: https://review.openstack.org/14585
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-10-21 16:47:52 +00:00
Clark Boylan
14a7154254 Correct etherpad lite certificates.
Etherpad lite previously attempted to manage its cert files in two
different ways. This created a conflict and puppet would not run
successfully. Remove the old way of managing the cert files.

Change-Id: I9336c6f97d455917f4680bfdfd5543283714fe34
Reviewed-on: https://review.openstack.org/14584
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-10-21 16:18:35 +00:00
James E. Blair
274489ab9e Align etherpad vhost ssl section with standard.
As copied from jenkins.  Both old and new names for the
cert contents are in hiera.

Change-Id: Ic6d8258479c260ac37346c49c1ecde8339c96a37
Reviewed-on: https://review.openstack.org/14432
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-20 15:39:25 +00:00
Clark Boylan
33f59792c1 Manage etherpad-lite robots.txt.
Add a robots.txt file for etherpad lite. Disallow / because we are using
the pretty URLs.

Change-Id: Ic589923d142fe8c950534c4419582502bde98a3a
Reviewed-on: https://review.openstack.org/14422
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-16 16:00:42 +00:00
James E. Blair
aa372f4c16 Rewrite /p/ on etherpad.
Also, actually redirect on incorrect hostnames.

Change-Id: I4e0981e45ed119eff02027e90a6a983ddeb6138b
Reviewed-on: https://review.openstack.org/14420
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-13 15:49:24 +00:00
Paul Belanger
13773cd105 More puppet-lint formatting fixes
Yet another bunch of puppet-lint fixes.

Change-Id: I9574cf1c5e35620b12e4d5e2bd6b2eb4d320c935
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/13988
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-05 19:47:44 +00:00
Monty Taylor
a6c709c86f Clean up post-apache move carnage.
Change-Id: Ieeb8469126d64df75e7fa0fff67618daa6990674
Reviewed-on: https://review.openstack.org/11246
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-12 17:49:33 +00:00
Monty Taylor
7d8c838038 Align all web server usage on apache module.
Change-Id: Idd712a8ee5ec81c6b88b7d3e2270dce4da254927
Reviewed-on: https://review.openstack.org/10838
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-12 17:03:46 +00:00
Monty Taylor
a9ebb4ebf7 Changed git ref for node.js to use release tag.
Change-Id: I157623dbfc2ef4ace6ced8d27e03afd0f5f7b153
Reviewed-on: https://review.openstack.org/11208
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-11 16:49:15 +00:00
Monty Taylor
7e179fa012 Remove unneeded origin/ prefix.
Change-Id: If38227a8f2bf5890f59bc4050f71d400447771b7
Reviewed-on: https://review.openstack.org/10957
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-07 13:44:56 +00:00
Monty Taylor
246566d65e Replace manual git work with vcsrepo module.
Change-Id: Ia0f3acd50aab07cc83d13cd12c8f7fc67f1c697d
Reviewed-on: https://review.openstack.org/10832
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-07 07:09:43 +00:00
Monty Taylor
4b0d9b27f6 Align the parameter names for etherpad.
Change-Id: I3430939968297d0d6c14f4e210bd7601fee1dc38
2012-07-22 19:27:39 -05:00
Monty Taylor
d025dca604 First pass at parameterizing secret infos.
Change-Id: Iee56a7e65be51ebf19a61eefd60cc93de6a764bf
2012-07-20 14:40:42 -07:00
Clark Boylan
25919b7644 Go back to using self compiled node.js.
The version of node.js packaged by ubuntu does not seem to play nice
with require-kernel and etherpad-lite. Go back to compiling version
0.6.16 of node.js which is tested and appears to be working.

Change-Id: Ib9bda5d7acbda06561398a0c715b28e46edb531d
2012-06-21 17:52:43 +00:00
Clark Boylan
d26e10e4b7 Minor tweaks to etherpad_lite module.
Set custom pad.js file to mode 0644. Add nginx config for Etherpad-Lite
to sites-available then symlink to that from sites-enabled. Use Ubuntu
packages for Node.js and NPM instead of building from source (Precise
appears to have fairly recent packages that work).

Change-Id: I752a10ea32b462ef0cc8a5a515dd44c9390a4776
2012-06-19 18:36:08 +00:00
Jenkins
3d625209dc Merge "Fix etherpad lite's use of git." 2012-06-06 20:47:33 +00:00
Clark Boylan
e01b045197 Fix etherpad lite's use of git.
Before this commit etherpad lite would run a git pull or clone
every time puppet was run. Make that behavior toggleable. Now
etherpad lite will only clone and checkout the branch specified.
This makes puppet less chatty to upstream.

Also, fix a quoting issue in etherpad lite's mysql manifest. The
eplite user's password was being reset each time puppet ran due to
having single quotes around backticks in the unless clause.

Change-Id: I74418ebaba82902906d04f18386de6f6bd6259bb
2012-06-06 20:31:18 +00:00
Clark Boylan
be168e51b6 Fix Etherpad Lite log rotations.
Etherpad Lite does not give up its log files sanely. Instead
according to their bug tracker one should use logrotate's
copytruncate option. So we will use copytruncate.

Change-Id: Ic76d215bf35f3aa64ca5764512debb5cdcfca60e
2012-06-06 17:04:09 +00:00
Clark Boylan
7b299b2af1 Puppet ethpad-lite DB backups.
Puppet will now add a cron job and configure logrotate to backup
etherpad-lite's MySQL DB daily and keep a months worth of backups.
These are the defaults and are slightly configurable through the
etherpad_lite::backup class.

Also configure log rotation for etherpad-lite's error.log and
access.log.

Change-Id: I30e0a4c8ee852e6621ee74744968d85696658608
2012-06-04 21:56:46 +00:00
Clark Boylan
04dad8bf96 Update eplite module for new version of eplite.
Etherpad lite has changed their source tree slightly. This has
required a few updates to the etherpad lite puppet module. The
custom pad.js needs to go in a different directory and the upstart
conf file needs a couple updated paths.

In addition to the fixes a couple things have been cleaned up. Now
define an etherpadlite.openstack.org node in site.pp and copy SSL
certs from /root/secret-files.

Change-Id: I312b419aa98212b6db68232c672bc4d75f23777f
2012-05-31 23:16:57 +00:00
Clark Boylan
031cc983dc Puppet Module to install etherpad-lite.
Part of the work necessary for bug #995248

Puppet module to do a basic install of etherpad-lite. Currently
installs etherpad-lite and node.js. Configures etherpad-lite to use
mysql for its DB backend and sets up nginx to reverse proxy
etherpad-lite.

Change-Id: I3ee1ce4594fcf2a27b520a3ad7a024318f69111a
2012-05-10 20:33:51 +00:00