RETIRED, The jenkins gearman plugin
Go to file
James E. Blair 6041401766 Handle mutex scheduling from Gearman or Jenkins.
Every node (slave or master) gets an AvailabilityMonitor that
handles mutually exclusive access to scheduling builds on that
node.  If Jenkins wants to run a build on the node, it will only
be able to do so if we are not waiting for a response to a
GRAB_JOB packet from Gearman.  Likewise, immediately before
sending a GRAB_JOB, we lock the monitor and only unlock it if
we either get a NO_JOB response, or after the job we were just
assigned starts building.

(As an exception to the above rule, since Jenkins will apply the
same scheduling veto logic to the build that we request via Gearman,
(while we still hold the lock) we tell the monitor to expect a request
for that build from Jenkins and we permit Jenkins to build it even
if the lock is held.)

Change-Id: Iae03932aef4b503c69699b99d38a6fc2691fb02e
2013-06-13 12:42:51 -07:00
.settings update eclipse setting 2013-01-29 12:05:01 -08:00
src Handle mutex scheduling from Gearman or Jenkins. 2013-06-13 12:42:51 -07:00
.classpath add new unit tests for plugin 2013-03-20 21:11:27 -07:00
.gitignore Fix to register all projects and register an additional gearman function for each project. 2013-02-22 10:29:00 -08:00
.gitreview Added .gitreview 2013-01-10 23:49:17 +00:00
.project abort running jenkins builds 2013-02-21 10:17:54 -08:00
.pydevproject abort running jenkins builds 2013-02-21 10:17:54 -08:00
LICENSE add pom.xml and gearman-plugin source file. 2013-01-29 10:09:47 -08:00
README.rst update docs 2013-03-27 14:53:13 -07:00
bsd.txt setup gearman workers 2013-02-06 10:21:20 -08:00
debug Gearman configuration UI is setup in the jenkins config page 2013-01-29 12:05:01 -08:00
install-fast setup skeleton GearmanPlugin. 2013-01-29 12:04:42 -08:00
pom.xml depend on a released version of gearman-java and prepare for a gearman-plugin release 2013-04-25 14:56:56 -07:00
run-fast Add local GearmanWorker. 2013-04-22 10:29:03 -07:00

README.rst

Overview

This plugin uses Gearman to support multiple Jenkins masters. More info can be found at https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin

Contributing

If you would like to contribute to the development of OpenStack, you must follow the steps in the "If you're a developer, start here" section of this page:

http://wiki.openstack.org/HowToContribute

Once those steps have been completed, changes to OpenStack should be submitted for review via the Gerrit tool, following the workflow documented at:

http://wiki.openstack.org/GerritWorkflow

Pull requests submitted through GitHub will be ignored.

Project site:

Patches are submitted via Gerrit at:

Bugs should be filed on Launchpad, not GitHub:

https://bugs.launchpad.net/gearman-plugin

Cloning:

License

Copyright 2013 Hewlett-Packard Development Company, L.P.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.