aboutsummaryrefslogtreecommitdiff
path: root/docker/neutron/neutron-server/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-33/+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-22adjust permissions on _extend_start files (part II)Marcin Juszkiewicz1-1/+1
Tim Shearer started it in 1d96a2bbe1b536b7d7f4cdbf55c6dabae6d058ae. Since all extend_start files are sourced rather than executed, the executable bits are now cleared throughout the project. Change-Id: Ia1797c32fc6a35f9f077c673abf4d8e16e51a760
2022-04-21flatten images a bitMarcin Juszkiewicz1-4/+5
As we have one type of images now some RUN calls could be merged so we will have less layers in resulting images. Change-Id: I5178c58fbd8c65efe825dc249c0f1368ef0fe8e0
2022-04-09docker: drop binary partsMarcin Juszkiewicz1-29/+6
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-08-12ironic-neutron-agent: enable for Debuntu binaryMark Goddard1-0/+1
Packages are available for focal and bullseye. Change-Id: I61623748d1149adb1b096adf2fffb5a902df3181
2021-03-01neutron-server: make it build againMarcin Juszkiewicz1-1/+1
1. stop pinning networking-hyperv Pike release was long time ago so maybe it is time to unpin it? commit 6dc8e978462fd08122133e273ae956721997d3af Author: Dan Ardelean <dardelean@cloudbasesolutions.com> Date: Mon Aug 28 12:56:25 2017 +0300 Change networking-hyperv version for Pike 2. stop install vmware-nsxlib as a plugin vmware-nsx is a plugin and we install it already vmware-nsxlib can be fetched from Pypi Solves: INFO:kolla.common.utils.neutron-server:The conflict is caused by: INFO:kolla.common.utils.neutron-server: The user requested vmware-nsxlib 15.0.8.dev129 (from /plugins/vmware-nsxlib-15.0.8.dev129) INFO:kolla.common.utils.neutron-server: vmware-nsx 15.0.1.dev424 depends on vmware-nsxlib>=17.0.0 Change-Id: I6ef344d463333e5cdc3a0850c8e068218779fdbd
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz1-9/+0
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-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2019-06-07Remove Neutron LBaaS supportCarlos Goncalves1-2/+0
The project has been retired and there will be no Train release [1]. This patch removes Neutron LBaaS support in Kolla. [1] https://review.opendev.org/#/c/658494/ Depends-On: https://review.opendev.org/#/c/663875/ Change-Id: I99484c48ed09f7e015e134bdff1f298c359c6905
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-2/+10
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-02-28debian/ubuntu: make use of Python3 based packagesMarcin Juszkiewicz1-3/+3
Both Ubuntu Stein UCA and Debian 'buster' migrated their OpenStack packages to Python 3. Note that Debian 'buster' is not released yet and contains Rocky packages. Stein ones will be available later. Co-Authored-By: Lee Yarwood <lyarwood@redhat.com> Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com> Change-Id: I160f79cc57f54ec3eac857c5babd1a6e2656d228
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-08-16Add networking-generic-switch to neutron-serverWill Miller1-1/+2
Change-Id: I75c460bda4c85016446f6a8df14e53806f8ef414
2018-03-19Merge "Remove the unnecessary "openstack-neutron-lbaas" from neutron-server"Zuul1-1/+0
2018-01-23Remove customizable for plugins_pip_packagesMartin André1-1/+1
The pip packages are normally already configurable with the <image_name>_pip_packages variable. It doesn't make much sense to make the list of packages installed with the plugins mechanism configurable via the <image_name>_plugins_pip_packages variable too. And even if we wanted to, the parameter to the `customizable()` function should be 'plugins_pip_packages' and not 'pip_packages'. This commit removes the customizable bits from the plugins install macro, at least until we get a good use case for it. Change-Id: I90dd28b8c5d981e6028af353e34645712ef09b0b
2018-01-16Remove the unnecessary "openstack-neutron-lbaas" from neutron-servercaoyuan1-1/+0
since openstack-neutron-lbaas has beed installed in neutron-base image, it's no need to install it again install neutron-server. Change-Id: I5219b1d37a408dfeb61fa54133e36751af1ee389
2017-11-08Fix missing bgp library in neutron-serverMichal Nasiadka1-0/+1
Closes-Bug: #1730629 Change-Id: Iae9ab6f3bba8185cf1bf53c3a5748e801404aeb7 Signed-off-by: Michal Nasiadka <michal.nasiadka@pl.ibm.com>
2017-08-28Change networking-hyperv version for PikeDan Ardelean1-1/+1
Change-Id: I56b9ef9ceb449d3fe6f2aa4cf856d6d1d7af7ee9
2017-06-12Support VMware DVSjimmygc1-5/+2
Move vmware_nsx and oslo.vmware to neutron_base image to support this change: I6d1629e93f0efeddd2a9000f66cc6f714bebb07c Change-Id: I4655086a3f058ec769d3d37ec6a19565b5ea0841 Partially-implements: blueprint kolla-ansible-support-vsphere
2017-06-04Merge "Add networking-hyperv driver when building neutron-server image"Jenkins1-1/+2
2017-06-02Merge "Only copy plugin-archive into image for source builds"Jenkins1-10/+9
2017-05-24use proper package name for python-oslo.vmwareMarcin Juszkiewicz1-1/+1
python-oslo-vmware was transitional package name Change-Id: Ieb355e30fe7162c035f342fd5b0fb2573365f428
2017-05-18Add networking-hyperv driver when building neutron-server imageDan Ardelean1-1/+2
Change-Id: I31dd5054ea9bf341323f6d093c0667b98491cc2b
2017-05-10Only copy plugin-archive into image for source buildsMartin André1-10/+9
The plugin mechanism is meant to be for source install type only. Change-Id: I1371a253236b09dc62ea91dce6d652e1c5603015 Closes-Bug: #1681345
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-06Merge "debian: enable all images enabled for Ubuntu"Jenkins1-1/+1
2017-04-05Add vSphere Supportjimmygc1-1/+12
Add oslo.vmware and vmware_nsx packages into kolla. Change-Id: I2a1ed314b970a4832f7f8256c1929921f36069f2 Implements: blueprint kolla-support-vsphere Co-Authored-By: shaofeng cheng <chengsf@winhong.com>
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-17Use install-pip macro in most source imagesChao Guo1-1/+6
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
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-19Fix vpnaas for neutronliyingjun1-3/+4
1. Install the missing vpnaas python module in neutron-server Dockerfile 2. Remove duplicated neutron-lbaas-common package from neutron-server, since it is installed in neutron-base 3. Fix service plugin config, it's not vpn`ass` ;)) 'vpnass' -> 'neutron_vpnaas.services.vpn.plugin.VPNDriverPlugin' [1] [1]: https://github.com/openstack/neutron-vpnaas/blob/stable/newton/devstack/settings#L8 Change-Id: I5250b6875d96ef5df9cf39bce10ce072982aa80d Closes-bug: #1625020
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-8/+15
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-27Adds Neutron LBaaS SupportDaneyon Hansen1-0/+17
Previously, kolla did not support neutron lbaas functionality. Only Lbaasv2 is supported in Mitaka. Additional information can be found here: http://docs.openstack.org/mitaka/networking-guide/adv-config-lbaas.html Magnum uses Neutron Lbaas to provide high availability to COE API and Etcd endpoints within a bay. Therefore, Neutron Lbaas is required for Kolla to support Magnum. Co-Authored-By: Serguei Bezverkhi <sbezverk@cisco.com> Partial-Bug: #1551992 Change-Id: I05360b7c447c601fcb3c2b6b2a913ef5cc0f3a1b
2016-02-24Remove duplicate code in neutron extend_start.shÉric Lemoine1-2/+2
Change-Id: I74aa68d809e9b38a605093abc4e2b8ca14335dee Partial-Bug: #1546944
2016-02-06Convert Neutron to thin containersSamYaple1-0/+2
*** 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
2016-01-08Docker run scripts with sh which doesn't support [[Artur Zarzycki1-1/+1
Change-Id: I368f5b89fbfded0f173b97058061a03783ce1829 Closes-Bug: #1531883
2015-12-27Fix pip install settingsSamYaple1-1/+1
There were some inconsistencies with pip install instructions thoughout Kolla. We fix those here. Additionally, we fix the virtualenv to properly use the site-packages on the host if a library is not available in the venv. Change-Id: Ib84d48e8826bb96060338b3fa0782620c98794a8 Related-Bug: #1524684 Closes-Bug: #1529434
2015-11-30Install plugins in neutron-server if availablePaul Bourke1-1/+5
Implements: blueprint neutron-third-party-plugins Change-Id: I56c56bacd2f06c120b14b00c0b97dd4e39c0afc0
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-07Remove an oslo.message 2.2.0 pinSteven Dake1-10/+0
In https://bugs.launchpad.net/kolla/+bug/1483667, oslo.messaging was pinned to 2.2.0. This pin is no longer necessary as this bug has been fixed upstream. backport: liberty TrivialFix Change-Id: Ica9ae41876a754291d4c6ee1235f6e69a4213463
2015-10-06Remove which from neutron-serverSteven Dake1-12/+0
The which tool is installed in the base image now and this extra install is duplicated and has no effect. backport:liberty TrivialFix Change-Id: I70c3edb11f5c847063b6e4ab4f9de7184356ce57
2015-10-06Common start.shSam Yaple1-3/+2
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-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-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