This lets you build an image to install a package or set of packages
without having to build a fake pbr install.
Change-Id: I6c171881283b89a14a532f31aedb33e223a0ea1f
We produce lists of extras requirements to install, but installing
them takes an extra step. Allow it to be done all at once by accepting
names of extras on the install-from-bindep command line.
Change-Id: Ie75b9a668569c759f78b70617e311ed6f025039a
The zookeeper role can use the default pip installed docker-compose now.
We can also stop ensuring the distro package is removed as this has run
on all hosts at this point.
Change-Id: Ia034ae7d2c8e38494050698e1bfac0cc273dd200
We have one global variable that is used in two places.
By removing it, we can more easily split site.pp into
per-service manifest files, and ultimately we should be
deriving this from groups['elasticsearch'] anyway.
Change-Id: I1d794b269847da85778f71e816359953af9b31e0
These use legacy-base, which sucks, but what sucks even more is
that they are in openstack-zuul-jobs, which makes them extra
awkward to try to adjust.
Change-Id: I87b3d56de41f0ba5658c1240ddfc7ecf1c3c43af
We are copying system-config in parallel to a bunch of targets
and we're also creating and deleting applytest files. Instead,
do the apply test files outside of the dir that's going to
get synced in the puppet role.
While we're at it, copy don't link the openstack_project
module into /etc/puppet/modules, just to be sure.
Change-Id: I4bcd8ebd6da8395e77d673ac76f4c41568d810ec
This doesn't actually do anything useful any more, but it spends
a lot of time not doing it.
Basically, this is only testing the things in
modules/openstack_project/spec/acceptance/basic_spec.rb, which
are things we install and test in ansible now.
There are related jobs, puppet-beaker-rspec-puppet-4-infra,
which are run on puppet- repos and run their rspec tests, but
that won't be affected by this.
Change-Id: I21b01d360b50dba10673c2986e8a2868b8747522
This makes two changes: it proxies all etherpad traffic through
the nginx running in docker in order to avoid any weird cross-domain
problems.
It also switches to using the new etherpad.opendev.org server.
Change-Id: I99f7f284088f0d241a8490d01cccdf782bdd45d2
We need to touch them so that all of their hostvars are visible
in playbooks/roles/zookeeper/templates/zoo.cfg.j2
Change-Id: I04f225269ac31a4890f692c214e8ffb8878833aa
The jobs which use install-docker and pip3 should be triggered
by changes to install-docker or pip3.
Change-Id: Ia6ec8da72fee38377760cb27dd7df26fa169760b
We need newer docker-compose for functionality like stop_grace_period
and the easiest way to get that is via pypi. To install from there we
need pip.
This also fixes pip3 to work on xenial which doesn't have a
python3-distutils package.
Change-Id: I5f5431cac7eb191f2f5443892292ca5a236fe1e6
Zuul uses an re.match() check on file list regexes. This means that the
leading ^ is redundant as is a trailing .*
Attempt to make this more clear by dropping those leading and trailing
regex operators to be consistent across the file. This makes the rules
easier to read and should make them easier to reason about.
Change-Id: Id4cd17d816c9af023a655bdadeedb9421e51cdca
Migration plan:
* add zk* to emergency
* copy data files on each node to a safe place for DR backup
* make a json data backup: zk-shell localhost:2181 --run-once 'mirror / json://!tmp!zookeeper-backup.json/'
* manually run a modified playbook to set up the docker infra without starting containers
* rolling restart; for each node:
* stop zk
* split data and log files and move them to new locations
* remove zk packages
* start zk containers
* remove from emergency; land this change.
Change-Id: Ic06c9cf9604402aa8eb4bb79238021c14c5d9563
By default gerrit replication pushes +refs/*:refs/*, which includes
refs/changes. For large repositories that potentially means hundreds
of thousands of references.
Per-repo git mirroring does not push refs/changes, so when it runs it
ends up deleting those references, which can take a long time, blocking
the executor.
To fix that, we should:
- stop pushing refs/changes to GitHub (this change)
- delete refs/changes on GitHub repositories, asynchronously
- enable per-repo replication
- disable Gerrit-wide replication
NB: it is unclear if Gerrit replication would start deleting the
extraneous references on remote GitHub repositories once this
merges. If this is the case, since replication is limited to a
single thread (default value for 'threads') and is not happening
in an executor, this should not have negative impact, beyond
potentially delaying GitHub mirroring.
Change-Id: I94f69c889c9b4418ef81b3b2ca436ba99696ba72
Also add a 5 minute stop grace period. This lines up with the init
script we were using when this was a systemd managed service.
Change-Id: I5a92bb214b96447008ad570e176adda13c4ca0cb
We want to use stop_grace_period to manage gerrit service stops. This
feature was added in docker-compose 1.10 but the distro provides 1.5.
Work around this by installing docker-compose from pypi.
This seems like a useful feature and we want to manage docker-compose
the same way globally so move docker-compose installation into the
install-docker role.
New docker-compose has slightly different output that we must check for
in the gitea start/stop machinery. We also need to check for different
container name formatting in our test cases. We should pause here and
consider if this has any upgrade implications for our existing services.
Change-Id: Ia8249a2b84a2ef167ee4ffd66d7a7e7cff8e21fb
Instead of installing kubectl with snaps, which seem to be laky
in tests, just download the oc client tools tarball and unpack it.
This is how we get kubectl for the zuul images and it seems to
work nicely there.
Change-Id: I79590a2eeaf32722d231c2bfec35d264696b7e7a
We've got some old out of date docs in some places. This isn't even
a full reworking, but at least tries to remove some of the more
egregiously wrong things.
Change-Id: I9033acb9572e1ce1b3e4426564b92706a4385dcb
Pass the ansible_host variable explicitly to mirror-workspace-git-repos
because for some reason it's confused and getting localhost.
Change-Id: I8a30b98a6eef168d11d4d580de359546ee1da252