Commit Graph

12 Commits

Author SHA1 Message Date
Andreas Jaeger 45d5296e76 Regenerate .gitmodules after rename
Regenerate .gitmodules after rename.

This also takes into account recent retirement and new creation of repos.

Change-Id: I171261b046cc3f00444ef1f4b2bc0bc646f9b346
2019-05-31 21:10:46 +02:00
Jan Hruban 2e9206a8f5 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  46d74f029f19067446ae386e8a6ed47fb627d867

Fix permission problem when finding builds

Plugin runs as user "anonymous". Escalate priviledges so it can find
projects/builds also in the case that "anonymous" user does not have
read permissions for them.

Change-Id: Iccf19460bb02a450d4a82fdabaf9dbc37a3ffe97
2016-12-02 23:39:33 +00:00
Jenkins 9a753c4273 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  b879f56ef1ccb3f81edd7768d439c7617edf6df2

Update to Jenkins LTS 1.625.3 and fix function registration

Using a newer Jenkins LTS (ver 1.625.3) did not work with the
gearman-plugin. Gearman function registeration wasn't working
correct because Computer.currentComputer()[1] and getInstance()[2]
methods seemed to always return null on initialization of the
plugin. The Jenkins.getActiveInstance method (introduced in
Jenkins-1.589)[3] works more reliably.

[1] http://javadoc.jenkins-ci.org/hudson/model/Node.html#getNodeName()
[2] http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html#getActiveInstance()
[3] e6c2e16f7a

Change-Id: I1534beda9c39a9d15da4d7b96f17e7b75699a631
2016-03-18 16:23:36 +00:00
Jenkins 94db4f2cf8 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  c5637cef49d7c8069c039a40287687fc798eee84

Register the diff of functions

Instead of registering all functions for every node each time the
functions change register the delta of the functions each time. This
should cut down on the amount of CAN_DO updates we were doing in the
past.

Note that we handle the loss of all functions with RESET_ABILITIES
rather than sending a CANT_DO for each function that is no longer
available. Also, starting a new connection will always begin with
RESET_ABILITIES to clear any potentially stale state from the gearman
server.

Change-Id: I2b16117fce30ddb3e11b338043204cf726c7f1d4
2016-03-08 21:49:21 +00:00
Jenkins 2e4f202a4f Updated openstack/openstack
Project: openstack-infra/gearman-plugin  fc5bd7813c949ba7aa937a245901de64a53a3b76

Use git.openstack.org

Our official git master is at git.openstack.org, update README.rst
that uses github instead.

Change-Id: Ie5c4c3acf27bb27044048f29dfd36b127600ef2c
2016-01-25 21:06:52 +00:00
Andreas Jaeger 774a5927fe Updated openstack/openstack
Project: openstack-infra/gearman-plugin  93a7922e07f6e785b494bf71aaac669206249444

Remove broken scm section

This repository only accepts changes using review.openstack.org and
not via github.com. Therefore remove scm configuration sections, they
cannot work for publishing any content.

Note that the scm maven plugin for git does not support gerrit,
documentation about supported options is at
http://maven.apache.org/scm/git.html

Change-Id: I369ae18b57910eab269747757a2ff78107f9b3d7
2016-01-05 17:54:24 +00:00
Jenkins 4b30859423 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  fca2c7e32569545341897e77aa214f76c811d9eb

Script to easily build a package

Introduce build-fast shell script at the root of the repository to
easily build a package having version extracted from the SCM repository.

Reuses a copy of:
http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/scripts/version-properties.sh

Would save time for non maven guru like me.

Change-Id: Iab081de54553d6240604214c608554c6a147ae70
2015-10-16 16:38:03 +00:00
Timothy Chavez c6cd4d27de Updated openstack/openstack
Project: openstack-infra/gearman-plugin  2f10c6a06f3f60da632b78387d7933c1b72ab153

Send node labels back on build completion

Zuul will not necessarily know which node type the job it dispatches
to Jenkins will run on, so we send that information back to Zuul on
build completion so it can use it to submit metrics in that context.

Change-Id: Ibca938fcf8a65facd7e39dab4eb994dfc637722a
2015-10-06 17:51:03 +00:00
Khai Do 20dde1c00b Updated openstack/openstack
Project: openstack-infra/gearman-plugin  08e9c429de050d0e6ac777579aa901552d27f7ba

Fix deadlock from a WORK_FAIL event

A lock is kept on a gearman worker when a WORK_FAIL event happens.
This causes the worker therad to stall on the next attempt that
the AvailabilityMonitor attempt to get a lock on the worker.
This causes the jenkins nodes to stop working (not run builds
anymore). Unlock the worker on a WORK_FAIL event to avoid this
deadlock state.

This fixes issue https://issues.jenkins-ci.org/browse/JENKINS-28891

Change-Id: I015ce9732fd535676a832680f39e220b09df95cf
2015-07-22 04:16:22 +00:00
Jenkins aa017f3676 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  f2024bd53efcba3a764cd8453799632d22b20673

Use TextParameterValue instead of String

If a value with a newline is received, Jenkins does not display the
value correctly in the parameters page.  Based on a quick reading
of similar issues elsewhere, it may also not save the value correctly
for later use by plugins such as the 'rebuild' plugin.  Switching
from string to text parameter types solves this.  However, it does
cause _all_ parameters to be treated as text, which wastes a bit of
real-estate on the parameters listing screen with tall textboxes.
We could scan the string for '\n' and choose appropriately as an
alternative.

Change-Id: I84ef198fd6ef852fc0a403e126f13b8cbb58a7b1
2015-06-18 02:17:11 +00:00
Jenkins c85eae9c73 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  0314ab1ea2f959eca0a89214483cb4f16fa92829

Fix race between adding job and registering

Gearman plugin had a race between adding jobs to the functionList and
registering jobs. When registering jobs the functionMap is cleared, when
adding a job the plugin checks if the job is in the function Map before
running it. If we happen to trigger registration of jobs when we get a
response from gearman with a job assignment then the functionMap can be
empty making us send a work fail instead of running the job.

To make things worse this jenkins worker would not send a subsequent
GET JOB and would live lock never doing any useful work.

Correct this by making the processing for gearman events synchronous in
the work loop. This ensures that we never try to clear the function map
and check against it at the same time via different threads. To make
this happen the handleSessionEvent() method puts all events on a thread
safe queue for synchronous processing. This has allowed us to simplify
the work() loop and basically do the following:

  while running:
    init()
    register()
    process one event
    run function if processed
    drive IO

This is much easier to reason about as we essentially only have
bookkeeping and the code for one thing at a time.

Change-Id: Id537710f6c8276a528ad78afd72c5a7c8e8a16ac
2015-05-06 20:09:01 +00:00
James E. Blair 756024fa53 Updated openstack/openstack
Project: openstack-infra/gearman-plugin  7abfdbd2d00010a1121cefebf479bcf104e7ef18

Stop sending status updates

Don't send status updates every 10 seconds.  Only send them at the
start of a job (to fill in information like worker and expected
duration, etc).  We don't actually do anything with subsequent
updates, and if Zuul wants to know how long a job has been running
it's perfectly capable of working that out on its own.

Change-Id: I4df5f82b3375239df35e3bc4b03e1263026f0a68
2015-05-06 13:11:00 +00:00