| Age | Commit message (Collapse) | Author | Files | Lines |
|
This is not required anymore since we have switched to Rocky Linux 10.
Change-Id: I10b68c2d3afa91cabf9341df75d8cf9f626c0f9b
Signed-off-by: Pierre Riteau <pierre@stackhpc.com>
|
|
Set inject_facts_as_vars to False to match what we do in
Kolla-Ansible (and this option will default to False in 2.24)
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/972696
Change-Id: Iae2b70ca62fd68400bde9296edcda8e53f14a896
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
Change-Id: I37f4515587cb040296612e35d4c643f0c2bea6f6
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
Currently we are enabling repos irrespective of rpm/deb
statement blocks and not failing in the method used
if a repository is missing.
Downside is - we might be producing one more layer,
but it probably is a more logical approach.
This is required for adding rpm support in repos.yaml
that will also include failing on missing repositories.
Change-Id: I5479c5c935760f00fe4cd307366f261deee3199f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/951864
Change-Id: Ie7e607c5a9c6f8c2e36aea5d52dc2ffbe97dddb3
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
When {{ venv_path }}/lib/python3 already exist and we run the ln
command, we end up with:
/var/lib/kolla/venv/lib/
├── python3 -> python3.9
├── python3.12
│ └── site-packages
└── python3.9
├── python3.12 -> python3.12
└── site-packages
Instead, it should be:
/var/lib/kolla/venv/lib/
├── python3 -> python3.12
├── python3.12
│ └── site-packages
└── python3.9
└── site-packages
Remove the existing link first to ensure it is created properly.
Change-Id: I42dd2490d14070074fe1fa7ae9e0a4cbf095b06f
|
|
|
|
Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/945498
Change-Id: I0e7ce418508f6684a20539c6b6129a134f91c71c
|
|
|
|
Users can override the upper-constraints.txt by setting the source of
openstack-base in kolla-build.conf.
However, bifrost-base Dockerfile so far doesn't pass overridden
upper-constraints file to Bifrost install playbook resulting the
playbook not acknowledging it and just use upstream one.
This change sets the source of Bifrost upper-constraints to use
upper-constraints of openstack-base for consistency among all Kolla
images
With this, change the environment variable UPPER_CONSTRAINTS_FILE is
only affecting kolla-toolbox image.
Therefore, moved UPPER_CONSTRATINS_FILE variable example to the
``kolla_toolbox_pip_conf`` block of kolla-toolbox Dockerfile.
Additionally, updated 'Python packages build options' section of
documentation to represent latest method of changing Python package
related options (including this change).
Change-Id: I0a9c782ca1177ef84e4323cb1e5bfac0fb3f383c
|
|
This patch adds a way to patch files in a Docker
image built by Kolla. This is very useful for several
reasons, specifically:
- Custom modifications
- The stable branch of some library has a fix but no pip
package has been released
- Eliminates the need to package your own pip packages
- Eliminates the need to invent your own versioning to prevent
upstream versioning
- Eliminates the need to manage a pip server
- In other words, it eliminates the need to get a wheel into
the image and install it manually using any method not
previously mentioned
It is also highly desirable because, although Kolla can replace
the source for a service with a custom URL for a tarball or its
own Git repo, it cannot do this for dependencies pulled from pip.
I would also like to point out that this is a feature with its own
code path and works only if the user "inserts" a patch into the folder
patches/docker-image/something.patch and creates an analogous series
file for patch source code.
Simply said, this code will never interfere with the upstream build process
since this feature is not intended for use in upstream.
It is rather meant for downstream users who know what they are doing.
Now they just have an option to patch their images.
Everything works on all layers of the Docker image and stores a report
of applied patches which can then be seen in /etc.
This mechanism is similar as debian patch quilt.
Change-Id: I61d0790c5d4d070b7ea9e8c99c0a76ff5d22bf9d
|
|
This is used by bifrost in setup script [1].
[1]: https://opendev.org/openstack/bifrost/src/commit/1c95336154c9ed3995bb63c4b4d16f344290b796/scripts/env-setup.sh#L9
Change-Id: Ia2721dd7459a11324726910c99ea4c357047631e
|
|
Bifrost has moved to use the native in-band inspection support in
Ironic[1]. Some features are missing (such as introspection rules), so
it may still be desirable to use ironic-inspector for these use cases.
It also requires changes to the inspection interface of the ironic nodes
(ironic-inspector -> agent), so it also desirable to support
ironic-inspector for backwards compatability reasons. We should consider
dropping ironic-inspector once the native interface reaches feature
parity.
This will install ironic-inspector into the image, but will still
require configuration in bifrost.yml to use it.
[1] https://github.com/openstack/bifrost/commit/dcbf1d98b92236be7e4b9d89169a66892127e63b
Change-Id: I3cc8455647339c67ba51620d5aff8a3acbf58dab
Partial-Bug: #2054685
|
|
env-setup script removes epel-release and this
breaks our CI template overrides.
It is also more geared towards using in opendev
CI - let's just install proper Ansible version
instead.
Change-Id: I68f645bef05dd15eba41479e3ef6713100fb87d0
|
|
Follow-up to I5ce2eb66a647e1805f086aa37942bf5d13eb4106
So far, I have only observed these causing weird errors later but,
in theory, ignoring these could allow the rest of the code to use
archival (so wrong) entries.
Change-Id: I9cef5ceeb78d431ca232c7b196c48eef5d2ccbca
|
|
OpenStack 'zed' requires Python 3.8+ so RHEL 8 family has to go.
This changeset moves to CentOS Stream 9 while move to RockyLinux 9 is
planned as final solution.
CI moved to CentOS Stream 9 nodes.
Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/839715
Change-Id: I113b9984294cf8663d3fc0c8840320e1d40ea731
|
|
Following up on [1], Bifrost also needs to use correct u-c and,
surprise-surprise, this is set via a third variable, this time
environment one for the bash script. Oh well. Let's do it.
This has the added benefit of not requiring additional
download of u-c as it reuses the already existing one.
[1] https://review.opendev.org/c/openstack/kolla/+/842276
Change-Id: I2cc79c476d089977b57006dd4ce2e9a8c6206aa1
|
|
Bifrost decides on the branches to use by itself.
Early in the cycle, they are often not set correctly and may
break our CI.
This patch ensures we force Bifrost to use the expected branches,
making us independent of Bifrost getting fixed.
Change-Id: I33dbca927062284fd7a06ab6db732dd5e2219c40
|
|
Big patch drops all mentions of binary images support. Suggestions are
welcome how to split it into parts or handle better.
Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
|
|
These are no longer required but block other cleanups.
Change-Id: I13bc63447da878890730e9458b48267a8530d5af
|
|
Set bifrost internal_ip variable to adapt to change [1].
[1]: https://review.opendev.org/#/c/748230/
Change-Id: Idf401536b482b4088f5fb66408917752fd71726c
|
|
This file has been removed from bifrost, and is not necessary for building.
Change-Id: Id99d275eca5970e9897bbf3e289c37351ba9bdb5
|
|
Change-Id: I31e9742793cfb1abff9749083c9ce86000dae1af
Partially-Implements: blueprint centos-rhel-8
|
|
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
|
|
The disable_extra_repos macro accepts a list as its only argument. We
were calling it like this to disable EPEL:
disable_extra_repos('epel')
The macro interpreted this as a request to disable three repos, e, p, l.
Thanks Python! Type validation to be improved separately.
Additionally, on CentOS 8 the EPEL repository was not included in the
repository mapping file, repos.yaml. There is also another EPEL
repository on CentOS 8, epel-modular, which is enabled by default after
installing epel-release.
This change adds mappings for epel and epel-modular repos to repos.yaml,
and fixes the disabling of epel in the base image, as well as disabling
epel-modular.
There are some cases where EPEL is still used (it seemed a bit too
easy...), and the repository has been enabled for these images:
* bifrost-base (nginx)
* ironic-conductor (C7 only, shellinabox)
* freezer-base (C7 only, trickle)
* gnocchi-base (C8 binary only, python3-boto3)
* mariadb (pv)
* mongodb (C7 only, mongodb)
* nova-spicehtml5proxy (C7 only, spice-html5)
* telegraf (C7 only, python2-pip)
A few other things were changed:
* ironic-conductor does not require the ceph repo
* python3-pika is no longer installed in the openstack-base image
Related: blueprint remove-epel
Change-Id: I3761825239dfc462072383cde6276c4fb3e1bf12
|
|
Whitespaces suxx ;D
Change-Id: I4bfd437c914680a5dcbc67dfe9b0a9a74e2eb35d
|
|
|
|
Unneeded systemd units were never removed for Ubuntu 18.04.
Since Ubuntu 14.04 is no longer supported, this commit removes
the exemption for it.
Change-Id: I764a0e305a95ee9e330041f1e15d35b45a86aa72
|
|
CMD of image bifrost-deploy is set to "/sbin/init" which is part
of package "systemd-sysv" on common systemd-based distros.
Change-Id: Ie2195248443e37dc22b713ecd1eb6de2876446d3
Closes-Bug: 1840949
|
|
|
|
Bifrost containers are failing to build occassionally due to udevadm
timeouts. This is likely related to an ansible issue,
https://github.com/ansible/ansible/issues/43884, which can be worked
around by increasing the gather facts timeout value. This change updates
it to 30 seconds from the default 10.
Change-Id: If252e41a012a24f31cf2f1414657ac18c819228f
Closes-Bug: #1812259
Depends-On: https://review.openstack.org/632078
|
|
This change updates the docker files to use base_package_type instead
of doing specific distro checks for the rhel/deb generic cases. The
base_distro is still available and is used when a specific distro needs
a customization but if the differences are purely rpm vs deb, then the
base_package_type can be used.
Change-Id: I8d720bb185df65a0178061ccf20b1ab2265da2c5
|
|
Bifrost was broken by the recent kolla change [1] to use an ENTRYPOINT
for dumb-init. The container failed to start because dumb-init was
trying to run /sbin/init, which expects to be pid 1.
[1] Id91ebb8b0ecc43946845de386350af0536dd661f
Change-Id: Id77ecfca09dfda8da984589f70a26433214ee3af
Closes-Bug: #1808326
Related-Bug: #1799642
|
|
The recent change to upgrade RabbitMQ broke deployment of Bifrost, since
it does not support the newer version of RabbitMQ. This change reverts
the bifrost image to use the package provided by the OS.
Change-Id: Id6c9b879727734ea2c03b2d69e1a673354f52617
|
|
as a followup to https://review.openstack.org/#/c/505143/
"Remove yum cache"
Change-Id: Ifaaead6f6efe35808ebf79ea0d4474fbb60c8994
|
|
/var/lib/apt/lists/ can take several MBs so get rid of them after
packages are installed.
Change-Id: Icfff55d92fa5c865f09db5112da28bf452a5a221
|
|
centos based images have wrong label info,
these changes fix own image's name and build-date.
Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
|
|
Use LABEL instruction instead of MAINTAINER (deprecated) instruc-
tion as suggested by Docker's official dockerfile guide.
docs.docker.com/engine/reference/builder/#maintainer-deprecated
Closes-Bug: #1683652
Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
|
|
Debian support is not maintained in Kolla so it got a bit behind Ubuntu
one. This changeset enables Debian for all images. Jessie (even with
backports) may be too old for some images though.
Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order
like it is done for RPM distributions.
Partially-Implements: blueprint multiarch-and-arm64-containers
Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
|
|
By default, the Bifrost Ansible playbooks will naturally run
everything against /usr/bin/python which means that some modules,
such as Shade when it has to be installed will use the system
Python installation.
By adding `ansible_python_interpreter` and pointing it towards
our Python interpreter, it fixes the failures related to system
Python and conflicts related to it (which in this case, resulted
in Shade failing to build properly).
Closes-Bug: #1673776
Change-Id: I2a5a2a3e2627a313b3306aeb1a910efe0e209496
|
|
To facilitate build custimisations in template-overrides.j2
for bifrost-base, added a block section wrapping the execution
of the ansible install.yaml playbook.
Change-Id: I4eb18d03b7d7b2a2f65ec3c844af9149f9426949
|
|
|
|
1. Enable customization of pip packages in source
branch of most images
2. All pip packages install uniformly through
install-pip macro, user can easily customize his
own pip command (For example using a mirror)
Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Change-Id: If09582039f690fa4136e8f33200d5da15e092da7
|
|
Bifrost now targets the play in the install.yml playbook at the
target Ansible group instead of localhost.
This change uses the target inventory file to pick up this group
and avoid a 'noop' playbook.
Change-Id: I1b351ccfea5684aeb1394e5a12ee848eb62447fe
Closes-Bug: #1665413
|
|
There are two issue in kolla gate now. Since source building is voting,
we have to squash these two fixes into one
Disable gpgcheck in grafana repo
Seems there is something wrong in grafana repo gpg key. Disable gpgcheck
until it is fixed
Partial-Bug: #1664272
Add VENV variable in bifrost base Dockerfile
* ANSIBLE_FROM_PYPI is removed in bifrost.
* Only when VENV exist, ansible is installed in global rather then root
user
Change-Id: Ib96433e6d2a03941cace8ed15dafbb314c4551eb
|
|
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.
Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
|
|
This centralizes all user and group creation into a single source. This
will fix any current and furture uid/gid mismatches (such as with
nova-libvirt).
In the process, we also unify users between the distros in a standard
way. The users in the following containers change from thier defaults:
Ubuntu: _chrony user is now chrony
Ubuntu: memcache user is now memcached
All: qemu user is used for ownership and socket permissions
All uid and gid numbers are customizable via kolla-build.conf
Co-Authored-By: Kris Lindgren <klindgren@godaddy.com>
Change-Id: I120f26ab0683dc87d69727c3df8d4707e52a4543
Partially-Implements: blueprint static-uid-gid
|
|
There are some bug in installing Ansible from source in bifrost, and
install fro pypi is more stable.
Change-Id: Ib51979fabbf57627179e657e35a3bbbdb13b552b
|
|
Improve readability of dockerfile.
Change-Id: I7d923bab5d493c8dfaf7aba1c7f85017ea5cf690
|
|
|