Since the original merge of this code
(04208e7c79) several things have
changed; particularly now we ship dib-run-parts as part of dib, not as
a separate package.
We setup $_LIB to point to the shipped library diretory via
pkg_resources lookups. We now call dib-run-parts (as mentioned,
shipped as a dib library now), source scripts, etc. via $_LIB and thus
do not rely on $PATH. Consequently we don't need this activation
part.
Which is helpful, because "venv" (as opposed to virtualenv) doesn't
have activate_this.py. So this fixes installation under that for
Python 3.
We update the functional tests to use the virtualenv_command exported
by the ensure-pip role, which will test the venv path. There is no
need for dib_python as we are Python 3 only now.
Change-Id: Iede929ea2d278008220aac8b1d678ba41eba0d8a
The standard Python venv module does not have this script, so currently
DIB unconditionally fails. While a real fix will be provided in
https://review.opendev.org/#/c/704478/ this change at least allows
users to try work around the problem.
Change-Id: I45b79d4d283f2b3ea909612e652672dcb6092488
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove python 2.7 stanza from setup.py
- Remove obsolete sections from setup.cfg
- Update classifiers
- Update requirements, no need for python_version anymore
- Cleanup doc/source/conf.py to remove now obsolete content,
use sphinxcontrib.apidoc to build module index again (this
seems to have been broken when switching to sphinx-build).
- Remove install_command from tox.ini, the default is fine
- Use TOX_CONSTRAINTS_FILE instead of obsolete UPPER_CONSTRAINTS_FILE.
- Update tox.ini for python3 only support.
Change-Id: Id8738ecfb0f578d2a7953c63ffe10779f835bcaf
Use the victoria python3 template to add py36, py38, pep8 and tarball
publishing back in.
Dependency added to fix ironic-python-agent-check-image-dib-centos8 job.
Depends-On: https://review.opendev.org/733794
Change-Id: I2a789dbfbdc3e0104fa9715dcfe5233453ccbf9c
python2 is EOL. OpenStack and Zuul both are python3 only.
Drop the Python-2 CentOS 7 build host testing, including the tripleo
centos-7 train job.
Drop the old openstack-python-jobs template and move to specific
version templates for what we support.
Drop upper-constraints from the py35 environment, as master of
requirements is now using python 3.6-only libraries.
Drop the Xenial tests for similar reasons (rather than making some
sort of forced install); we are keeping Python 3.5 support just for
Zuul compatability at this point so a tox run is enough.
Depends-On: https://review.opendev.org/729787
Depends-On: https://review.opendev.org/729508
Change-Id: I6d90754cb4b7217b10ae777d414c03466b751761
Pin func test requirements to stable/train; the last stable release
with Python 2 support. Switch to the python-jobs-no-constraints
template to avoid using master constraints file.
Only build focal on bionic, other debootstraps are too old.
Remove pip-and-virtualenv testing as we are moving to plain images.
The tripleo-buildimage-jobs are unstable; see linked bug.
Add a note that this is the last Python 2 release.
Change-Id: Ibde7a564dd41cc2d6e80e2dffe5a95a57bbf8ada
This reverts commit 6ee2995214 and
e85c2a6f03.
I missed that if you pip install and then run dib-lint, it's not going
to pick up the .yamllint file shipped here. Thus it gives spurious
errors.
The reason for this was simply better duplicate key detection in yaml
files, which caused us problems with the kernel installs. However, at
this point it seems just the old "does it load" test from pyyaml will
be enough.
Change-Id: I87a9fc9bb119cfeffad48fc0fa0df31f0181825d
The main reason for using the stage4 is now gone (kernel compile).
Install and use the distro provided binary kernel package.
In addition to this, set the locale and timezone, beyond that very
little was done in the gentoo stage4.
Change-Id: I541b7d9b807e2357398ae1c249b1978958dd1137
Signed-off-by: Matthew Thode <mthode@mthode.org>
As of recently, opensuse-minimal images fail to build because of an
error installing the kernel-default package:
> Problem: kernel-default-5.6.12-1.3.x86_64 requires mkinitrd >= 2.7.1, but this requirement cannot be provided
> not installable providers: dracut-050+suse.61.g0fe0e854-1.1.i586[repo-oss]
> dracut-050+suse.61.g0fe0e854-1.1.x86_64[repo-oss]
The problem is there is a recently added package `busybox-links` which
provides a subpackage `busybox-xz` which provides the /usr/bin/xz
utility. Since this is available, the `aaa_base` package installs it
during the root.d base installation phase to fulfill it's dependency on
/usr/bin/xz. On the other hand, the dracut package explicitly requires
the `xz` package, and this is not co-installable with the `busybox-xz`
package, so the dracut package is not installable during the install.d
phase. This change explicitly adds the `xz` package to the initial
chroot provisioning phase so that the /usr/bin/xz requirement is already
fulfilled and `busybox-xz` does not get installed.
Change-Id: Iba8c301eb496657873963e1aa99736aacf87cb00
This reverts commit 6e549c33ac.
It uses the new multiple-parameter matching format from
Idff7b067ad4255e6fc4138f7eff313a81b75c8ba to actually do what it says.
Change-Id: I4656ff1a5c46bcfbd8587f2f541825f4ad08820f
The change Ia6f10741fa6be24b11d6991c8a6b6e07951ff68d introduced having
"when:" as a list of values. However, this was actually not
sufficient to express the logic required for arm64/x86_64/xenial
kernel matching we wanted.
Because the package name is a key, we can't have multiple entires in
the package-map YAML files. This means we can't do more advanced
matching and thus we need to be able to match through multiple
parameters. Similar to Ia6f10741fa6be24b11d6991c8a6b6e07951ff68d we
modify the matching rules to allow a list.
A an example of using this is provided in the README.rst, and this
same example worked through by the unit tests.
This also slightly updates the matching logic to be more sequential.
After each check we either continue on or log the failure and continue
to the next check (rather than set a list of flags then check that at
the end). This makes it much easier to understand what is being
matched in the logging output from the tool.
Change-Id: Idff7b067ad4255e6fc4138f7eff313a81b75c8ba
This gives us better linting of YAML files that just opening them.
This would have detected the duplicate keys in
I34e27d821fbefe274e7b007f37b0bd34db2e1d26.
The .yamllint is taken from zuul-jobs where it is also used as a
fairly sane set of default rules.
A few minor newline fixes are added.
Change-Id: I96d6644ae24f7deb84fa50fefbda0f0d33e0e009
This reverts commit 14ff8f942c.
This seems to not be installing the kernel at all, and needs further
investigation.
Change-Id: Ifd809d4b67aff5d80f979235db246a16af0375b3
Only install the HWE kernel by default for Xenial. This was actually
installing the 16.04 HWE kernel on Bionic by accident, since it seems
to have that package; however it was breaking Focal.
On the other distros, just install the default generic kernel. Let's
KISS for now if we can ...
Change-Id: I34e27d821fbefe274e7b007f37b0bd34db2e1d26
Allow the "when:" statements to be a list of values, which are
effectively anded together to filter the package install.
Change-Id: Ia6f10741fa6be24b11d6991c8a6b6e07951ff68d
New versions of flake8 fail as "l" can be confused for "1" apparently
(E741) ... not sure I totally agree but since it's only one instance,
update it.
Change-Id: Ic5c47867facd56b53cc6534da4ae3a345c516202
This ensures the virtualenv tool is available on all testing nodes.
Depends-On: https://review.opendev.org/723309
Change-Id: Ic52a380dab9faa0f65d3c1ebe0bff6f69736e3cd
This adds a boot test for the newly released Ubuntu Focal release.
Depends-On: https://review.opendev.org/722556
Change-Id: If8976a3f99a02c8d85cd3818d8c77c75b60816d8
We can build SUSE in the container after the switch in
Ieaf07438c145ba609d4d7b9a055e91b894eca6d9.
Let's start non-voting and promote when we feel it's stable.
Change-Id: Ibe997d3167dc918fcdb28cf065c50049943dd86a
This switches the functional tests to container based build jobs.
This is mostly transparent for the existing build and boot jobs.
The release test is a bit interesting here. The nodepool
container-based release job doesn't work in this context because it
doesn't have a way to also include dib from the zuul checkout into the
container -- ergo it's pointless to run in the dib gate.
We should probably reorganise the nodepool siblings job so it can
check some projects out from tags, then we could run something similar
to this with nodepool/openstacksdk/glean etc checked out from tags if
we want.
We can handle this in a future update so we can test these images
which we want to build in our production container asap.
Depends-On: https://review.opendev.org/722556
Depends-On: https://review.opendev.org/722549
Change-Id: Ieaf07438c145ba609d4d7b9a055e91b894eca6d9
We now have a bionic(-ish ... buster debian image anyway) builder and
have moved some of the important tests (fedora, pip-and-virtualenv) to
here because they don't work on Xenial any more. This should now be
voting so we don't miss anything.
Change-Id: I16d313e1dfa95707d996456da244667c38d6343f
This should be installing the python2 and python3 packages (that's
what pip-and-virtualenv is designed to do), but we dropped the +=
accidentally in ee9ad32b6f.
However, we've moved on anyway and after
I7a6a342461d6001c25e55638ba9b7438c28f2519 F31 doesn't support this
element. fedora-latest is already updated to f31 in the opendev gate.
Remove the testing as it is no longer relevant.
Change-Id: Id696a90baa1eb05cb4c08501f8dac3665d395682