aboutsummaryrefslogtreecommitdiff
path: root/docker/neutron/neutron-openvswitch-agent
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-17/+0
[tool.setuptools.data-files] does not support recursive directory installation. The old setup.cfg [files] worked because PBR's FilesConfig.expand_globs() used os.walk() to expand docker/*, but this hook is not triggered by the pbr.build PEP-517 backend. Move docker/ into kolla/ and use [tool.setuptools.package-data] instead. Update kolla_worker._get_images_dir() to check the kolla package directory first so both editable and regular installs work. Change-Id: I4fc452c03740ef22ebbb4e8d0d86c4f4783e2d09 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-06-24kolla-build: fix build-date LABEL invalidating Docker layer cacheMichal Nasiadka1-1/+1
The build-date label was rendered into a LABEL instruction on line 3 of every Dockerfile template, immediately after FROM. Because Docker invalidates the cache for a changed instruction and all subsequent layers, a date change caused a full rebuild of every image on each new calendar day, even when nothing else had changed. Fix this by removing build-date from the Dockerfile templates and applying it as a --label argument at build time via image.labels. Labels passed on the build command line are not part of the Dockerfile cache key, so the date is still recorded in the image metadata without affecting layer caching. Change-Id: I8ef0d85bab1a999a4d09f7cbf0c088ca00fdcf77 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2024-11-15Add mechanism for patching files in containersMichal Arbet1-0/+2
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
2022-04-09docker: drop binary partsMarcin Juszkiewicz1-17/+0
Big patch drops all mentions of binary images support. Suggestions are welcome how to split it into parts or handle better. Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2021-11-01neutron-openvswitch-agent: openvswitch is already installedMarcin Juszkiewicz1-4/+2
We install openvswitch package in neutron-base image already so there is no need of repeating it. Change-Id: Id578cbc49c9a432414e5c758e0c853e59f79b039
2020-06-10add libibverbs package for openvswitchwuchunyang1-0/+1
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-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2019-01-17Use base_package_typeAlex Schultz1-2/+2
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
2018-05-26Use real package nameChuck Short1-1/+1
In the mitaka cycle, the Ubuntu neutron plugin packages were renamed, and transitional packages were created. Use the real name of the linuxbridge plugin package to reflect reality. Change-Id: I12e1ee45b7a9cfee0d42ba66a34d2e5f4267ca2e Signed-off-by: Chuck Short <charles.short@ericsson.com>
2017-05-03Override image's meta info.Jawon Choo1-1/+1
centos based images have wrong label info, these changes fix own image's name and build-date. Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c Closes-Bug: #1680341
2017-04-20Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2Chen1-1/+1
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-04debian: enable all images enabled for UbuntuMarcin Juszkiewicz1-1/+1
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-02-05Remove include_header and include_footer in all DockerfilesJeffrey Zhang1-1/+0
include_header and include_footer parameter is already removed, remove them in all Dockerfiles. Add missing footer block. Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2016-11-03Remove Fedora supportChristian Berendt1-1/+1
Closes-bug: #1616387 Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-09-13Add header blocks to all DockerfilesPaul Bourke1-0/+2
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-08-31Customizations for NeutronChristian Berendt1-9/+14
Change-Id: I5dbb030943abfa7eccc424859b694a508358c123 Partially-implements: blueprint third-party-plugin-support Co-Authored-By: Michal (inc0) Jastrzebski <inc007@gmail.com> Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
2016-05-26Update ubuntu dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+1
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe Closes-Bug: #1569417
2016-04-13Update Neutron dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+1
Change-Id: I19298f750e3bbf6fee12129d424b2c2b8810464c Partial-Bug:#1569417
2016-04-12Fix the wrong package name in Ubuntu binary buildJeffrey Zhang1-1/+0
neutron-plugin-linuxbridge and neutron-plugin-openvswitch package is useless and removed in Mitaka on Ubuntu Change-Id: Ia156d58410198af969f579cd5e7461c31ea63408 Closes-Bug: #1568281
2016-03-01ADD user neutron to the neutron-openvswitch-agent docker fileHui Kang1-0/+2
Neutron containers share the same log directory. So all containers should use same username to create directories. Change-Id: Id95a3205b53dd87ba21d55ebecada89d9f86d37b Closes-Bug: #1551829
2016-02-06Convert Neutron to thin containersSamYaple1-8/+0
*** Requires Docker 1.10 which is released *** Documentation will be in the next patch. You must set the following in your docker.service daemon control file for propogation to work: [Service] MountFlags=shared ====================================================================== Thanks to mount propagation in Docker 1.10 we can use thin containers finally! This is extremely useful to operators since now they can access the network namespaces from the hosts (outside the neutron container). But additionally it allows us to implement the VPN agent and other services easier. Neutron containers and the neutron role are brought into the standards of the new Kolla. Completely with drop-root and ansible formating updates. The ip_wrapper.py script was (thankfully) not needed so it has been removed from the repo. Partially-Implements: blueprint upgrade-neutron Change-Id: Iaf5555283240457e1912459f397a6393d886fba1
2015-12-31Neutron ubuntu binary containerArtur Zarzycki1-0/+8
Change-Id: Iae33dfd72755ddc29961d8624fef2f4eb045816b Partially-Implements: blueprint binary-ubuntu
2015-11-23Remove hardcoded MAINTAINER in DockerfilesSwapnil Kulkarni (coolsvap)1-1/+1
Added new option in kolla-build.conf Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56 Closes-Bug:#1514304
2015-11-09Fix validate-all-maintainer.sh to look for Dockerfile.j2Angus Salkeld1-1/+1
And fix the fallout. Change-Id: Iccad3f4fdb0a6a7c14246df3408cae0425b833a5
2015-10-06Common start.shSam Yaple2-14/+1
The majority of the start.sh code is identical. This removes that duplicate code while still maintaining the ability to call code in a specific container. The start.sh is moved into /usr/local/bin/kolla_start in the container The extend_start.sh script is called by the kolla_start script at the location /usr/local/bin/kolla_extend_start . It always exists because we create a noop kolla_extend_start in the base directory. We override it with extend_start.sh in a specific image should we need to. Of note, the neutron-agents container is exempt from this new structure due to it being a fat container. Additionally, we fix the inconsistent permissions throughout. 644 for repo files and the scripts are set to 755 via a Docker RUN command to ensure someones local perm change won't break upstream containers. Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad Closes-Bug: #1501295
2015-09-28Merge "Implement a install_type and install_metatype"Jenkins1-1/+1
2015-09-28Implement a install_type and install_metatypeSteven Dake1-1/+1
This prepares for the RHEL OSP implementation by making the build tool convert all binary-* into an install_type of binary and * into an install_metatype variable substitution inside the Dockerfiles. Further binary-* is substituted as install_name to enable proper building only. Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f Partially-Implements: blueprint rhel-based-image-support
2015-09-27remove set_configsSam Yaple1-4/+0
Change-Id: I9bb0a1fac63cc326234b0f06b1e56b43e0753279 Partially-Implements: blueprint replace-config-external
2015-09-25Fix removal of config-externalSam Yaple1-1/+0
I removed the files but not the COPY commands thus breaking all of Kolla Change-Id: I37d3e0cb94a1ecc12971f485f953310ba8fee53c Partially-Implements: blueprint replace-config-external
2015-09-25Remove config-external.shSam Yaple1-20/+0
Removes config-external for all services that have been replaced in Ansible Change-Id: I839a14418638b977fbc1d02ba6839811b0f909ea Partially-Implements: blueprint replace-config-external
2015-09-24Replace config-external with a JSON file for Neutron (thin)Ryan Hallisey1-6/+4
This is only for the Neutron thin containers. The Neutron agents are still in a fat container. I'll replace in another patch. Change-Id: I8533af52bfa3f268aa8ffb1c16ae49f5a300da27 Partially-Implements: blueprint replace-config-external
2015-09-17Fix broken centos-source- build: add rdo repositoryVladislav Belogrudov1-2/+0
openvswitch requires rdo repository to be installed Change-Id: I173bb3d32bcef2b890ab482083b0ffb830c3b7fb Closes-Bug: #1495470
2015-09-04Add 'rhel' for RPM distrosSteven Dake1-2/+2
Add 'rhel' to list for RPM based distros. Also sort the distro list for rpm packages for affected lines. Change-Id: Ied4cb3e9763d6c6359f314d16185383ac3e006ed Partially-Implements: blueprint rhel-based-image-support
2015-08-28Move docker_templates to docker dirSam Yaple3-0/+66
Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir