- 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
This change adds a local CLI ./bifrost-cli that allows to easily
run bifrost playbooks. It is targeting early adopters and thus
is opinionated and does not expose all possible options.
Only the very minimum is provided in this patch. More options
will be added later as we decide they are important.
Documentation will also be provided later as it's going to be
quite large. This feature should be considered technical preview
at this point until we give it more testing.
Change-Id: I2205e759431024124518716eccd07f79bda14f3a
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
There is not reason to use 10 or 12G of disk for Cirros.
Also change the RAM to 512M, although we'll have to revert it back
on master and ussuri once we switch to DIB images by default.
Change-Id: Ibada78686ffb4db1d8dae05acf980081d5265fc6
The default location is too small on some testing nodes.
Removed the MySQL configuration code that has never been executed
because of the non-existing ZUUL_REF variable.
Change-Id: I5fbe2de5423486fdc81d67d4c4bd6d6f3ed79f13
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
This patch fixes collection of logs adding sudo to commands that
need that.
Also adds collection of some more useful info for libvirt
and qemu, for example increasing the log verbosity of libvirt.
Reordered commands to divide them by section.
Change-Id: I86ae0dac8de63449405012a99ddf94f915b304b0
Giving centos8 tinyipa vote rights again.
Fixing up some of the test scripts for CentOS 8.
- kvm_stats util has been moved to kernel-tools, the package
qemu-kvm-tools doesn't exist anymore
- qemu-system-x86 doesn't exist anymore, therefore we run
/usr/libexec/qemu-kvm instead of /bin/qemu-system-x86_64
- installing package trousers to add tss user and group
needed by libvirt
- Stop setting CPU mode - allow libvirt to select. host-model was failing on
libvirt 4.5.0 on CentOS 8 due to
https://bugzilla.redhat.com/show_bug.cgi?id=1804224
Change-Id: I9488dcb8af70ea06de37ffec94620f8681c21944
Virtualbmc 2.0 dropped the daemon autostart feature. This means we need
to explicitly start it. Running it as a Systemd unit, code adapted from
Tenks.
In order to allow Systemd to execute the daemon on systems with SELinux
enabled, it must be installed to the system rather than a virtualenv.
Change-Id: I66e8e5f5a9c16ac90e132074c826d508458ae4d1
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
Remove the outdated ansible-pip-str.py and rely directly on
ANSIBLE_PIP_VERSION to set the installed version of ansible.
Change-Id: I105b85595cfea101bdb747113721536f4a3ef93a
Square brackets are redundant and can deal to wrong output.
Also the test can be simplified using -a and removing -n for the
same outcome.
Change-Id: I71a07193e44e7cee402a5c28b955d5da315200b6
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
Ansible 2.6 is EOL, we should move to a more recent release that
has better support for Python 3.x and, above all, is maintained
with security and critical bug fixes.
Change-Id: I6aa80b4bc4a0c34ac919951cd940b2fc6b736bdc
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
Also uncapped the proliantutils maximum as upper
constraints is in place.
Set the ansible python interpreter as well for the
main process launch, which magically resolved
venv dependency issues.
Change-Id: Iae06a87e7dbcf76e4be7453e57ec5fd75389caa7
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
Our ansible installation changed quite some time ago,
and it is time to go ahead and remove the outdated reference.
Change-Id: I43c65b742616835662cf5bc3b87a22aa42b79185
While ZUUL_BRANCH was not always being set, the way the roles and
playbooks were being executed the credential set action when locally
testing using test-bifrost.sh.
Change-Id: Iebe3937339572a1a21527fd7129a09dd05e0a8b7
The requirements repository is provided to us in most CI
testing scenarios, however we also want to force a constraint
upon installing python libraries for test VM creation dependencies.
As such lets at least get a copy of requirements up front when
testing with test-bifrost.sh or when using vagrant.
Change-Id: Ic6a5b8f7cdbf6f4c6233848bab1bfd71acc9d973
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
We had python hard coded instead of allowing ansible to autodiscover
the version of python to use. :(
Change-Id: I3fbd873ee72cb3783bcb77ef14478fea302ffa3a
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
This corrects the path handling in the CI and removes a lot of
redundancy in the CI definitions. Also adds fixed log collection
from https://review.opendev.org/#/c/649526/ to make the CI pass.
Removes handling of ZUUL_CHANGES. It is not present in new jobs,
and its use case in Bifrost is completely unclear.
Eventually, we should rewrite the whole test-bifrost.sh in ansible,
but that's a much bigger task.
Change-Id: Id893e816a7806e7d75282628817288d8a34ab8af