This change does the following:
- Removes the centos7 job, it uses python2 even though python2 was
dropped from IPA in 2019.
(see Ifd0e0b99bb82a7d7e82d6c14309468196f5734fc)
- Allow 60-ironic-python-agent-ramdisk-install to assume python3 and
the venv module, the remaining centos7-python3 job will also test this
- Replaces the pip-and-virtualenv element with ensure-venv.
pip-and-virtualenv exists to install virtualenv for python2
environments, and it is unmaintained and mostly technical debt.
Change-Id: I9b6e03f50a4eb2484a04748e51d7348401b6ca04
Use current latest version of pip for Python 3.x
For Python 2.x use the last pip version to support it [1].
[1] https://pypi.org/project/pip/20.3.4/
Change-Id: I7384beb16d3810ddede51e6e2660bb826bd47415
Fix "error: invalid command 'bdist_wheel'" when building on aarch64.
For aarch64 platform, it seems it always tries to build wheels first for
python packages which have no wheels in PyPi. Although it will install
the source packages successfully at last.
Task: #41701
Story: #2008562
Change-Id: Id3dc4eaad9b698241ad70a69f93b8463bc15de0d
Old default versions of setuptools may have issues parsinq requirements.
To keep compatibility with Python 2.x we need to upgrade setuptools in
virtualenvs still using that version.
Change-Id: I61b77ceb6c58b5db451ccbbdfec9d92b4fa5bc89
At this moment the IPA image building with OpenSuse is broken and missing compatible packages for installation. Also, setuptools upgrade, svc mapping and package mapping are necessary for openSuse specific task. This PR will solve those issues to build IPA image with OpenSuse base image. There is another PR opened in diskimage-builder, which is adds small change for opensuse specific settings.
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/778723
Change-Id: I0a99d6313a38260973c1f725e2daed8d930da6c1
Starting from pip 20.2 the --install-option doesn't work anymore,
and we knew it was going to stop working since a while.
Trying to work around that removing the option and just linking the
scripts to the final destination.
Change-Id: Ie24cb597ac6d64dda78284ef522418dd0ccd055f
First, this change preconfigures IPA to use a configdir. This will
permit deployers to add or modify IPA configuration in elements.
This change was a prerequisite to adding additional DIB elements
which require configuration.
Additionally, this adds a DIB element to configure TLS support for
IPA's API. If added to a ramdisk build with no configuration, it
will create a self-signed certificate and configure IPA to use it.
It also exposes various environment variables to allow deployers
to use preexisting certificates or CA files.
Change-Id: Ibf88937766fa32f72b90ca81f9e8fba3515b6e33
RHEL/CentOS 8 dropped support for some older hardware that is still
in use. Since CentOS 7 has Python 3, let's support it for now.
Also fixes an issue with C.UTF-8 locale which does not seem to work on
CentOS 7 (and actually causes a failure with newer python packages).
Change-Id: I1b5797b030ef896ad4b2a95a504a0215ca6ee574
When copying the DIB_IPA_CERT certificate to certificate bundle the script
fails due to incorrect print usage in python3
Change-Id: If130594b9ea041409c68498f1ae2239578217d07
Using the virtualenv command will generate a virtualenv with the
default python exec for the entire system, that means that even
if DIB_PYTHON is python3, the virtualenv will use python2.
With this change we use the venv embedded command if the version
of Python is 3.x to generate a virtualenv with the correct
Python 3 version.
Change-Id: I8bec32c5e0dae2dee27615146f946a9649f23fd1
As found recently, pip with Python 3.6 and forward has some issues
installing tarballs that contain files with non-ascii characters
in their names.
This is due mainly to the fact that the default locale in the
system is set to C [1].
As a workaround, we run the installation of the packages in the
virtualenv forcing C.UTF-8 locale.
[1] https://github.com/pypa/pip/issues/7667
Change-Id: Idfb8b121a43a0bb74844fd63d5c2507d7b888b15
For tinyIPA, migrate the generate_upper_constraints script in-tree.
For DIB, use a source repository with requirements to fetch
upper-constraints. As a nice side effect, it allows depending on
requirements patches in the CI.
Change-Id: I6be51b98adab641cfaa1613306cbdcc3b42de1c2
This reduces the size of the image slightly. We don't need latest
versions since we update pip in our venv anyway.
Change-Id: I7729b8c286c641a7b70a775ffe73f9f1c9dbff2d
We don't (and shouldn't) copy /tmp to the final image.
Also fix the service file permissions - it is not executable.
Change-Id: I75e09662a63768627f8123a7fe7f5d9ca2d942c5
Apparently, DIB is sensitive to file names, at least the package-install
feature. Let us make sure we use ironic-python-agent-ramdisk, not ironic-agent.
Change-Id: I929c0652c320734ff82dd257180c4b7bd156c478