This adds a necessary newline, removes port numbers, and sets the
executor ssh key to the correct path.
Change-Id: I6b4afa876b6cd7d8f87cc35bc51b4e9d6e31ee2b
When we install packages on ubuntu, we should use their actual
package names rather than incorrect or otherwise fictional
package names.
Also, fix the hostname in the test job - because when we don't
do that, we don't run all of the roles, and thus we don't
catch these things.
Change-Id: I18e676ef0fe343513db4c8ad7e340ee45092c0a3
The executors aren't using docker container images yet due to conflicts
with bubblewrap. This means we are still installing it directly on the
host using pip. Unfortunately we were using `pip` before which maybe
install to python2 and zuul doesn't run under python2. Address this by
explicitly using pip3.
Change-Id: I2ec551e8207e29ca420b09b8818154b9c32b47cf
We need to override this because it's erroneously picking up
python2 which on etherpad does not have everything it needs.
Change-Id: Ic127f505740f9ac66abb8754356e04acde66dd85
Zuul is publishing lovely container images, so we should
go ahead and start using them.
We can't use containers for zuul-executor because of the
docker->bubblewrap->AFS issue, so install from pip there.
Don't start any of the containers by default, which should
let us safely roll this out and then do a rolling restart.
For things (like web or mergers) where it's safe to do so,
a followup change will swap the flag.
Change-Id: I37dcce3a67477ad3b2c36f2fd3657af18bc25c40
We run puppet with ansible now pretty much all the time. It's not
helpful for the puppet output to go to syslog on the remote host.
What's more helpful is for it to come back to the stdout in the
ansible playbook so that we can see it.
Also turn off ansi color from the output.
Depends-On: https://review.opendev.org/721732
Change-Id: I604081d5400bd53b8dda5a3a7685323c1443991b
Extract eavedrop into its own service playbook and
puppet manifest. While doing that, stop using jenkinsuser
on eavesdrop in favor of zuul-user.
Add the ability to override the keys for the zuul user.
Remove openstack_project::server, it doesn't do anything.
Containerize and anisblize accessbot. The structure of
how we're doing it in puppet makes it hard to actually
run the puppet in the gate. Run the script in its own
playbook so that we can avoid running it in the gate.
Change-Id: I53cb63ffa4ae50575d4fa37b24323ad13ec1bac3
We have multiple places, such as bridge, where we use openstackclient
as a utility. The current practice tends to be installing it into a
venv somewhere. On bridge there are 16 venvs in /root - and in some
of them but not all exist a working openstack client.
Since it's purely an API interaction tool, all it needs is the
clouds.yaml files bind-mounted in. The openstackclient project
now publishes a container image. Install a wrapper script for
calling it into /usr/local on bridge.
Change-Id: I4c64125d5dd3c89275e259a57b0efa0847ac6fc2
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
In places like crontab entries we use full paths to executables because
PATH is different under cron. Unfortunately, this meant we broke
docker-compose commands using /usr/bin/docker-compose when we installed
it under /usr/local/bin/docker-compose. In particular this impacted
database backups on gitea nodes and etherpad.
Update these paths so that everything is happy again.
Change-Id: Ib001baab419325ef1a43ac8e3364e755a6655617
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
Make a service playbook, manifest and jobs for codesearch.
Remove openstack_project::server - it doesn't do anything.
Change-Id: I44c140de4ae0b283940f8e23e8c47af983934471
In launch-node, we run two playbooks that aren't part of base.
One sets the system's hostname and removes cloud-init, the other
runs unattended update.
We need to run the hostname setting in our functional tests so
that the hosts behave as expected, but running the cloud-init
removal is a little weird, since our test nodes already don't
have it.
Make it so that set-hostname actually just sets the hostname,
and then run it in run-base. For running puppet, we need the
host to have the correct hostname.
Move cloud-init removal to the base-server role. Also move
the autoremove into base-server, since it's probably a nice
way to get rid of excess things.
Change-Id: I53cb8c515444a7d73b839e799c5794b067429daa