The proper way to shutdown the executor is to issue a 'stop' and then
wait for the executor to finish its current jobs before issuing a
'start'. Doing 'restart' doesn't ever seem to be the right thing to
do, so prevent folks from doing that.
Change-Id: I2630306a7290092c3e59f4be01a82950927bf60b
As of I8278d9ca81ed7b0a2a2189d42b8b69c5eea2bab5 the last remaining
use for the [webapp] config section (passing in the status_url) is
no longer required, so it is safe to remove in its entirety at this
point.
Change-Id: I9ceb695cf54397fa2ccbbd4e580843a3f37a997c
Starting with I8278d9ca81ed7b0a2a2189d42b8b69c5eea2bab5 the github
reporter looks for its status_url in the [web] section of the
configuration instead of [webapp], so put a copy there as well.
Change-Id: I55ec498e1e35832723d6ffeb62ffa06b9ee4c930
postconditions was starting zuul, not zuul-scheduler. If we start
zuul-scheduler, then gearman should be running.
Change-Id: Icf228843495717fbb89b76b4ebad6b74d6e72b54
We have extra whitespace in the pip installed package listing that we
don't have in the upstream pypi package search so our string comparison
of the versions breaks. Fix this by trimming extra whitespace.
Change-Id: I04b28508ff9371397d42957f0d086aa9bb63a4f7
We need to forward requests for /connection to zuul_status_url, which is
the scheduler port 8001.
This will need to get updated when we land the move-gh-to-zuul-web
patches.
Change-Id: I6d10e090b37218176e969128c337b0d431870d41
This removes the test for the status page contents over HTTP because
zuul-web is not capable of providing that without a functional
configuration.
Change-Id: I53e30b053e6963e85247769ec6443439f9144582
The zuul-fingergw in zuulv3 accepts the 'stop' command to stop
the daemon. This is the only valid way to stop it.
Change-Id: I86ac10c3a4d3af594fd32a5c0e316d626abf5a5e
Since the contents of the status.json is only available in-memory from
the Zuul scheduler, the contents are lost forever if the scheduler,
or the server it is hosted on, crash.
This implements two crons:
1) A curl to download a timestamped status.json, if it is available
2) File deletion so we keep no more than 180 timestamped status files
at any time.
The files are stored at a location within the scope of the zuul-web
vhost in order to make it easily possible to dump queues with something
like:
/opt/zuul/tools/zuul-changes.py http://zuulv3.openstack.org/backup/status_timestamp.json
Change-Id: Ia1923bfae0222559b8d2dcb5e0618848b3a618d0
When configuring the dir for the pidfiles in our init scripts don't
assume the path is /var/run/$NAME. The defaults are now /var/run/zuul
now and could be set to other values as well. Instead of assuming
/var/run/$NAME we instead take the dirname of $PIDFILE and configure
whatever that dir is instead.
Change-Id: Idfd5d19e5171278b9bb7005edb4ae927a01f3615
This updates the rewrite rules to the current state of the zuulv3
dashboard, and removes the overlap with zuul v2 urls.
Change-Id: Idd84facca4a0e0170234bf7d4ee2b42811f52b67
Until we have the more generalized javascript tooling in place for zuul,
we need to add libraries directly here. The zuul web console requires
angular, so add it.
Some of the same dependencies are used in zuulv2 and zuulv3, but in a
different location. Symlink them as appropriate
Change-Id: I75d5263ab2af3666d162b66394a537dfbe88010c
Zuulv3 now suport command socket to stop both merger and schedulers,
add logic to install new init scripts for them depending on zuulv2 or
zuulv3.
Change-Id: Iecc8c03896c145d29e42e6be6194d7db893c8515
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
We're moving the default pidfile location in
https://review.openstack.org/517381
This change creates default files so that when running v3, the
new location is used. The init scripts themselves are still
compatible with v2 and v3.
Change-Id: I57c486f4506114eb0447be2014baa42fc22cc8a2
We're adding statsd support to zuul.conf; support it there and the
existing defaults file for compatability.
Change-Id: I08feb2dbb18146a1a962aa8b96e3d33e5f794459
Instead of keeping a local copy of spec_helper_acceptance.rb and
requiring updates to all modules for any change, we can move it into the
common helper gem and require it from there. This will make it easier to
create and review changes that affect all puppet modules. Also change
the Gemfile to look for the gem in the local workspace if running in a
zuul environment.
Change-Id: Ie43d7fd4860f7c0f9593bdd7b5b4cd5b54bcadf4
ansible-playbook is getting hit with sigsegv; allow the process
to core dump so we might obtain clues.
Change-Id: Ice0bbd4abea2997ee56a92544128fd136dcef048
Otherwise this is leaked and we are not able to start zuul-executor
again.
Change-Id: I3639a74af67bfa07ad1814b7d0bc5a995e4ef14a
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
We want to ensure that our jobdir and the git repo cache are
on the same filesystem. Configure the executors to use a dir
under /var/lib/zuul for the jobdir. We will mount a new (large)
filesystem at /var/lib/zuul to accomodate both.
Change-Id: I91472fa609274aadcf4945aad44f25014c07b105
zuul v3 supports optionally collecting data via ara if it's installed.
Install it so that we can produce ara html reports for all of our runs.
The current implementation is similar to the devstack-gate
implementation - it uses a sqlite db per job. The bubblewrap invocation
sets $HOME to the work_dir, so the sqlite db for each job goes in to the
root of the work_dir with no further config.
Change-Id: Iefeda37338c57466d671ea07e7d318fa92aafc35
Depends-On: I8facdf0b95b83d43c337058d70fe6bf71e17d570
Because we need to update zuul.conf with the path to the file, we
actually need to configure this variable within init.pp.
Change-Id: I734f2c338ceab2b1da2a3245423cb912b7dd8c00
Depends-On: I7983ff9cfaea1ee6d3b099824b5f31df98ce72a5
Signed-off-by: Paul Belanger <pabelanger@redhat.com>