Commit Graph

10 Commits

Author SHA1 Message Date
Ian Wienand 7602343b6a nodepool-elements: Use venv for utilities
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
2020-03-11 10:12:00 +11:00
Paul Belanger c919e1e782 Remove jenkins-slave element from DIB images
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>
2018-03-05 14:29:26 +01:00
Colleen Murphy 0d55fc765d Stop installing and running puppet in node builds
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
2017-04-27 23:23:32 +02:00
Paul Belanger 2fe9c2125d
Add jenkins-slave element for nodepool
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>
2017-04-26 12:29:41 -04:00
Paul Belanger 8669380c2b
Stop using install-static for jenkins sudoers file
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>
2017-04-19 11:50:05 -04:00
Paul Belanger f5517821bd
Add jenkins user sudoers file to nodepool-base
Move our jenkins sudo files from puppet to DIB element.

Change-Id: Icaceeefbf6c3765d15d0e1488006f9f52661fba3
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-12 14:53:32 -04:00
Colleen Murphy d435814d52 Add the pip-and-virtualenv DIB element to images
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
2017-04-07 17:39:53 +02:00
Colleen Murphy 371263322e Manage unbound on zuul workers in DIB
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
2017-04-04 09:32:36 +02:00
Paul Belanger d4bbb4570c
Initial commit of zuul-worker DIB element
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>
2016-05-14 12:28:41 -04:00
Monty Taylor e3ad2d85d2 Express nodepool base's dependency on puppet
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
2015-07-15 08:34:13 -04:00