305 Commits

Author SHA1 Message Date
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
James E. Blair
ad5ddbb2a4 Fix bug preventing job builder from running.
Also, remove jenkins2 node.

Change-Id: I4cb8c5b23e0a93b2b5b72ba831e052542f5f5b2a
Reviewed-on: https://review.openstack.org/14684
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-10-23 16:34:29 +00:00
James E. Blair
8bb3ef831a Add cacti host.
Change-Id: I67cc116ad8a2b2586856965ae1e341d735d69fd3
Reviewed-on: https://review.openstack.org/14582
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-23 00:45:21 +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
2ede7d31e3 Add jenkins2 node.
Add a node for jenkins2 (what will be the new openstack rackspace
jenkins server). Do not include zuul configs and modify
openstack_project::jenkins to disable Jenkins Job Builder.

Change-Id: Iced5cb3b287452c5570ab3dcd2d84441fff55147
Reviewed-on: https://review.openstack.org/14403
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-12 21:42:28 +00:00
James E. Blair
e59caeddc5 Add review2 node.
To bootstrap a new gerrit server.

Also, make the consumer_key field in the lp creds file templated
and use a value from hiera so that dev/prod can share the template.

Change-Id: Ie14e560beae4f4c270e558c24a67096a1c4a7d32
Reviewed-on: https://review.openstack.org/14369
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-12 21:41:56 +00:00
Clark Boylan
a14e20e900 Have hiera and puppet manage gerrit ssh:29418 keys
Have hiera and puppet manage gerrits ssh:29418 keys (RSA and DSA). These
keys go in /home/gerrit2/review_site/etc.

Change-Id: If8cb3ec5a2e2c582b7fa6d87c520fc0cb7c2f205
Reviewed-on: https://review.openstack.org/14365
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-11 23:21:01 +00:00
Clark Boylan
aac46f14cb Add second review-dev node.
To accomodate the migration from oneiric to precise VMs for the gerrit
servers create a new review-dev node. This node will have github
replication disabled until it is ready to take over from review-dev.

Change-Id: Ia163c9404ed76e20152eaf71dbe29f5befe6b317
Reviewed-on: https://review.openstack.org/14306
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
2012-10-10 21:26:18 +00:00
Clark Boylan
71c5e171b4 Pass lp sync credentials in from hiera.
Pass review-dev's lp sync credentials in from hiera and ensure the
related files are created with the proper contents.

Change-Id: Ibe6cfb029245a29548d688efd5ea3c060c708256
Reviewed-on: https://review.openstack.org/14305
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-10 21:25:45 +00:00
Clark Boylan
15e526fb18 Pass review.o.o SSL certs in from Hiera.
Use Hiera to store the review.o.o SSL certs and pass them down to the
gerrit module.

While modifying these files fix indentation and rocket ship alignment
according to puppet lint in the sections touched.

Change-Id: I914b0dea72c77dedb44a4e6f51417985e673b315
Reviewed-on: https://review.openstack.org/13975
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-05 22:50:49 +00:00
Clark Boylan
82a18132f0 Pass jenkins.o.o cert contents in from hiera.
Use hiera to store the jenkins.o.o cert contents and populate the cert
files from the values in hiera.

Change-Id: Iffd724b7fabf9403506f08f76fa927c3b461ba19
Reviewed-on: https://review.openstack.org/13933
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2012-10-05 21:44:31 +00:00
Paul Belanger
199d1f3b8f Style guide updates for manifest directory
Change-Id: I40d54189eb6d5cd4512080ec5010fe339bac96e0
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/13830
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-10-01 02:54:28 +00:00
Jeremy Stanley
25d4e6f4c9 Enable Gerrit CLA and Contact Store on review-dev.
This replaces the previous Echosign+Launchpad+Wiki+approver-based
asynchronous contributor license agreement signing process with a
fully-automated one contained entirely within Gerrit itself.

Note that the CLA features in Gerrit's WebUI depend on a modified
gerrit.war with an earlier patch reverted:

    https://review.openstack.org/12716

* manifests/site.pp(review-dev.openstack.org): Fill contactstore_appsec
and contactstore_pubkey private material from hiera, for use by Gerrit's
contact store feature. Similar entries should be added for
review.openstack.org before going into production.

* modules/gerrit/manifests/init.pp(gerrit): Add contactstore,
contactstore_appsec and contactstore_url variables needed by the
gerrit.config.erb template, and contactstore_pubkey needed by the
contact_information.pub.erb template. Add a conditional block so that if
contactstore is enabled it installs the libbcpg-java package which
Bouncy Castle needs for OpenPGP operations, links the bcpg.jar into
Gerrit's lib directory, and builds contact_information.pub from the
contact_information.pub.erb template.

* modules/gerrit/templates/contact_information.pub.erb: New template
which is effectively an empty file waiting to be filled with the
contents of the contactstore_pubkey variable. The
gerrit_contact_information.pub file built from it gets used to encrypt
contact information filed by users in such a way that it can only be
decrypted by the private key held by the Foundation.

* modules/gerrit/templates/gerrit.config.erb(contactstore): New section,
implemented conditionally for safety. Once enabled, if the
contactstore_appsec and contactstore_url are unset then Gerrit will
refuse to start. If the system referred to by contactstore_url is
unresponsive or contactstore_appsec does not contain the shared secret
it's expecting, contributors will be unable to file initial or updated
contact information through Gerrit's WebUI.

* modules/openstack_project/files/gerrit/cla.html: A stripped-down HTML
copy of http://wiki.openstack.org/CLA retaining all the original
wording. This will probably need updating by OpenStack Foundation staff.

* modules/openstack_project/manifests/gerrit.pp
(openstack_project::gerrit): Add contactstore, contactstore_appsec,
contactstore_pubkey and contactstore_url variables to pass back into the
gerrit module. Also define the cla_description, cla_file, cla_id and
cla_name variables which get used in the gerrit_set_agreements.sh.erb
template. Add an entry to install the cla.html file.

* modules/openstack_project/manifests/review_dev.pp
(openstack_project::review_dev): Add the contactstore_appsec and
contactstore_pubkey variables so they can be filled in by hiera.
Override the war to pull in the g69c8fa6 test build which has the
aforementioned CLA bits restored. Turn on contactstore and set
contactstore_url to point to an existing test CGI on the Internet until
the Foundation has theirs ready. Pass contactstore_appsec and
contactstore_pubkey through up into gerrit.pp. Add an entry for the
set_agreements.sh script built from the gerrit_set_agreements.sh.erb
template and then execute it to add the new CLA to Gerrit's DB and mark
the old one expired. Similar changes should be made in review.pp before
going into production.

* modules/openstack_project/templates/gerrit_set_agreements.sh.erb: New
template used to build a set_agreements.sh script which checks Gerrit's
database and, if necessary, expires the old Echosign CLA and adds the
new local CLA. These conditions are checked and associated operations
performed independently, so subsequent runs become a no-op.
Post-migration, this can probably be neutered further and kept around
for pushing future CLA modifications into the database when needed.

Change-Id: Ib7136fef23dbd5602955649b33a57bc8d7106026
Reviewed-on: https://review.openstack.org/13058
Reviewed-by: Monty Taylor <mordred@inaugust.com>
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-09-20 15:15:42 +00:00
Clark Boylan
2e589d19cb New job template for translation management.
Add a new job template for translation management. Add two jobs for
translation management. The first will will update transifex with the
new .pot and .po files after every merge to a project. The second will
commit the new .pot and .po files and submit for review once a day.

Add puppet manifest for the slave that these jobs will be running on.

Apply the template to nova.

Change-Id: I5242f81bd6ff13d1ed8610ef9e3b39fd3dbd7301
Reviewed-on: https://review.openstack.org/11369
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-09-11 13:37:50 +00:00
Clark Boylan
a27164e67b Pass hiera sysadmin data to proper class.
The jenkins node includes the jenkins class and zuul class. Hiera
sysadmin data should be passed to the jenkins class and not the zuul
class. Move the argument to the jenkins class.

Change-Id: I0510446991749345d461c59083055a7750aede79
Reviewed-on: https://review.openstack.org/12723
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-09-10 17:15:24 +00:00
Clark Boylan
94a7768dc3 Pass sysadmins list into node defs.
Pass the sysadmins list into each node definition. This allows us to
retrieve the data from hiera rather than hard coding it in the puppet
manifests. Also, update test script to use bogus sysadmin data when
testing.

Change-Id: Ide3560f16bce4d66fb95cc5021fc879476e6a712
Reviewed-on: https://review.openstack.org/12512
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-09-10 15:58:27 +00:00
James E. Blair
a2c8473fe4 Add url_pattern to zuul.conf.
Change-Id: Ib1d05a42e98613e746cbd7865cd97ce25f6a26c0
Reviewed-on: https://review.openstack.org/11940
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: James E. Blair <corvus@inaugust.com>
2012-08-24 17:47:11 +00:00
Monty Taylor
72385e5f2f Fix another typo.
Change-Id: Ie0cad848d32b2ed104305283e6d12d1935f5c209
Reviewed-on: https://review.openstack.org/11633
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-19 23:42:02 +00:00
Monty Taylor
39fc1d5072 A few puppetmaster migration errors.
Change-Id: Ibcc8456da4d3fa3beb94173e571a5da071b6fa15
Reviewed-on: https://review.openstack.org/11628
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-19 18:25:04 +00:00
Monty Taylor
f6ae3e6b7b Use puppetmaster for slaves.
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
2012-08-19 18:02:37 +00:00
Ryan Lane
7da354907e Initial commit of MediaWiki module
Change-Id: I6181e0d4a717d0a11ea2d741034db99435d5e180
Reviewed-on: https://review.openstack.org/10521
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-12 18:40:54 +00:00
Monty Taylor
e35a6e7c73 Aggregate jenkins modules into one module.
Put jenkins_master into jenkins::master and jenkins_job_builder into
jenkins::job_builder and jenkins_slave into jenkins::slave.

Change-Id: Icb0e3071894730c17d8f36f49e9d34979d9c568e
Reviewed-on: https://review.openstack.org/11249
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-12 18:22:26 +00:00
Monty Taylor
be854cd76a Revert "Aggregate jenkins modules into one module."
This reverts commit 222f983fabfbf05f8aa074af90d60d7587acddfa

Change-Id: Iebc5744c5342a19aafdf24ea64e0b98812464ef4
Reviewed-on: https://review.openstack.org/11247
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-12 18:12:03 +00:00
Monty Taylor
222f983fab Aggregate jenkins modules into one module.
Put jenkins_master into jenkins::master and jenkins_job_builder into
jenkins::job_builder and jenkins_slave into jenkins::slave.

Change-Id: I2a1d242ecab0e765ab1b1556bbebd2db8f632888
Reviewed-on: https://review.openstack.org/10842
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-12 18:03:58 +00:00
Clark Boylan
fcabaaae2c Add node definition for static.openstack.org.
Add node definition for static.openstack.org and create first simple
implementation of what the static.openstack.org host would look like.

Change-Id: I04952154246c4985e7ff44909e892918a1336fba
Reviewed-on: https://review.openstack.org/11193
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2012-08-11 16:40:26 +00:00
Monty Taylor
5fdfa26704 Add zuul.conf.
Add a templated zuul.conf with apikey filled in by hiera.
Made an openstack_project::zuul class to encapsulate installation
and config of zuul with our config files.

Change-Id: Idc09819b27672879b74b90bdbf699b07aa416a2a
Reviewed-on: https://review.openstack.org/10460
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-03 23:14:01 +00:00
Monty Taylor
126aaf94b9 Add script for jenkins slave bootstrap.
Change-Id: I7e94193bc81c3caabd77ca112952a98f15f3c434
2012-08-02 11:08:16 -05:00
Jenkins
ad9859efd6 Merge "Remove uses of remove_cron." 2012-07-29 12:49:56 +00:00
Jenkins
3a1eaf9365 Merge "Add support for puppet dashboard." 2012-07-29 12:49:26 +00:00
Monty Taylor
67ef0a4aa8 Remove uses of remove_cron.
Change-Id: Id95228ae662880176b54903ffbcb196fbead992f
2012-07-27 13:12:16 -05:00
Monty Taylor
5fb75ec390 Add support for puppet dashboard.
Change-Id: Ia63c0af6724f95417910215a82abaadd53ba0b49
2012-07-27 12:51:31 -05:00
Monty Taylor
c510a30e1e Modified gerrit to use MySQL and Apache modules.
Change-Id: I82ff3c46438f8db126fa6a881efa09c90b1906e4
2012-07-27 17:37:37 +00:00
Monty Taylor
3fd190ed4e Move hiera calls into site.pp.
Secret info should be parameters to modules. It makes for easier testing.

Change-Id: I66034387094b2a24c6fae57fec3af1dae3dd1d3a
2012-07-26 18:59:08 -05:00
Monty Taylor
40471655d3 Add support for install puppet modules.
Change-Id: I0fb81d64daea389a564405c76773108eaeec6684
2012-07-24 10:52:31 -05:00
Clark Boylan
8c001acda4 Add cgroup and ulimit limits to precise slaves.
Apply the jenkins slave cgroups and ulimit limits that had been applied
to precise8 to the remaining precise slaves.

Change-Id: Idb58d678c1428f1c3ca5cc1817c814c6f5933519
2012-07-24 14:14:30 +00:00
Monty Taylor
0059cdd0e5 Fix some puppetmaster gotchas.
Need /usr/bin/test.
Rename openstack_project::jenkins_slave to openstack_project::slave to
deal with scoping issues.

Change-Id: Ia703cdd0407eef4afe4c6cf07263150699cc47c9
2012-07-23 18:05:35 -05:00
Monty Taylor
e498870959 Make a class for each type of server.
Change-Id: I520b77a4d83958a6a1c2472e87b28f6b8822d890
2012-07-23 10:33:20 -05:00
Monty Taylor
3776f952dc Move OpenStack classes to openstack_project module
Change-Id: Iafcd2e06c5b62e4cde5eccaab3173a20bb08a78d
2012-07-23 10:31:58 -05:00
Monty Taylor
39eb0491fb Trim down some un-needed repetition.
Adding a yml file to the project but not listing it in the .pp file
only really ever caused bugs.
Moved the full openstack project list to a variable for re-use.

Change-Id: I211b5cf54d5a84c6136a4b04ea819c688cc1e2b6
2012-07-23 10:29:07 -05:00
Monty Taylor
4b0d9b27f6 Align the parameter names for etherpad.
Change-Id: I3430939968297d0d6c14f4e210bd7601fee1dc38
2012-07-22 19:27:39 -05:00
Monty Taylor
8d34a912a0 Fixed a typo on etherpad_lite.
Change-Id: I7c1d7d1fae6aade9302ddbee63c79ac24e276753
2012-07-22 17:37:25 -05:00
Monty Taylor
cd08485f33 Apply dev key, not prod.
Change-Id: I0ab1ff717a76742573a6db2341ebbbeca8fbe12a
2012-07-21 21:27:13 -05:00
Monty Taylor
b433861e2e Add hiera params to gerrit-dev.
Change-Id: I5ee7b39be6746aba694125bb61c13fe6dce410db
2012-07-21 19:18:28 -07:00
Monty Taylor
6e27eede4a Turn off cron and document hiera.
Change-Id: I7a2db915d8849894a6b218980df6371378f0c77a
2012-07-21 18:38:51 -07:00
Monty Taylor
d025dca604 First pass at parameterizing secret infos.
Change-Id: Iee56a7e65be51ebf19a61eefd60cc93de6a764bf
2012-07-20 14:40:42 -07:00
Monty Taylor
ee45c27500 Change master cron job to support environments.
Change-Id: I6a58d7fc431637ec34a8cf6c943fe9e86838211c
2012-07-20 12:40:11 -07:00
Jenkins
a0b3204cce Merge "Add jenkins defaults file." 2012-07-17 16:30:47 +00:00
James E. Blair
4f0ce8ee84 Add wiki.openstack.org.
Add Ryan Lane's ssh key, and add him to wiki.o.o.

Change-Id: I6b81107b3b1c84c6e730caf77842e80e81d80a76
2012-07-16 15:30:17 -07:00
Monty Taylor
d6944d0ebc Add PBR to top-level list.
Change-Id: Ibe3beef80a922096087fddddeb7f508a9c0239b1
2012-07-13 11:57:00 -05:00
Monty Taylor
e4f810acab Add PBR to Jenkins/zuul.
Change-Id: Ia7e55da35f7f463c924fd1441f87c78295af6d86
2012-07-12 17:47:40 -05:00