Commit Graph

26 Commits

Author SHA1 Message Date
Ian Wienand 75a6a641b1
nodepool: infra-package-needs; cleanup tox installs
The package-maps install of tox is only defined for gentoo, and that
came in with the original image build parts.  We don't need that any
more.

10-pip-packages I didn't trace down, but it hasn't been doing anything
for a long time, since we removed pip-and-virtualenv.  We can remove
that.

The install done in 40-install-tox I can not see being used anywhere.
It came in with If5397d731e9fb04431482529aed23cd9fdaecc1d but I can't
see the venv actually referenced anywhere.  I think this has all been
replaced by the ensure-tox role (or, indeed, jobs migrating away from
tox).  Remove it.

Change-Id: If3fddd79dde56f4087e465ed8b8013f0f337e0cb
2023-02-02 11:46:16 +11:00
Ian Wienand 5a6b14875f
nodepool: infra-package-needs; remove lvm2
This came in via Ie1a0aba57390c9c0b269b4cbb076090ae1de73a9 many years
ago, when it was copied from old puppet.  I can't see that we need to
be installing this for any infra reason.

I guess there is a small posibility things are relying on this, but
they would be better to install it themselves anyway.

Change-Id: I0b8908a79a5dcbe2a5bf5bf72986ea28e17c95fa
2023-02-02 11:24:24 +11:00
Ian Wienand 4437dcd0fd
nodepool: infra-package-needs; cleanup python
We don't need to pull in Python 2 python-xml or python-dev packages
any more

python3 is always installed by DIB (it needs python3 on the image to
run elements).  So we don't explicitly need to pull that in.

Change-Id: I36942435a709c25097cb57d336c45c2884a0103c
2023-02-02 11:24:21 +11:00
Ian Wienand 90fcb99cf6
nodepool: infra-package-needs; drop curl
c.f. I9ccebe2dbf3a8682dab60c2070c5f78849e01446

The RedHat platforms vary if they come pre-installed with curl or
curl-minimal, and if curl-minimal is installed, it causes conflicts
when you try to install "curl" (without removing it first, or using
"swap").

pkg-map is not designed to deal with this at all; it can't say "curl |
curl-minimal".  But all our base images come with curl, because we're
using cache-url which uses it.

So, in short, drop it here to avoid this conflict.

Change-Id: I4e930080f89fe833702f7cafef09642e0638960f
2023-02-02 10:15:25 +11:00
Clark Boylan 3e57097f50 Install setfacl on test nodes
Ansible v5 appears to rely on setfacl more than ansible 2.9 did when
running tasks as a different unprivileged user than the one currently
running ansible. Without setfacl installed we get errors like:

  Failed to set permissions on the temporary files Ansible needs to
  create when becoming an unprivileged user (rc: 1, err: chmod:
  invalid mode: ‘A+user:stack:rx:allow’ Try 'chmod --help' for more
  information.}). For information on working around this, see
  https://docs.ansible.com/ansible-core/2.12/user_guide/become.html#risks-of-becoming-an-unprivileged-user

Installing setfacl makes the error go away as ansible get use setfacl
instead of chown/chmod.

Ubuntu, Debian, Fedora, CentOS, and OpenSUSE all appear to call the
package 'acl'. We assume that openeuler and rocky inherit this package
name. That means we only need to override the package name for Gentoo.

Change-Id: I71736578dbd5e0683b18023e73ab44255eb6eb18
2022-05-24 13:02:25 -07:00
Clark Boylan a8a41f162f Install gpg tooling on dib images
This is particularly important for debuntu where we need working gpg for
apt and a missing gpg-agent is fatal. We install it globally so that
consistent tooling is available across systems.

Note everyone but suse seems to have a gnupg2 package. Suse calls it
gpg2.

Change-Id: I6c56e85db501f2c9d7c648e614f1efbaadc213a2
2020-04-03 13:30:26 -07:00
Ian Wienand 1591d5c510 Don't install centos-release-openstack-ocata
This was brought in with puppet work in
Ia9c45b762eea9f2989c9c63fb944b9e5e1f17ed2 but we do not want it in the
base centos 7 image.  bindep-fallback packages relying on it have been
removed with Iab9495bd381b135e8a0f2e8f35e51a9218cf8f40.  I have done a
local build with this and there's no other hidden dependencies relying
on this within the image creation AFAICS.

Change-Id: I747c2b8754effbc6ec82af3bf7543fd9599a6c14
2017-11-23 19:25:37 +00:00
Matthew Thode 56929e4639
make a gentoo nodepool image
Depends-On: I17202de3016616ce34c8cbead7d0fb047a64e96b

Change-Id: Icf5e7e8bc4f005111cd2492d3c1a2c492b8a7a96
2017-10-18 15:20:11 -05:00
Clark Boylan c12e8da258 Add acpid to infra images
The acpid package appears to be available on all distros we support and
it provides simple handling for power events which are used by libvirt
to power on and off instances gracefully. Without this package installed
instances have to be forcefully destroyed.

Change-Id: I3766faa92cd21590ea21a40305fa58c0bc715387
2017-08-14 13:04:49 -07:00
Markos Chandras ba3fe3678f nodepool: elements: infra-package-needs: Install core python modules on openSUSE
openSUSE packages core python2 modules like the xml one in a separate
package called python-xml. Similarly, python3 contains the base modules
in python3-base and the xml one in python3. As such it's best to ensure
that both python-xml and python3 are installed similar to
I5cd5d1127ae62d6753c2ace44965179c5400bb9a

Also, update bindep.txt to include python3-devel and
python-xml for SUSE distros.

This is supposed to fix python3 related failures on openSUSE jobs such
as the following one:

2017-06-28 13:00:47.628446 | + virtualenv -p python3 env
2017-06-28 13:00:47.926042 | Using base prefix '/usr'
2017-06-28 13:00:47.926098 | New python executable in /home/jenkins/env/bin/python3
2017-06-28 13:00:47.926117 | Also creating executable in /home/jenkins/env/bin/python
2017-06-28 13:00:47.926144 | Please make sure you remove any previous custom paths from your /home/jenkins/.pydistutils.cfg file.
2017-06-28 13:00:48.303569 | Installing setuptools, pip, wheel...
2017-06-28 13:00:48.303705 |   Complete output from command /home/jenkins/env/bin/python3 - setuptools pip wheel:
2017-06-28 13:00:48.303733 |   Traceback (most recent call last):
2017-06-28 13:00:48.303748 |   File "<stdin>", line 7, in <module>
2017-06-28 13:00:48.303782 |   File "/usr/lib/python2.7/site-packages/virtualenv_support/pip-9.0.1-py2.py3-none-any.whl/pip/__init__.py", line 26, in <module>
2017-06-28 13:00:48.303816 |   File "/usr/lib/python2.7/site-packages/virtualenv_support/pip-9.0.1-py2.py3-none-any.whl/pip/utils/__init__.py", line 27, in <module>
2017-06-28 13:00:48.303868 |   File "/usr/lib/python2.7/site-packages/virtualenv_support/pip-9.0.1-py2.py3-none-any.whl/pip/_vendor/pkg_resources/__init__.py", line 35, in <module>
2017-06-28 13:00:48.303904 |   File "/usr/lib64/python3.4/plistlib.py", line 65, in <module>
2017-06-28 13:00:48.303920 |     from xml.parsers.expat import ParserCreate
2017-06-28 13:00:48.303932 | ImportError: No module named 'xml'

Change-Id: I32899793a78464e25aec0e213eee9c65bd915a51
2017-07-04 08:27:42 +01:00
Clark Boylan 00f7e8184e Install `ip` everywhere so that we can manage networking
Minimal means really minimal apparently. Install iproute2 tools so that
we can check things like route tables and open ports and such.

Change-Id: I411f3afd2f87b887bfb6e32baaf2968b7dc91fd0
2017-06-21 08:37:22 -07: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
Colleen Murphy b0e55c306b Reproduce non-puppet parts from install_puppet.sh
We want to stop installing puppet on nodepool nodes, but the
install_puppet.sh script does more than just that. This patch adds some
of the packages that install_puppet.sh was installing that are unrelated
to puppet or needed for more than just puppet.

Change-Id: Ia9c45b762eea9f2989c9c63fb944b9e5e1f17ed2
2017-04-27 23:08:01 +02:00
Paul Belanger 5267f4c66a
Add iptables to DIB elements
Another step to removing puppet from our zuul workers. Install
iptables package for all our images.

Change-Id: I8ea1065bea3abc292d0d8ac1bc149a00f862dc27
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-20 15:00:29 -04:00
Paul Belanger cfcb690b0d
Install haveged on nodepool diskimages
With centos we need to manually enabled epel to only install haveged,
this is why we cannot use package-installs.

Change-Id: I3dff1c1e136eada97d957cf7af8d80e13b651545
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-20 13:22:24 -04:00
Colleen Murphy e94c80b91e Manage NTP on zuul workers in DIB
Currently, NTP is configured on zuul workers via puppet[1]. As part of
reducing the nodepool image builds' dependency on puppet, this patch
adds the necessary package dependencies and service configuration to
have NTP running on nodes without needing puppet to install and start
it.

[1] http://git.openstack.org/cgit/openstack-infra/system-config/tree/modules/openstack_project/manifests/template.pp?id=1b0e016093a71ad4eb1b4dde55ac9398b2505f24#n243

Change-Id: Iee6babc183dd12cc82ce76ddfde04f2d98ddc4d6
2017-04-04 09:31:49 +02:00
Colleen Murphy 598eeda522 Install more packages with DIB
Eventually we don't want to be running puppet to create nodepool images.
This patch adds all the packages that were declared as puppet package
resources in openstack_project::template[1] to the infra-package-needs
element so that they will exist on the image with our without puppet
managing them.

[1] http://git.openstack.org/cgit/openstack-infra/system-config/tree/modules/openstack_project/manifests/template.pp#n167

Change-Id: Ie1a0aba57390c9c0b269b4cbb076090ae1de73a9
2017-04-04 09:31:49 +02:00
Joshua Hesketh 8da5b39e57 Revert "Uninstall postfix on nodes if it's there"
This reverts commit 2b017bc5b2.

Postfix is needed by redhat-lsb-core so this breaks centos images.

Change-Id: I9eaceefb6bd327df5d78066106ba88fe1c44c778
2017-04-04 13:38:51 +10:00
Monty Taylor 2b017bc5b2
Uninstall postfix on nodes if it's there
centos installs this by default in centos-minimal. But we don't
need/want an MTA on our single-use nodes. So uninstall it.

Change-Id: Ib5fb99714d31ac8f52bac075eec70684c4220959
2017-03-15 19:05:16 +01:00
Markos Chandras 764a5f1447 nodepool: elements: infra-package-needs: Use the openssh-server element
Use the openssh-server element to install the SSH server.

Depends-On: Ide15ee04f5de123dbc8ce4bb56d638d8a167c341
Change-Id: Ie8d81f488f8421d4b2ed227c6f7c6779cca96a9d
2016-11-16 11:56:54 +00:00
Matthew Thode 9231f9b57d
Add Gentoo support to nodepool
This commit adds Gentoo support to elements needed to build a Gentoo
nodepool image.  The previous version of this commit had the default
section of the pkg-map in the wrong area, specifically in the following
file.

nodepool/elements/infra-package-needs/pkg-map

Change-Id: Ic686c325bc06564585a2e3ac50cadd7556612333
2016-10-16 20:37:14 -05:00
Paul Belanger 510faf0bde Revert "Add Gentoo support to nodepool"
Our images have failed to build for the last 3 days, reverting until we can debug.

This reverts commit 4c515e2073.

Change-Id: I2e653bcd8a30a85ea46a9861bdf9f95413a76f64
2016-10-13 21:39:04 +00:00
Matthew Thode 4c515e2073
Add Gentoo support to nodepool
This commit adds Gentoo support to elements needed to build a Gentoo
nodepool image.

Change-Id: I2ceeb915748a11d8e729069566e722a3fe30ba99
Signed-off-by: Matthew Thode <mthode@mthode.org>
2016-10-03 10:24:44 -05:00
Clark Boylan 945b10084d Ensure ntpdate is on our test images
We want to be able to set the time in big steps at the beginning of test
runs and one option for doing so is with ntpdate. Ensure ntpdate is
installed on all our images by putting it into the infra package needs
element.

Note that the package name appears to be the same across ubuntu, centos,
and fedora.

Change-Id: Ib3fd4afe5a89d8a799cc15c57254aaf11b6aa3e5
2016-08-19 13:16:35 -07:00
Jeremy Stanley 565c807d3b Add traceroute to default preinstalled packageset
When building images with diskimage-builder, include traceroute so
that it can be used as an ever-present diagnostic in a variety of
jobs without having to declare it in job-specific or
project-specific dependency lists.

Change-Id: Ic0be90226d01b399f3ca0c26ad6d43bcaa2a0bdf
2016-04-04 18:19:36 +00:00
Clark Boylan 53cd995cf6 Add element to handle generic package installs
We end up needing to install a fair bit of stuff on top of the minimal
images in order to make them useable. Do this in a generic infra package
needs element that can grow to accomodate our needs.

For the future we can hopefully get some of this into dib itself so that
others can easily build instances they can ssh into.

Change-Id: I5826df829971e182cd0713b29df1cf70c119a0ab
2016-03-17 12:26:58 -07:00