This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: I087216b631beea811cdee6cc4b4d5e26067be673
Update the .gitreview file for the new project name.
Add skeleton docs, setup, and testing.
Most of this boilerplate has been copied from nodepool.
In order to make testing easier, the EventProcessor class has been
slightly refactored to allow FakeEventProcessor to subclass and
mock out the socket object with a Queue.Queue object.
Change-Id: I137849a16807b9c56cd6f31de57b2b99506c8219
The node region can be figured out from the build_node very easily and
having a discrete field will make filtering to a single region much
simpler. This commit adds a new metadata field 'node_region' which is
the cloud region that the build_node ran in.
Change-Id: I06bbb62d21871ee61dbfb911143efff376992b98
This reverts commit 135ac1809d0182e04c2362458568de14a3cf948d.
EventProcessor was called before being defined. The code also doesn't
look entirely right. Reverting this to fix up the logstash servers
Change-Id: I2fb8081426646565814090c152d04d7349c16945
Read the ZUUL_VOTING parameter and add to the event before posting for
log processing.
The plan is that elastic-recheck will eventually use this field for
filtering out non-voting jobs from the e-r uncategorized bugs page.
Depends-On: I40746bb77aab900c1dd2637f940c14f72a904a61
Change-Id: I1f3c2a65104db39fdd7d786d421cded1b436a5f6
Currently logstash does not track the zuul url. The zuul url
contains the zm (zuul merger) node identifier.
While trying to troubleshoot a zuul cloning issue, I noticed all
faiures were coming from the same zm (zuul merger) node. Tracking
the build_zuul_url can be helpful. This patch adds the
build_zuul_url parameter.
Change-Id: I83358dc0d9b27852df2395a9c52d2daaaeda712b
Previously this was using socket.getaddrinfo() without importing socket
and causing the daemon to fail. Running in the foreground did not use
statsd thus did not attempt to resolve the statsd host which is how this
got past manual testing. Import socket to get everything working agian.
Change-Id: I280973bdcdf472736a07d19173559b062ed74d3c
Implement a project-filter option to gearman client config alongside the
job-filter and build-queue-filter options.
Change-Id: Ia71f216f4acc9de145eb9124df691393d2a86808
Because boot order is such a mess we will lazily connect to the logstash
TCP/UDP ports to allow for logstash to come up before we start writing
to it. This takes advantage of existing logstash restart handler code in
the log processors.
Change-Id: I836c55806c88cc86b7973b3d40f4bfce076970f5
There is no sane way to convince Ubuntu to start these services after
name resolution is working (because sysv init is horribly broken on
Ubuntu). Work around this by catching EAI_AGAIN errors during name
resolution and retrying until we can resolve names.
This logs each failed resolution attempt so that users are aware of the
issue if investigating logs.
Change-Id: If94d4f04d0e1cfedc358fd9d678a36fc9cd8aa7b
This commit adds a new job filter to the gearman client to filter
based on the build queue. This is used for the subunit jobs which
we don't want to run on check jobs.
Change-Id: If81fe98d8d67bb718c53a963695a7d06f5f6625d
This adds a new gearman worker to process the subunit files from
the gate job runs. It will use subunit2sql to connect to a sql
server and process the data from the subunit file. The
log-gearman-client is modified to allow for pushing subunit jobs
to gearman, and the worker model for processsing logs is borrowed
to process the subunit files.
Change-Id: I83103eb6afc22d91f916583c36c0e956c23a64b3
We are leaking file descriptors in our log worker processes because we
are are not catch all possible errors leaving some actions left behind
to do. More aggressively catch errors so that all cleanup happens
Change-Id: I7a73a36c6fc42d4eba636cf36c8cfffcea48a318
According to https://docs.python.org/3/howto/pyporting.html the
syntax changed in Python 3.x. The new syntax is usable with
Python >= 2.6 and should be preferred to be compatible with Python3.
Enabled hacking check H231.
Change-Id: I4c20a04bc7732efc2d4bbcbc3d285107b244e5fa
We are currently using a lot of wildcard searches in elasticsearch which
are slow. Provide better field data so that we can replace those
wildcard searches with filters. In particular add a short uuid field and
make the filename tag field the basename of the filepath so that grenade
and non grenade files all end up with the same tags.
Change-Id: If558017fceae96bcf197e611ab5cac1cfe7ae9bf
Have the log-gearman-client (aka jenkins-log-client) initialize
the statsd parameters when starting the geard server. Also, make
sure that the python statsd package is installed on the host.
Change-Id: I04fe1a7609f08bc710891b6a3b92d0f4d156d86c
If there is an exception filtering a log event handle that by removing
the filter and continuing to process the remaining log events for the
assocaited file. This prevents non filter data from being lost when the
filters have an exception.
Change-Id: I65141daf21a873096829c41fdc2c77cbeecde2e3
CRM 114 is being forked off of the gearman worker processes and as a
result has open fds for log files and tcp connections. CRM 114 should be
isolated from the fds so that it doesn't crash when they change
unexpectedly. Close the fds using the subprocess.Popen close_fds flag.
Change-Id: I4fbdf3564771be7d7a7e4c518e571634de576253
Add grenade new/ and old/ logs to logstash. To do this without tripling
HTTP GETs for every finished job add a job filter to the log gearman
client that when present only attempts to grab files if the job name
matches the job filter.
Change-Id: Ia33722bf71d482f2fd6b655b28090a10bf46af54
Please see corresponding review for zmq-event-publisher:
https://review.openstack.org/#/c/67495/
This will help track down jenkins host/slave issues
Change-Id: I660252dc79f074b52587298120b4d6ceeedaf9a3
Since some bugs are branch specific we want to write logstash queries
that use the branch, so log ZUUL_BRANCH as build_branch in logstash.
From zuul's launchers doc:
ZUUL_BRANCH: The target branch for the change that triggered this build
Change-Id: Ic408afb235be5716231c663616c17a98ef6f8870
zmq publisher already has the computer/node name information
per commit:
openstack-infra/zmq-event-publisher 36ca349
we just need to pull it out of the event and pass it along as
a new field
Change-Id: Iddefdf74ddf170eaafcd82c5e1f5b0389651cf89
Separate the jenkins log client and worker bits into a new module
called log_processor with ::client and ::worker classes.
Instantiate two workers on each logstash worker node.
Change-Id: I7cfec410983c25633e6b555f22a85e9435884cfb