Commit graph

66 commits

Author SHA1 Message Date
Michal Nasiadka
17727e1481 Move repo enablement to respective rpm blocks
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>
2025-10-02 08:37:07 +00:00
Michal Nasiadka
5781b359ef Remove RDO/Delorean
RDO has staffing problems and has decided to only
support SLURP releases - let's drop reliance on that
repository.

Change-Id: I56f86a1c5262e3ee2bcbb52cae53c3b2655ed87f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-29 07:19:33 +00:00
Michal Nasiadka
a9c94abf53 openvswitch: Fix logs dir permission
Closes-Bug: #1795609

Change-Id: Iedfb2df027c0cefc45668a76d45ce62193aba9ef
2025-01-13 15:21:16 +00:00
Michal Arbet
11f65c6c1d Add mechanism for patching files in containers
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
2024-11-15 08:04:30 +00:00
Michal Nasiadka
c66a2cd63b openvswitch: Drop ovs_ensure_configured.sh
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/901695
Change-Id: I9c723b666897883bf5b3343fe92e06aaa0c89d81
2024-05-15 06:34:00 +00:00
Michal Nasiadka
426744a271 openvswitch: Add ovs_wrapper for handling TERM
Partial-Bug: #2048130
Change-Id: I81eba2644eda6edd38c541f798bead04c2fa6578
2024-03-23 15:10:16 +00:00
Michal Nasiadka
e8a6a45721 openvswitch: Move db conversion from kolla-ansible
Partial-Bug: #2048130
Change-Id: I2f6c9045aa990b36716bb18d9f2eb699a35ee51a
2024-03-23 14:40:55 +00:00
Michal Nasiadka
dbc9b1193e Drop openvswitch-netcontrold
Closes-Bug: #2027668

Change-Id: Ib8cd2356c6e4cdf7b2108a7fdedcb5a4b02768ca
2023-09-21 12:04:35 +00:00
Erik Panter
a840ac0d7c relay non-zero exit codes when creating openvswitch bridges
Calls to `ovs-vsctl` in `ovs_ensure_configured.sh` did not get checked
for errors.
This can cause false success statuses when
the script is run by automation tools such as ansible.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/870540

Closes-bug: #1999778
Change-Id: Iad83132b61efadbf09aa9aa2edf96235085764c6
2023-01-16 13:25:40 +00:00
Marcin Juszkiewicz
016c5ed30c adjust permissions on _extend_start files (part II)
Tim Shearer started it in 1d96a2bbe1.

Since all extend_start files are sourced rather than executed, the executable
bits are now cleared throughout the project.

Change-Id: Ia1797c32fc6a35f9f077c673abf4d8e16e51a760
2022-04-22 11:34:55 +02:00
Tim Shearer
1d96a2bbe1 Adjust permissions on _extend_start files.
Explicitly set the permissions on the kolla-toolbox kolla_extend_start
file. Also, since all extend_start files are sourced rather than
executed, the executable bits are now cleared throughout the project.

Change-Id: I5c2deb4a2e33575d57c852089f856a9acc6818d0
2022-04-11 17:22:24 +02:00
Marcin Juszkiewicz
a1510870e8 drop infra_image_prefix
We have one install_type only now so that infra stuff is not needed
anymore.

Change-Id: I60d50ba7699d46d001eaef365fb84b0ce8e9b262
2022-04-11 06:22:21 +00:00
Marcin Juszkiewicz
d13c41b776 Upgrade pip and friends in source images (part 2)
New pip has nice features for detection of conflicting
requirements.

When installing from PyPI, as we do in source images, running
the latest pip+setuptools+wheel is recommended.

This change covers entries missed in I4ae3a82cc796a60450c2a35beba32972964bc5d0

Change-Id: I0d69009b8b736b59b122ad29a9a5f6a22b041513
2022-01-25 13:21:35 +00:00
Marcin Juszkiewicz
e0f8cbc50c move to Debian 'bullseye'
Bullseye is now in hard freeze cycle and goes for release.

https://release.debian.org/bullseye/freeze_policy.html

Co-Authored-By: Michal Nasiadka <mnasiadka@gmail.com>

Change-Id: I543965a2741cebfa759576a4c75669a7bacd4208
2021-04-26 20:01:28 +02:00
Marcin Juszkiewicz
38fcd184e8 centos: enable repos where needed
With RDO use we did not disabled some repositories. This patch disable
them and enable where needed.

Change-Id: Ia9d537fe9c1ad54789d2bfb4027254fbb3defe7e
2021-04-13 11:21:39 +00:00
Marcin Juszkiewicz
ffe08baa72 docker: do not install pip again in images
We install pip in base image so why repeat?

Change-Id: Id903880b121d87d75b7b14084b0961b9ce99deba
2021-01-25 16:43:18 +01:00
Gaël THEROND (Fl1nt)
b93c40a363 Improve pip install process for offline deployment.
* "Use distribution-provided pip"
    * "Use python's pip module invocation method"
    * "Install pip earlier in order to avoid multiple installation"
    * "Remove pip_version variable requirement and call"

Change-Id: Id0e738044a1931f9d611a7281a48ea4a593f1cf1
Closes-bug: #1893204
2020-09-17 13:50:15 +00:00
Marcin Juszkiewicz
90adc2b851 introduce 'infra_image_prefix' for infra images
Defaults to 'image_prefix' for now but shows which images gets their
names changed soon.

Change-Id: I0608e8f62f28d6667b4c8753c47553e4cbf75503
2020-07-09 23:31:42 +02:00
Marcin Juszkiewicz
70ffba8241 openvswitch-netcontrold: build always
This is infrastructure package where binary/source split does not make
sense.

Change-Id: I445134333b50439af20a3ca12757d519fa2624d4
2020-07-06 12:08:42 +02:00
wuchunyang
6d71ac843e add libibverbs package for openvswitch
ovs images which based on centos miss libibverbs package.
this ps add the package to neutron-ovs-agent and ovs-base
images.
Closes-Bug: 1882863

Change-Id: I3e307efc43f934a944a91d5d131a11f607411df2
2020-06-10 14:56:41 +08:00
Marcin Juszkiewicz
53443c5c71 Remove support for CentOS 7
With the move to RHEL/CentOS 8 we no longer have Python 2 in our images
so there is no need for checking which Python version (2.x or 3.x) is
used inside of containers.

We also no longer have to support yum as a value for
distro_package_manager.

Partially-Implements: blueprint centos-rhel-8

Change-Id: Ie45cf3465fedddbde7856961527421883ba3d5c9
2020-04-15 09:32:06 +00:00
Christian Berendt
861f55fbfd Add block labels to all Dockerfiles
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-03-01 17:25:58 +00:00
Mark Goddard
42b4987cee Remove start-ovsdb-server script from openvswitch-db-server
This script is not used by TripleO, and Kolla Ansible replaces it with a
templated script.

Change-Id: If4418ad1eb7e5b5029a226c3dd65285b23790bd1
2020-02-19 17:45:12 +00:00
Gowrishankar Muthukrishnan
1c6145f0da Provision building netcontrold container
Netcontrold container service[1] is used to load balance PMD
threads in OpenVSwitch for the dataplane traffic. This patch
enables building netcontrold container for Openstack.

[1] https://github.com/netcontrold/netcontrold-py

Change-Id: I09cb42323d36fcff49da81fc2356c9f83400d5d6
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukr@redhat.com>
2020-01-21 12:00:02 +05:30
Michal Nasiadka
0ec7017f7a Fix ovs-appctl by adding --pidfile to ovsdb command.
Change-Id: I8927ce98d669480866d6fcddaf7b08ef3cbbc37e
Closes-Bug: #1697570
2019-07-02 10:15:08 +02:00
Mark Goddard
aa59f0db6f Debian/Ubuntu: more python3 packages for binary
backport: Stein

During the switch to Stein UCA, we did not switch all packages to python
3 for Debian/Ubuntu binary images. This change switches some more of
those packages.

Change-Id: I0bff21384d88ea678608392de2db1ba418c96665
Co-Authored-By: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2019-06-06 11:06:58 +00:00
Alex Schultz
3e5d8e2653 Add python3 packages for RHEL systems
RDO is currently working on python3 support for the next version of
CentOS/RHEL based systems.  This package uses the distro_python3 flag
that was added as part of I4028991bad92c0e8e21066cc4173c06ce5eba393 to
use the python3 specific package names.  This change only adds python3
package names for RHEL systems.

Conflicts-With: https://review.openstack.org/#/c/636457/
Change-Id: Iad6b70b433a0dd1b0f8ae6790fd280594517661a
Related-Blueprint: python3-support
2019-03-12 17:48:18 +00:00
Alex Schultz
ae1322ec10 Use base_package_type
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
2019-01-17 08:23:41 -07:00
Nicolas Haller
f5c2f3d97c openvswitch: make ovs-tcpdump usable
Change-Id: I5f18bd4bfe1243d79e4ee8ce56475e6c7c7cc986
Implements: blueprint ovs-tcpdump
2018-09-14 09:37:57 -04:00
Pavel Glushchak
4489bf24d8 Ensure interface exists before adding OVS port
Otherwise fail.

Change-Id: Ia84d146e568071a84a7d0e06fcd88e64427904b8
Closes-Bug: #1700745
Signed-off-by: Pavel Glushchak <pglushchak@virtuozzo.com>
2017-07-24 08:50:45 +00:00
Sean Mooney
4f5bac1089 introduces support for the OVS DPDK dataplane
- DPDK is a  userspace library for high-performance networking.
- This change enable support of Open vSwitch with the DPDK
  accelerated netdev datapath.
- This change provided binary and source support via
  a template-override.
- This change provides an example template override file
  and corresponding documentation.

Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Partial-Implements: blueprint ovs-dpdk
Change-Id: I7c3a5dddeca1886fe1c7681ce8d5bebde08f3102
2017-07-05 11:34:51 +00:00
Jawon Choo
31259fa595 Override image's meta info.
centos based images have wrong label info,
these changes fix own image's name and build-date.

Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
2017-05-03 11:08:17 +09:00
Chen
8c463a47a9 Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2
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
2017-04-20 16:50:05 +09:00
Marcin Juszkiewicz
69fef5cd59 debian: enable all images enabled for Ubuntu
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
2017-04-04 22:48:18 +02:00
Jeffrey Zhang
e5903d5fa9 Remove include_header and include_footer in all Dockerfiles
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.

Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-02-05 10:44:48 +08:00
Jeffrey Zhang
6ef486fbff Remove footer block and variable in *-base images
Change-Id: I39aa88489f744f779150695f3f55ef80d42e1c61
Closes-Bug: #1653247
2017-01-05 22:05:29 +08:00
Jeffrey Zhang
f62b16f8a4 Move openvswitch db file into docker volume
openvswitch db file is created in /etc/openvswitch/conf.db. It will be
lost during upgrade openvswitch_db container.

This patch moves the db file into /var/lib/openvswitch folder, which
located in docker volume.

Change-Id: I73604fddacd21655590b9e66ee2805014795b9f1
Closes-Bug: #1649290
2016-12-15 16:42:09 +00:00
pangliye
b4e3ab5e63 Fix some typo
Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
TrivialFix

Change-Id: Ie576114a3f6f4579a4df3175232a5f6c63c7a795
2016-12-11 08:35:21 +08:00
Christian Berendt
5cd30d4914 Remove Fedora support
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-11-03 10:50:22 +01:00
Paul Bourke
b41247c656 Add header blocks to all Dockerfiles
Change needed to add header blocks to all Dockerfiles, similar to the
base.

Use case is to easily run something before packages are installed, e.g.
to COPY a local rpm in that can be added to the package list.

Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee
Closes-Bug: 1618969
2016-09-13 16:53:31 +01:00
Jenkins
5f2a0f7da0 Merge "Fix lost parameter --remote in generated start_ovsdb_server.sh" 2016-09-08 14:04:07 +00:00
Pengfei Du
8bc778e8cd Fix lost parameter --remote in generated start_ovsdb_server.sh
Change-Id: I2e2546fbc292975742f48ab35b92455b1bfc685c
Closes-Bug: #1616779
2016-09-06 15:38:59 +08:00
Eduardo Gonzalez
8e98e5f15e Change source with dot at extend_start files
Is a best practice in Unix/Linux scripts to use dots
instead of source command.
Using dots will avoid issues with non BASH shells

TrivialFix
Change-Id: Ie6480a1954f853f79faffa093452715ebd9f7d90
Signed-off-by: Eduardo Gonzalez <dabarren@gmail.com>
2016-08-29 07:29:16 +02:00
Shaun Smekel
a9d08726f5 Handle empty package list for install_packages
Currently if the install_packages macro is run with an empty
package list, it will add a yum or apt-get command with no
packages listed.

This bug fix aims to omit this line when no packages have
been given, or, the operator wants to use the "_override" /
"_remove" functionality to disable all packages being
installed in a Dockerfile.

Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifaaaebfccc3adb0f2f68a35ac08e59378bc87fdb
Closes-bug: 1612446
2016-08-19 10:49:03 +00:00
Swapnil Kulkarni (coolsvap)
ba4ef6b0a5 Update openvswitch base Dockerfile to include footers
This is not in sync with the current changes being
merged for customization

Change-Id: I7779a52cdeea9a4b6f7580388b86faa1d8c673eb
Partially-implements: blueprint third-party-plugin-support
2016-08-18 14:36:00 +00:00
Serguei Bezverkhi
41ec75b567 Introduce a script to launch ovsdb-server process
The reason for introducing this script is to be able
to launch ovsdb-server and initialize it (create external bridge and plug
external interface) in one shot. It is applicable ONLY to Kubernetes environment
and it is required for Kubernetes DaemonSet usage. The behavior in classical
Kolla has not been changed.

TrivialFix

Change-Id: I54897cc2c0f2bcaaf0411822f3409bf96e92833d
2016-08-09 19:03:20 -04:00
riwinter
f96458fcbf Customizations for openvswitch
This patchset contains customization of Dockerfiles
of openvswitch containers

Change-Id: I9404fbee8552d5218ac57abf8a01bf259db729f5
Partially-implements: blueprint third-party-plugin-support
2016-07-26 19:26:48 -04:00
Jenkins
8f5747318b Merge "Enable openvswitch container logs in host volumes" 2016-06-27 17:06:35 +00:00
Hui Kang
54919dc498 Enable openvswitch container logs in host volumes
Allow heka container to pick up the openvswitch logs like other
services

Change-Id: I396ae9419540070c6ab01b8f62607ab46b1f08aa
closes-Bug: #1573199
2016-06-26 23:45:33 -04:00
Swapnil Kulkarni (coolsvap)
435b21b90d Update ubuntu dockerfiles for formatting
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
2016-05-26 04:09:22 +00:00