project-config/nodepool/elements/nodepool-base
Monty Taylor 4a139969e1 WIP Install pip and virtualenv only from get-pip
We have two diametrically opposed use cases amongst our user base.

The first are the folks who just need tox/virtualenv to pre-exist,
so that they can do things like run tests. Neither tox nor virtualenv
themselves are fundamental to the thing under test, but are tools
that need to exist.

The second are folks for whom tools like pip or virtualenv are
essential to the software (such as OSA). For these users, it is
important that the version of those match what they expect their
users get from the distro.

Up until now, we've been using the pip-and-virtualenv element from
DIB which installs distro versions of pip and virtualenv, then
overwrites them with pip installed versions of the same, doing what
it can to prevent subsequent distro installs of the packages from
breaking things. This produces a really strange environment for
our friends in teh second camp, but honestly is a weird scenarios
to wrap the head around.

Instead, remove ALL distro packages of pip and virtualenv. Then
install both via get-pip. But - also leave a cleanup script. Since
pip installs are pretty well self-contained, it's easy to remove
them with a simple "rm".  This cleanup script can be run by folks
like OSA in their first pre-playbook in zuul, and then their jobs
can subsequently apt-get or dnf install python3-virtualenv or
whatever they want to do that is appropriate.

Change-Id: Ifd9062e5a87923093e84b3e4fc933dc08375df82
2020-02-12 12:19:08 -06:00
..
cleanup.d Remove root user .cache folder 2017-04-20 15:22:28 -04:00
environment.d Switch from 1.1.1.1 to 1.0.0.1 2019-04-25 13:14:53 +00:00
extra-data.d Update nodepool element for disk cache update 2019-10-19 05:35:46 +09:00
finalise.d Bye, Bye, Trusty 2020-01-19 16:00:55 +01:00
glean@.service.d Create glean@.service.d/override.conf 2017-08-18 16:28:54 -04:00
install.d nodepool/elements : use abstracted commands 2019-10-09 03:07:08 +00:00
post-install.d Bye, Bye, Trusty 2020-01-19 16:00:55 +01:00
pre-install.d Stop installing and running puppet in node builds 2017-04-27 23:23:32 +02:00
root.d Use AFS mirrors to build ubuntu-bionic DIB 2018-04-02 12:45:24 -04:00
README.rst Update nodepool element for disk cache update 2019-10-19 05:35:46 +09:00
element-deps WIP Install pip and virtualenv only from get-pip 2020-02-12 12:19:08 -06:00
package-installs.yaml Manage unbound on zuul workers in DIB 2017-04-04 09:32:36 +02:00

README.rst

nodepool-base

Tasks to deal with image metadata and other Nodepool cloud specific tweaks.

Environment variables:

NODEPOOL_SCRIPTDIR path to copy Nodepool scripts from. It is set automatically by Nodepool. For local hacking override it to where your scripts are. Default: $TMP_MOUNT_PATH/opt/git/opendev.org/openstack/project-config/nodepool/scripts.

Name resolution

The image should have the unbound DNS resolver package installed, the nodepool-base element then configures it to forward DNS queries to:

NODEPOOL_STATIC_NAMESERVER_V4, default: 1.0.0.1 NODEPOOL_STATIC_NAMESERVER_V4_FALLBACK, default: 8.8.8.8.

If NODEPOOL_STATIC_NAMESERVER_POPULATE_IPV6 is set to 1 then the following two servers will be configured as forwarders too

NODEPOOL_STATIC_NAMESERVER_V6, default: 2606:4700:4700::1111 NODEPOOL_STATIC_NAMESERVER_V6_FALLBACK, default: 2001:4860:4860::8888

Note externally setting either of these values implies NODEPOOL_STATIC_NAMESERVER_POPULATE_IPV6=1