The epel packages are installed but their content is purged in the
centos nodes. Removing and reinstalling them when we run tests in
CI to reenable their content.
Change-Id: Ibf1d810a37811151449f79a24bb837db6663cce5
With the changes to bifrost-ironic-install required_defaults for
the RedHat_family, we can now try to not get in the way of
deploying on distros like almalinux and rocky.
Fedora 32 has been EOL for close to a year, so we'll just assume
firewalld for that case. Distributions RedHat, CentOS and Fedora
are in the RedHat_family, so assume firewalld all distributions
in the family.
Change-Id: I1c8b768a3daf0af0d8e30d935558b6fdd912adfd
It's dangerous to allow a regular user to write into the source code of
the services. The repositories are still writable, so that the
development workflow can still use the ``--develop`` flag to make
modifications.
While here, remove the horribly outdated and broken ANSIBLE_INSTALL_ROOT.
Change-Id: Id2e25dd57668d24a11dc2cd16eea2b607b7a3f16
This upgrade fixes an issue in some disitributions when the build environment
enforces pep-517 and breaks compiling some versions of python libraries.
For example see [1]
[1] https://github.com/sqlalchemy/alembic/issues/707
Story: 2008676
Task: 41973
Change-Id: If3e5d37a42de2fb25c8034d9fdebb16d8bd21e9f
They keep shipping broken bundled packages in their venv module.
While we may want to eventually deprecate openSUSE support, provide
a work around to unbreak people.
Change-Id: Ib5c1730f5325e726bf3aef164cfaef01ad4c7a13
Story: #2008591
Task: #41747
Currently the install-deps.sh script installs Bifrost's Python
requirements without upper constraints. This can result in requirements
drifting over time, with issues arising in older branches.
This change fixes the issue by using an upper constraints to install
Bifrost's requirements.
Change-Id: Icf66d0faf77837b9b48df344578823e46017b1df
For upgrades we need bifrost-cli to always try to setup environment
(e.g. in case of a different ansible version). To avoid polluting
the output, make `set -x` conditional on a new variable BIFROST_TRACE.
Change-Id: I8caea6be0962db0e7019d0aa1484ef2424b7629e
- add ansible-collection-requirements.yml so we
can specify the collections we need.
- Changed env-setup to install collections unsing
ansible-galaxy.
- Moved taks "Dynamic enrollment" to use the openstack.cloud
collection
Change-Id: I1cf21a505b923f333b6853944965593170cbe8cd
They're already used in the CI, and chances are high that non-venv installation
is broken on at least some supported systems.
Change-Id: Ie3c93a0a1537658eaccf69da3f64d0fc43f292d1
EPEL is only needed for debootstrap, debootstrap is only needed when
building Debian/Ubuntu images. Install it on demand and update the docs.
Change-Id: I6b90c91f20b5acd198cabbb89f21a72caaf90c63
The dpkg -l command always exits with 0, we should use the -s
option instead that exits with 1 if the package is not installed.
Change-Id: I656b111b77b637a10c9a94fd3880aee377c166f1
Updating pip was required long ago to work around Ubuntu and CentOS 7
problems. Now even CentOS 8 has pip 9.0 which should be enough for us.
Also moving binary dependencies to bindep and install them before
we try to install Python dependencies (to be able to compile them).
Workarounds is needed for segfault on Ubuntu because of cryptography:
remove python3-cryptography package and avoid --ignore-installed.
This change makes install-deps work on openSUSE again.
Change-Id: Ib9b81075f35068c046880de46b20f98ef71a8d8e
Without the python3-pip package, installation on ubuntu bionic
without virtualenv will fail.
Change-Id: I666879c06b119920b1e925c1e2f8848caa6cead4
Story: 2007691
Task: 39803
In the kolla bifrost container image this results in a broken pip
installation. The pip 19 package is downloaded, but this message is
printed at the end:
Successfully installed pip-20.0.2
The subsequent 'pip freeze' gets the following error:
ImportError: cannot import name 'PackageFinder'
This change removes the --ignore-installed argument, which results in
the virtualenv getting pip 19 as expected.
Change-Id: Idf2b03a4772111f63f79203f63ea95f805e7a43d
When creating a virtualenv with Python 3.6.8 using the
--system-site-packages option and pip>=19.0.0 a bug affects
the virtualenv breaking pep build isolation.
This patch downgrade pip to version 19.0.0 as a
workaround.
Also converts pip3 command to pip.
See [1] for more info.
[1] https://github.com/pypa/pip/issues/6264
Change-Id: I738d7c2e50914a773920e5381305e8c5131ccd5f
Fixing things in scripts and playbooks in preparation of
making CentOS 8 tinyipa job vote again.
- python packages are not defined anymore
- change yum to dnf when needed
- change python2 packages to equal python3 when possible
- ipxe binary has changed to ipxe-x86_64.efi
Change-Id: I89989b6d2e35f0291ba1c1aed8b3317cfe2d691d
If user runs scripts without VENV defined, then an error
"unbound variable" will be received. This patch fixes this issue
Change-Id: I22b817ad7b945509bb2e89d0467df53975434313
A couple of fixes:
- We check the content of the binary dir as debug step, but this
should be necessary only when in virtualenv.
Also using the correct virtualenv path instead of hardcoding it,
and removing - character after variable name.
- EXTRA_PKG_DEPS is an array and we should treat it like that
when we check if it's empty or not.
Change-Id: I294ef9dce53d7404f4d9285506f1504afabe833f
The test to check if the python3-venv package is needed is wrong
and it will always fail, asking to install the package in systems
where that doesn't exist, like CentOS or Fedora.
The python3-venv package is always needed for ubuntu bionic, so
installing it all the time if we're using that distro.
Change-Id: I6fe765609cc0561f359986f488268e79cca469e2
On L115 we ask to install the [venv] package in case we're unable
to create the virtual environment.
For Ubuntu Bionic the package needed is python3-venv.
Change-Id: I065b515e66ced54daaa7e607b89137bd10a1e2f7
Reworked the pip install logic so that we run the pypi
pip installer instead of trying to navigate through running
a pip install and upgrade with setuptools additionally.
These steps were orginally only done in order to force
us to a pip version >= 9.0.1, which is now the default
for Ubuntu Bionic.
Change-Id: Ic3a95973338bbd03061d5b3e4080c0d72d6b891a
This change upgrades pip instead of just ensuring it meets
the lowest version constraint.
This is in line with the setuptools being upgraded just below.
This did not affect CI because it provided its own pip.
Change-Id: I36a0e31ecba1dc9d5eec1d2338dc752467be5ac0
Story: 2006833
Task: 37406
Fix hardcoded yum command by package manager variable, PKG_MANAGER
in scripts/install-deps.sh. That was problem on Fedora where default
package manager is dnf and not yum.
Change-Id: I2dbec079adbfcab71e46e086fcd201a5175f22d5
Story: 2005451
Task: 30503
The install-deps.sh script is sometimes used in a server sitting
behind a corporated network, for those scenarios is necessary to
pass proxy global environment variables. This change enables that
for fedora/centos OSes.
Change-Id: Ic327168eec892970cd2d7dd4b24d92fa0deee184
We make the following changes in order to support openSUSE Leap 15.0
- Updates the bindep.txt file to match the SUSE family.
- The netstat binary has been moved to net-tools-deprecated
package.
- We fix a bug when checking the status to extra dependencies. The
variable is an array, but the code was only checking the first
entry of the array.
- Replace spaces with '_' on ansible_distribution since openSUSE Leap
15.0 is being reported as 'openSUSE Leap' by Ansible.
Change-Id: I800331e29e0d47a3121229cd66a5814277e34b84
As get-pip.py evolves based on pip 10, while we're still using
pip 9, changes in the way it can be used are causing problems.
For example, the ability to use --download is no longer there.
As such, let's pin to a known good version and leave it at that
until we no longer need to use this script. Version 3.2 maps to
pip 7.1.2 which fulfills our needs.
Change-Id: I2fa1c67ecd712364a822edcf7470e5489447d990
Update bifrost to handle fedora as minor changes between
releases have been slightly breaking, and have gone largely
un-noticed since the bulk of bifrost users seem to use
centos or ubuntu.
Added a fedora 26 job to help enforce support moving forward.
Change-Id: I9a654b91edfa52321adccfa5df0c260eb0c9e487
Closes-Bug: #1695969
Closes-Bug: #1695968
Before trying to install any packages for the tests, we should ensure
that the package metadata is updated otherwise some packges may be
reported as missing.
Change-Id: Idc2033eee917b3024e392712aec9feb7611c097a
This helps fixing the following problem when installing MySQL on
Ubuntu hosts:
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.16.04.1_amd64.deb ...
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs
shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
Configuring mysql-server-5.7
[...]
New password for the MySQL "root" user:
The package configuration becomes interactive and asks for configuring
the root password on MySQL and this breaks automated testing.
Change-Id: Icacd843950eee1b87bac2c3387e3562f8f584b77
Relying on the installed package manager to detect the distribution
is not reliable since it's possible to install multiple package managers
at the same time. As such, lets simply use the information in the
os-release files.
Change-Id: I285c6cd94932f84bb9133b39d282c39d9a25b301
When trying to install bifrost on CentOS , shade could not be
installed properly, because the system had an old version of
setuptools. Add this upgrade to install-deps, to have the latest
version of it.
Closes-Bug: #1695969
Change-Id: I31e2d3af04eb6fa74a03e7fa731f58dbb30bd3bc
Newer bindep versions are not working with languages not
set to en_US. As a workaround, export the LANG setting.
Workaround for: https://storyboard.openstack.org/#!/story/2001205
Change-Id: I60be976ff151bb61014f0272cdf02a4fb4851d0a