The latest Debian bullseye release doesn't provide yum any more, only
DNF. This breaks the minimal builds that are using on-host yum tools
to start the chroot. Probe for yumdownloader, and if it's not there,
use DNF.
Note this requires "dnf download" which may not be packaged. See
I21cfbd3935e48be4b92591ea36c7eed301230753 for a sample work-around
that installs this plugin in the nodepool-builder container.
Change-Id: Ia7f1e4d115cc67c378d865d91af94a07b8cdc6cc
The packages yum-utils and python-lzma have python 2 dependencies
and they're not present for Ubuntu Focal.
The package zypper should not be installed as it's not used.
Closes-Bug: 1891299
Change-Id: I3c96ae7ebb814973b77b4a1b966c39658acc5683
Elements like yum and yum-minimal depend on the yum and yumdownloader
CLIs on the DIB host. We have been assuming these tools are always
installed on Red Hat family distributions but that is no longer the case
starting from RHEL 8 and CentOS 8 and Fedora for a while -- these
systems moved on to DNF and DNF does not have a hard requirement on yum.
We noticed these two tools were missing while building an Octavia
amphora image on a CentOS 8 controller node in CI:
[...] 08-yum-chroot:_install_pkg_manager:223 : sudo -E yum -y [...]
[...] sudo: yum: command not found
Change-Id: I65807751b3764e86ba5adeb47552305ef2ea299b
This came in with edc06a20e5 although
it's not totally clear why.
We found that we were sourcing devstack scripts during build in infra,
and inadvertently relying on this package being around on the host.
This was incorrect but can this type of problem is hidden if the
package is installed unnecessarily.
I do not think this actually required now; remove from bindep to
minimise chance for such false or hidden dependencies.
Change-Id: I7895d4c5019511eb2169915cd8092e707e8ee732
Story: #2007407
Task: #39068
Install policycoreutils-python in RHEL/CentOS 7.
Install policycoreutils-python-utils in Fedora and RHEL/CentOS 8.
This patch also drops python3-setuptools from bindep as Fedora 28 is
EOL and RPM dependency is fixed in >= Fedora 29.
Change-Id: I0ecd29e0f113005d7e993add84d2c4fb90fd16e3
We rely on curl for a few things that like to download remote files.
The failure cleanup processes rely on "ps" to kill left-over chroot
processes (_get_chroot_processes)
git is required for source installs
Change-Id: Icddcc13d568b8d5cd3e8de05907ff327136088df
It seems that zypper was removed from debian-stretch which means
that we have to ignore it in bindep (likely for the same reason
that we are excluding bionic)[1].
[1]: https://tracker.debian.org/news/836378/zypper-removed-from-testing/
Change-Id: I60d83414fdc241d65eda8ab88c8e284e5d0bd257
setuptools is required by python3-setools (a dependency of
policycoreutils-python) but is not in setools RPM dependency list in
Fedora 28. See [1] for DIB output.
This is a temporary workaround. It was fixed in Fedora rawhide and
Fedora 29 [2], but Fedora 28 is still unresolved.
[1] http://logs.openstack.org/81/600381/10/check/octavia-v2-dsvm-scenario-\
fedora-latest/4ac1e5c/controller/logs/dib-build/amphora-x64-haproxy.\
qcow2_log.txt.gz#_2019-01-21_10_15_49_816
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1623371
Change-Id: Ie8c827d8217d885c3031c4f45aa2556951b01e83
semanage is provided by package policycoreutils-python-utils in Fedora.
The tool is a requirement of element rpm-distro.
Change-Id: I46425ec8467caf8c4e0bd47ae89412a3b8d9b3b4
Move several parts of the "install_test_deps.sh" script into the more
standard bindep.txt. This list is intentionally restricted as a first
step.
Developer documentation is updated to use bindep and clarified
slightly.
Change-Id: I7520902dc324d920a0c7c44a2d35fe49f9b05614
gnupg2 does not exist on openSUSE and there is no need to explicitly
install it. Fixes the following problem in the OpenStack CI
2017-06-28 09:28:29.071275 | + sudo PATH=/usr/sbin:/sbin:/home/jenkins/bin:/usr/local/bin:/usr/bin:/bin:/usr/games zypper --non-interactive install gnupg2 squashfs
2017-06-28 09:28:29.124994 | Loading repository data...
2017-06-28 09:28:29.287514 | Reading installed packages...
2017-06-28 09:28:29.713161 | 'gnupg2' not found in package names. Trying capabilities.
2017-06-28 09:28:29.713234 | No provider of 'gnupg2' found.
Change-Id: Ie90c3cf6d478ae4e178df0ce61072e9ee15b2259
On SUSE family distros the squash-tools are simply part of the
main package called "squashfs", so install that one instead. Without
this change bindep on SUSE hosts fails with:
ERROR: These requested packages were not installed:
squashfs-tools
Also adjust install_test_deps.sh to install required packages
on an openSUSE host.
Change-Id: I61dcd5314e78dbb1fb31e723799374edd456da99
Currently openSUSE 42.3 has entered feature freeze mode
so it is a good point in time to verify that 42.3 builds
are working successfully. Also test opensuse-minimal for
platforms that support it (need working zypper package)
Change-Id: I4c613e1e68cb7375c29d544bbf70b5da9bf21414
The squashfs format brings a couple of advantages over the other
formats. Image is often an order of magnitude smaller and it can
be used natively, either as an initrd, either with loop mount.
Change-Id: If72940b0c4dafb2504c52dd0429a8eb3f8305751
Currently, this is a noop, since diskimage-builder currently uses
tests/install_test_deps.sh to manage OS dependencies. The next patch
in the series, will complete the migration to bindep.
Change-Id: I3b599983106b87fec6a4b6348469ed037654810e
Signed-off-by: Paul Belanger <pabelanger@redhat.com>