Change-Id: I20aa549cf87f24d13d302fc219df84727c9fba10
Reviewed-on: https://review.openstack.org/11041
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
With these applied, initial install actually works 100% through.
Change-Id: I6587a537beb5703bf11783f3df79278ea1c7aca5
Reviewed-on: https://review.openstack.org/10718
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
Change-Id: Iff55f35c0d9888f1029115c17d4644a68d4e8b4c
Reviewed-on: https://review.openstack.org/10727
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
If replicate_local is set, this will ensure that /var/lib/git is created,
and that projects listed in the projects.config have repos there.
Additionally, it creates a new config file, projects.config which is a
yaml file listing all of the projects and various operational semantics about
them, such as whether or not they should have pull requests closed and whether
or not they track any remotes. This replaces remotes.config and github.config.
Moving forward, there is no reason to not have this script be able to
do github api calls to create the github repo if it's not there, set the
github project description, gerrit api calls to create the project in gerrit,
and initial project permissions templates.
Change-Id: I1ad803b0aa5f7386206d0c3f4cd858017242fe64
Also, moved depends for launchpad sync script to the launchpad sync
module, and put the ntp stuff into an ntp module.
Change-Id: I2568752493fefa305f9108a23da101d80a311552
Additionally, the file installation of the scripts wasn't working,
so the sync script wasn't actually getting installed. This moves
the underlying scripts to be installed by the gerrit module,
because it owns /usr/local/gerrit/scripts, and then manages the
gerrit hooks which call those scripts in the openstack_project
class, since that's where the config choice to enable those
functions really should live.
Change-Id: I54fb9edd9fb0c634d8d9de4e57f9ddad6af63a99
Variable interpolation needs <%= not just <%. :)
Also, while I was in there, I replaced default with "oneiric",
because I don't actually know that the value is a good default value,
and I removed a couple of comments about moving to MySQL and Apache
modules from upstream.
Change-Id: Iec5b10cee2cbd0e0a2573fefa707d34d2a363cb4
Set the replication authGroup for github to Anonymous Users.
Enable the "mirror" option which "will remove remote branches that absent
locally or invisible to the replication (i.e. read access denied via
authGroup option)."
Disable replicatePermissions which will cause permissions-only projects and
the refs/meta/config branch not to be replicated. I'm ambivalent about
refs/meta/config, but disabling permissions-only projects will remove
the periodic errors we get when trying to replicate All-Projects to github.
Change-Id: I9c302b68e0a213d35683d7105341788923c5770a
Launchpad integration and the OpenStack branding files are really
more about the OpenStack specific install of Gerrit than they are
about any installation of gerrit. Both of these are moved to the
openstack_project module.
Change-Id: I8b281aa5cb751a8023c2101c45146a3aca5f90f3
TODO: Add another script that sets the project description. Add the project
description to the config hash.
Change-Id: If4584b2a1e55e6eb912e1f557e31de216d49a516
The openstack documentation team has a new mailing list in part to
accomodate the DocImpact notifier. Update the destination address in
the notify_doc_impact script to send mail to
openstack-docs@lists.openstack.org.
Change-Id: I041194298a18e5f710c6e3bd7221dee2099733e8
Assumes that every project in gerrit has a corresponding repo in
/var/lib/git that can be replicated to. That's probably a one-time offline
creation, followed by an additional step in the adding a project docs.
Change-Id: If9b987717550d5b251366c1408d949c55e64828a
heat is in heat-api/heat
Verify trigger is for -2 in the code, not -1
Heat's repo is in heat-api instead of stackforge, so Gerritbot needs
to monitor that
Change-Id: I0526a32489c9af67198fcebeebdf3271c5751c49
Fixes bug #1020987
Update GerritBot with the ability to talk on multiple channels. This
way a single GerritBot instance can operate in multiple channels for
multiple projects. To make this work this change introduces a new
channel configuration file (yaml) for GerritBot that specifies each
channel that GerritBot should join and the changes that channel is
interested in.
The config should look something like:
channel-foo:
events:
- patchset-created
- change-merged
projects:
- test/bar
- test/foo
branches:
- master
Change-Id: I8e278f9be5182611981a3d912cc323bd3d386fc5
Stop marking python-PROJECT client bug fixes as fixed in PROJECT, by
removing the exception mapping. This is due to client projects now
having their own Launchpad project.
Change-Id: I56471c9efff143f79421729880626c5e78c6200b
Set the timeout to 5000 minutes, which, due to a bug in gerrit
really means 5 minutes, which is the documented default value.
Change-Id: I85127cc44ed6f182a0e06083641d2d872f11d8b3
Add a doc impact notifier to Gerrit that will email the documentation
team whenever changes with "DocImpact" in their commit messages are
pushed to Gerrit.
Change-Id: Ibbb4ac740efa60ef44fd4753ad8459437d98e592
Fixes bug #1012310
Seems github won't let you request an issue if issues are disabled
on a repo. So attempt to get around this by creating an Issue object
derived from a pull requests URL. Then comment on this issue object.
Change-Id: If64640ebc1d86d86360e5657f4245541620fcebb
Fixes bug #1012310
Old version of script didn't appear able to find repos as part of
organizations. Update script to search for the repos under orgs.
Change-Id: I04696152bc3b7ecb63a5704768c27ff796d3ffc9
Fixes bug #1012310
Github disabled v1 and v2 of their API permanently, forcing us to
update the script that closes Github pull requests to v3 of the API.
Update the script using the PyGithub lib.
Change-Id: I90c9faacdb7a72a470b8ad6aaea674edd9b8329e
Stop using latest for packages installed by puppet. This way,
all system packages get updated, not just some random ones.
The unattended-upgrades config will email root. It is configured
for openstack servers and jenkins slaves, but not template hosts
so that it doesn't interfere with spin-up.
Also, fix some bits in the gerrit module that were causing
continuous restarts on gerrit-dev.
Install emacs.
Change-Id: I51c9083ccd3669f284fce4b50c36a37a0cac92d8
Increase the heap size and dramatically increase the ssh threads.
Add some more recommended parameters (see site manifest for details).
Parameterize tunables in gerrit config file.
Change-Id: Ia6446b29426f56a77425eed93a7f0e448c3cd7b1
We get this error in cron:
/usr/local/gerrit/scripts/update_gerrit_users.py:339: UnicodeWarning:
Unicode equal comparison failed to convert both arguments to Unicode -
interpreting them as being unequal
if key.strip() not in db_keys:
The stuff from Launchpad comes back as unicode, but the stuff from MySQL
comes back as string, which makes the in comparison wonky.
Perhaps we should upgrade the database to unicode properly as well...
Change-Id: I5ef66763429ca490d799ebb5b030abdc4d5de67e
The default values for locations were wrong.
The config file name is remotes.config.
The git repos are in /home/gerrit2/review_site/git.
Change-Id: Ie887b2424e3ee50f802573e147cd4751e390d3e8
Makes update_bug.py Gerrit/LP hook support setting series-specific
bug tasks to FixCommitted status on change-merged to stable/*
branches. Fixes bug 921588.
Also sets "In Progress" on patchset-created to stable/*.
Change-Id: I5e3b7c8d249755a71f3425dd33151764be2a1485
MySQL binlogs are filling up quick due to lots of delete statements during user
sync that don't delete any rows. We could test to see if the rows exist first
but this would be a performance hit on a script that takes forever to run as it
is (plus the new sync script will work differently and not have this problem).
Switching to RBR which will only log row changes so will ignore these deletes.
Fixes bug #1002550
Change-Id: Ief2097de63bd0a5bde129b72cec87ff3745a6ea1
There are a set of projects which release directly from git,
so we can just set them directly to fix released.
Fixes bug 943413.
Change-Id: I0186b67efaa5eee7130ae9d5a677dfb2951a98e8
Previously the user update script only synced the SSH keys upon adding a user.
This will make it add new keys to gerrit on every run.
Fixes bug #1001180
Also added a lock file since it is sometimes taking longer than 15 minutes to
execute (especially now we are pulling SSH keys) and has jammed up StackForge.
Change-Id: I28fd0f557568c20a07e724bcd3d9c789a62fff42
Not all gerrit installations are configured the same. This adds parameters
to the gerrit sync script and expire script so that it can work from the
command line and cron on all servers.
Fixes bug #994201
Change-Id: Iac37e18aaf7a10fb5594be233e33b000eabed336
From Jim: "I think the confusion may be coming from people who only see this
message via email. In that case, indicating that the button is available in the
web UI when visiting the change may be helpful."
Done!
Change-Id: I1125cfc5040b6351ef956527b90e71f4d33f30a0
Add python-cinderclient to pull-requests closing.,
Add python-cinderclient jenkins jobs.
Re-add cinder and python-openstackclient and python-glanceclient to jenkins.
Change-Id: I415a0f6586f6c22036715513c38b5105ff319809
Fixes bug 951600.
The update_gerrit_users.py script creates a database backup
everytime it runs. This change compresses the backups as they
are being made and adds a cron job that will remove backups that
are 30 days or older. Current backups will need to be manually
compressed.
Change-Id: Idb90d4af629892f1bc2e3e98f35f7de2ad58d4be
Take the things from openstack-ci/gerrit and move them directly
in to the puppet module. Install them using the model we're using
for the jenkins slave scripts.
Change-Id: I420b2b895bd57d40232b2cdda437617373a82890
To be landed after the gerrit change in https://review.openstack.org/6749/ had been applied. Lightens the red used for the outdated highlight.
Change-Id: I33a89873968c0c8e6cb8dfa30892d50337b9a124
Match what gerrit init creates; otherwise, gerrit init will
delete and recreate the secure config file, losing the database
password in the process.
Change-Id: Ic1632fe3b24a0e4498b2415029e8a1db0fd1dfe2
Upgrade gerrit to 2.3.0.
Add management of the apache virtualhost.
Remove gerrit body styling (including the javascript hack) in favor
of using the gerrit theme config options for body styling. Keep header
and top menu changes. This should make it easier to keep up with new
gerrit versions without chasing weird GWT changes.
Add management of the gerrit init script.
Add management of MySQL.
Add installation and upgrading of Gerrit.
Change-Id: Idf9e551552d335a2ae82cd27a63edcf6daf94115
Some hyperlinks in Gerrit use background images (why God why?!). An example is any 'X' link to delete something. Lets unhide these.
Fixes bug 974413
Change-Id: I851a407750bc0ef70969a897b125861d0106da80
Moving the cron executed gerrit scripts into the puppet module. This is for two reasons:
1. Easier/faster to deploy/maintain than having a cron job for a separate git repo
2. We can add customisations required for review-dev and stackforge
Change-Id: Iaf44e1d57d6ee6ea282575b1b48261f4ccbbaf3f
Connection pool must be explicitly enabled.
See lines 160 - 175 of file
gerrit:gerrit-server/src/main/java/com/google/gerrit/server/schema/DataSourceProvider.java
Change-Id: I0f2d712cfa622d318e81a327ce18283aa086f894
Chrome doesn't handle window.onload in the same way as other browsers, this compensates (and cleans up the JS a little)
Change-Id: If629155a6f305e5079f70db6d4045896fb43b483
* Adds stylesheet, header and images to make gerrit look more like an Openstack thing
* Adds Javascript hack that the CSS detects so we don't ruin the style of the patch pages
* Adds both openstack and stackforge logo
* Also adds stackforge logo to stackforge Jenkins
Change-Id: Ic541443fb706ab119a9d47f474bcad2bf8e9907e
Add stackforge manifest (can be pointed to in puppet.ini)
Remove gerrit_installed lib (doesn't work with puppet master)
Make jenkins_master module more generic
Have an SSH key for different jenkins_slave setups
Change-Id: Ic52f06d150210038aaf47c48aeb7c991b94c6fc8
Early Sunday mornings, repack all the git repos in gerrit. This
currently takes 41 seconds for all 32 repositories, so running
it weekly doesn't seem too intensive.
Fixes bug 943623.
Change-Id: Iff0e999c27b428cd1170706e3dc7ede3a1a178a8
Based on the advice in this thread:
http://groups.google.com/group/repo-discuss/browse_thread/thread/b91491c185295a71
Size the sshd threads (which are also used to handle https git requests)
better. Based on current trends, we peak at about 50% cpu usage
and 25% memory usage. Double the number of threads here to try to
allow us to get closer to 100% cpu.
(Corresponding increase in db connections.)
Change-Id: Icde18233de01466b241ab28d38d2e98735108193
In order to clone 8 keystone repos simultaneously via https in dev,
the following were needed:
httpd.acceptorThreads>=4
sshd.threads>=8
And database.poolLimit is supposed to be higher than http+ssh threads.
Change-Id: I8d011af41e32f7865424d54d5a78a10a3689e708
Adds a cron job to puppet for expire_old_reviews.py and creates a directory for the logs
Required for bug 907842
Change-Id: Ia07fd6dd90035d34a2008a99263274d2846d2c7a
Use update_bug.py generic hook to update Launchpad bug status on
change-merged and patchset-created events.
This should be merged after https://review.openstack.org/2367
which adds update_bug.py to openstack-ci.
Change-Id: I0098cfacd7c320f3acadd960b97e531febf57218
Fix bug 888479:
Only allow master branch merges to set bug status to FixCommitted.
For other branches (think stable/diablo or milestone-proposed), set
a in-BRANCHNAME tag instead, to allow for efficient searching.
Change-Id: I6401ab4ba92f7983040ac8b2008c88490e2589d8
Remove include cowbuilder; not needed since it's a module.
Change cron strings to single quotes so that puppet doesn't try to
interpolate escaped chars.
Change-Id: I4f6b7b84fc7b0b67a49edabc5138bcbe345d1784
Reviewed-on: https://review.openstack.org/267
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
Call the blueprint update script from the patchset created hook.
Add blueprint comment links.
Also, add changeid comment links.
This change depends on I62f965ca7f14f589e3b299ea46729efb68abd06f
in openstack-ci.
Change-Id: I62b0644ffea4b4d7f5a3407fc9e776b28e200278
Reviewed-on: https://review.openstack.org/254
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
Also move the launchpad sync cron into puppet.
Create config file for github pull close script.
This change depends on https://review.openstack.org/#change,224
Change-Id: I1b7ad599a6c7542614780ea0ce46a42a8995d15b
Reviewed-on: https://review.openstack.org/225
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins