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
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
The jobs which use install-docker and pip3 should be triggered
by changes to install-docker or pip3.
Change-Id: Ia6ec8da72fee38377760cb27dd7df26fa169760b
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
We use project-config for gerrit, gitea and nodepool config. That's
cool, because can clone that from zuul too and make sure that each
prod run we're doing runs with the contents of the patch in question.
Introduce a flag file that can be touched in /home/zuulcd that will
block zuul from running prod playbooks. By default, if the file is
there, zuul will wait for an hour before giving up.
Rename zuulcd to zuul
To better align prod and test, name the zuul user zuul.
Change-Id: I83c38c9c430218059579f3763e02d6b9f40c7b89
Instead of running from system-config, run from the zuul prepared
git repo state. We already have a mutex of one, so we'll never
be fighting. This lets us land stacks of changes and be sure they
will accurately always use the correct git state.
As a todo, we should update manage-projects to do the same with
project-config.
Change-Id: I358554e344e12561d1f3063e0724f6b61d1f15a7
So that we can start running things from the zuul source rather
thatn update-system-config and /opt/system-config, we need to
install a few things onto the host in install-ansible so that the
ansible env is standalone.
This introduces a split execution path. The ansible config is
now all installed globally onto the machine by install-ansible
and does not reference a git checkout.
For running ad-hoc commands, an ansible.cfg is introduced inside
the root of the system-config dir. So if ansible-playbook is
executed with PWD==/opt/system-config it will find that ansible.cfg,
it will take precedence, and any content from system-config
will take precedence.
As a followup we'll make /opt/system-config/ansible.cfg written
out by install-ansible from the same template, and we'll update
the split to make ansible only work when executed from one of
the two configured locations, so that it's clear where we're
operating from.
Change-Id: I097694244e95751d96e67304aaae53ad19d8b873
We need to install the ep_headings plugin. We've got a hack in place
to do it in prod, but it seems like every time we npm install the
plugin in ansible, we need to restart the etherpad container
for $reasons.
It's cleaner to just build an image based on upstream with ep_headings
installed.
Change-Id: Id3b31bbabbbc5f6dcfe56486e48916384292f693
We had the clouds split from back when we used the openstack
dynamic inventory plugin. We don't use that anymore, so we don't
need these to be split. Any other usage we have directly references
a cloud.
Change-Id: I5d95bf910fb8e2cbca64f92c6ad4acd3aaeed1a3
Continuing to transition things. One thing we need to do is publish our
opendev docs to docs.opendev.org.
Change-Id: I1f2e65af9910b5bb21e4fad6295ebdf2fd4bd341
We can't really know what's changed in the inventory from a zuul
perspective, so it's safest to run everything if the inventory
changes. (This is especially important for being able to pulse
a backup setup, fwiw)
Change-Id: I13768ed2ee257c8175c378c58525a6c83654e83b
Once the previous patch has landed and run on system-config
then we can remove the role altogether.
Change-Id: I14fef0e178544d71390a6601915c745647435ab9
We need to make sure we're updating system-config before running
the playbooks, but we don't need to do the other things on the
hourly timer.
Change-Id: Ic2ddb8108626f629664709727b3f7eeaf48ddce8
We can't trigger these on zuul image publication yet, so to not
regress from the hourly run_all cron, run a few of the jobs
hourly.
Depends-On: https://review.opendev.org/717063
Change-Id: I9d502d368c33306ee32da572db1fe8ccd8b066b3
Upstream likes building the settings file into the image, but that's
less exciting, let's bind-mount ours in.
Depends-On: https://review.opendev.org/717491/
Change-Id: Ia1894d884ef2a84e1282345b77fe07bf8898f367