Since all platforms have Python 3, use the new ensure-venv element
from the dependent change to install bindep and os-testr.
Since we are no longer using pip to install anything during the
builder, this drops the dependency on pip-and-virtualenv from
nodepool-base. Avoiding this element is our long-term goal, as it's
modification to system state are problematic in a number of ways. To
maintain the status-quo, the pip-and-virtualenv element is added
explicitly to each build's element list, with a note on it's future.
The current plan for backwards compatability is to replicate the
environment pip-and-virtualenv provides in a base role/job that can be
optionally included. To test this, provide a new node type
"ubuntu-bionic-plain" that will not include the pip-and-virtualenv
element. This is put on just one provider (rax) to minimise impact.
The dependent-change (and a dib release) is required before merge so
the ensure-venv element is available.
Depends-On: https://review.opendev.org/707513
Change-Id: I85438baf5bb31790a56fe5b38327361f0a2398e9
There is no jenkins, only zuul! With zuulv3 running in production,
there is no more need to add jenkins user or scripts to our images.
Move chmod of /opt/cache/files from
nodepool/elements/jenkins-slave/install.d/20-jenkins-slave to
nodepool/elements/zuul-worker/install.d/60-zuul-worker
We also leave the jenkins-slave elements for now, in case 3rd party CI
use them.
Change-Id: Ia9750877fbc1a17ec467ca4ac685afdb9c1627f8
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Move non-puppet-related parts of the puppet element into other elements,
remove the puppet element, and stop running the prepare-node script.
\o/
Change-Id: Ib241ea976ca0a3d661599f36e3f5a2d4eb023c08
This should be the final step needed to stop puppet from running on
our images. This also will be the entry point for 3rd party CI users
still depending on jenkins.
Change-Id: I33a67f980289002618a55f4221dcf195dc4a787f
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Switch to how we setup sudoers files, like we did in the zuul-worker
element. This stops us from possibility affecting the permissions on
/etc/sudoers.d with the install-static element.
Change-Id: Idaf2f4c582f333fd9acf4e4a08e5ade6fba61947
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
An important part of the install_puppet.sh script is installing pip.
This is incredibly confusing and eventually we'd like to avoid
running this script at all, so this patch adds the pip-and-virtualenv
DIB element to manage pip for us.
Change-Id: Ia8f0056c0e002f83727674102d62fe51fc164011
Currently, some parts of unbound are configured on zuul workers via
puppet and other parts are configured via dib elements. As part of
reducing the nodepool image builds' dependency on puppet, this patch
moves the rest of what was done in the unbound puppet module to the
nodepool-base DIB element.
Note that while the puppet module explicitly calls for the defaults file
to exist before the package is installed[1], this does not apply for an
image built in a chroot where the service won't be started, so we can
stick that file in with the rest of the configuration.
[1] http://git.openstack.org/cgit/openstack-infra/puppet-unbound/tree/manifests/init.pp#n34
Change-Id: I3905be12acd85581a608d87ba5159cc883343a37
Now that zuulv2.5 has landed, we can start building our DIBs using the
new zuul-worker element. As part of the jenkins clean up, we'll
eventually be removing all things jenkins from our puppet manifests.
As we move forward, we'll be using DIB to bootstrap our zuul-workers
over puppet.
Change-Id: I0e76931fdb4ca0c7445b1e72dc348f0cf03eaee5
Depends-On: Idb4ef11576671180060fb5b2b1202f9bfec5fd47
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
The nodepool base element really needs the puppet element, but we didn't
express that in the element deps. That makes a later reorg of elements
more difficult than it needs to be, because our consumption element list
is expressing internal dependency chains.
Change-Id: Ib2296bed1d7f289e7aa2720a38555275de1b6402