aboutsummaryrefslogtreecommitdiff
path: root/kolla
AgeCommit message (Collapse)AuthorFilesLines
2019-07-21Change how build process treats unbuildable imagesMarcin Juszkiewicz3-41/+103
We have a list of images which are unbuildable for distro/buildtype/arch combos. This patch renames it from SKIPPED_IMAGES to UNBUILDABLE_IMAGES because 'skipped' images is something else in our code. Now all unbuildable images are marked as such and so are their children. At the end of build there is information provided about skipped images (due to --skip-parents or --skip-existing options) and then information about not buildable images. Both list should only contain entries related to requested build. Change-Id: If9b521339f564e483cba03d52e7c4eba271821a5
2019-07-18Add HAcluster containersGaëtan Trellu1-0/+1
Theses images contains High Availability solution such as Corosync, Pacemaker, Pacemaker Remote and PCS. Change-Id: I86fd145d2998f68b08a16082414b86904971549a Implements: blueprint pacemaker-container
2019-07-17add some more not buildable imagesMarcin Juszkiewicz1-10/+5
Cyborg-agent binaries are only provided as x86-64 rpm packages. CentOS/aarch64 does not have 'mongodb' in EPEL. Ubuntu/aarch64 lacks 'sensu' package. Change-Id: I0fd668018b37e1d64782fd32ff3846a688c4e915
2019-07-11Add Masakari containersKien Nguyen2-0/+18
Masakari provides Instances High Availability Service for OpenStack clouds by automatically recovering failed Instances. Change-Id: I279d6b43f8e4d4e30b39deb607823ceca272a4b8 Implements: blueprint masakari-support
2019-07-03Merge "build: add timestamps to start/end of build"Zuul1-2/+5
2019-06-28Add more entries into SKIPPED_IMAGESMarcin Juszkiewicz1-0/+35
Did build of all images for AArch64, looked at failures and here is a list of ones which never build due to lack of packages. There are some images which could get to the list but there are already patches for them in Gerrit. Also added three more entries for Debian due to missing packages. Change-Id: Ie259a38aad84bd8f5392f19791edfbd1f8ec4b1a
2019-06-26build: add timestamps to start/end of buildMarcin Juszkiewicz1-2/+5
During recent CI issues I got an idea that it would be nice to have information how much time building specific image took. On local systems we can do log and then check 'modified_time - creation_time' but not on CI jobs. Fresh image: INFO:kolla.common.utils.base:Building started at 2019-06-26 13:53:08.393544 INFO:kolla.common.utils.base:Ended at 2019-06-26 13:56:40.354761 (took 0:03:31.961225) Rebuild: INFO:kolla.common.utils.base:Building started at 2019-06-26 14:00:34.913194 INFO:kolla.common.utils.base:Built at 2019-06-26 14:00:38.988874 (took 0:00:04.075686) Failed images do not get second line due to logger.exception() being used. Change-Id: Id13545224fa0fbb729d46386a10505e0989fc3c6
2019-06-19Make SKIPPED_IMAGES more flexibleRadosław Piliszek1-80/+43
With introduction of new architectures, it seems reasonable to allow skipping of images based on their architecture. Additionally, the existing framework had unneccessary duplication. This commit makes the feature more flexible and cleaner. Existing skips have been programmatically rewritten. Change-Id: I34c002a0ee605ca121d9d923b256e4fe1ea3d9aa Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-06-18Merge "Remove crane image"Zuul2-9/+0
2019-06-15Merge "Remove Neutron LBaaS support"Zuul1-12/+0
2019-06-07Remove crane imageMark Goddard2-9/+0
This image was deprecated in the Stein cycle. Change-Id: I249b78cd263c97c4a9223523c77f8c325f3e649a
2019-06-07Remove Neutron LBaaS supportCarlos Goncalves1-12/+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-06-07Merge "Debian/Ubuntu: move to Python 3 for source images"Zuul3-6/+6
2019-06-06Debian/Ubuntu: move to Python 3 for source imagesMarcin Juszkiewicz3-6/+6
Commit 43b74ccc157c0b50138c3785ed91dab504895571 enabled use of Python 3 based packages but not switched to use Python 3. Some of images still contain Python 2. There are two reasons: - Ceph (ceph-common depends on Py2) - python3-ldappool on Ubuntu 18.04 In Ceph situation Py3 packages were added. For second one we can not do anything - Py2 dependency got dropped in Ubuntu 18.10 version. Removed neutron-server-plugin-networking-infoblox due to being not maintained. Once https://review.opendev.org/#/c/657578/ get merged someone may revert that part. Implements: blueprint debian-ubuntu-python3 Depends-on: Ie2a1077f7def0743f1403341985e2109aa490026 Change-Id: Ibfe0c2b8be98db56c61f74fb0247488ab3749ef4
2019-06-05Allow building images if parent was skippedJason1-1/+3
This fixes a bug where if an image had a parent that was skipped, it would never get built. Normally when a parent finishes building it triggers the build of its children. This process is kicked off by Kolla finding the grandparents that have no parents above them. However, sometimes parents should be skipped, and in this case they would never get scheduled, and so their children would never build, producing a strange error without much information. Fix is to allow building an image if its parent is explicitly marked as having been skipped. The use-case for this is when you want to iterate on building an image without going through the cost of re-running the parent builds. In particular, if your builds are using Git sources, which break Docker caches, the cost of parent builds is high and the feedback loop during development has a much higher latency. Allowing some way for images to be rebuilt in a targeted manner is helpful when in the development phase. Change-Id: I6b6897d20626825bcd235b9a85859644effbd222 Closes-Bug: #1810979
2019-06-05Remove tripleo-uiAlex Schultz2-16/+0
The tripleo-ui project has been removed from the upstream. Remove the references to the tripleo-ui containers. Change-Id: I353ecd3ed04c78fd21f0108c5e1355280d3f3bb9 Closes-Bug: #1831478
2019-05-20Add Qinling containersGaetan Trellu2-0/+17
Add Qinling Dockerfile , Qinling is an OpenStack project to provide "Function as a service". This project aims to provide a platform to support serverless functions. Change-Id: Idebf5c8756a0d0225adcce29b45a399120bb5eb6 Implements: blueprint qinling-support
2019-04-30Improve doc of kolla-build '--docker-dir' optionRadoslaw Smigielski1-1/+2
Let's make clear that '--docker-dir' can be specified multiple times as argument of kolla-build. It was not clear if '--docker-dir' options accept comma separated list of values or it can be specified multiple times. Change-Id: I7cf9a7c2a6c7876e5784a3df93369e7fa5036173 Partial-Bug: #1827146
2019-04-24Move to opendevZhongShengping2-3/+3
1.Use opendev.org instead of git.openstack.org. 2.Use review.opendev.org instead of review.openstack.org. You can see the discussion below: http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html Change-Id: I377ea63827b6f3995ee275fdc466c1b2100eafc7
2019-04-03Add config option use_dumb_init to add it to container imagesRabi Mishra2-0/+4
Usage of dumb-init can also be disabled from cli with `--nouse-dumb-init` when building images. Also moves ENTRYPOINT outside of dumb_init_installation block. Change-Id: Id32d54fc9913b83cf121ede5a5e265e0772062ae Related-Bug: #1821970
2019-03-27Add cyborg to kollaBai Yongjun2-0/+14
Because kolla not have cyborg so should add this. Implements: blueprint add-cyborg Change-Id: I497e67e3a754fccfd2ef5a82f13ccfaf890a6fcd
2019-03-27Merge "build: handle template syntax errors better"Zuul1-7/+13
2019-03-26build: handle template syntax errors betterMarcin Juszkiewicz1-7/+13
Before: (venv-for-kolla) 15:35 (s) hrw@puchatek:kolla$ ./tools/build.py --template-only INFO:kolla.common.utils:Found the docker image folder at /home/hrw/devel/linaro/kolla/docker Traceback (most recent call last): [.. here goes 100 lines of Jinja2 traceback ..] jinja2.exceptions.TemplateSyntaxError: unexpected '}', expected ']' After: (venv-for-kolla) 15:44 (s) hrw@puchatek:kolla$ ./tools/build.py --template-only INFO:kolla.common.utils:Found the docker image folder at /home/hrw/devel/linaro/kolla/docker ERROR:kolla.common.utils:Syntax error in template: ironic-inspector/Dockerfile.j2 ERROR:kolla.common.utils:unexpected '}', expected ']' INFO:kolla.common.utils:Dockerfiles are generated in /tmp/kolla-2019-03-13_15-44-28_0ovk4xu_/docker Change-Id: Iaa899f0b81f6698aa86b15977c39af3269d31e9a
2019-03-21Merge "Introduce clean_package_cache"Zuul3-5/+11
2019-03-20Merge "Properly set debian_arch for ppc64el hardware"Zuul1-0/+2
2019-03-18Sahara: install also the split pluginsLuigi Toscano1-0/+24
The code of Sahara plugins has been extracted during the Stein cycle. Add support for: - the source-based deployment method (a beta release of the plugins is available on pypi) and - the RPM-based method (RDO contains the packages for the plugins.) This change is required also for the RPM method. Even if the RPM packages of the plugins are linked through weak dependencies to the sahara-api and sahara-engine packages (Supplements), weak dependencies are currently disabled here. Change-Id: I5241d84aa1ca2830cfdb60c1a3ff4e958a21b345
2019-03-18Properly set debian_arch for ppc64el hardwareMichael Turek1-0/+2
On Red Hat distros, ppc64el is referred to as ppc64le. This patch simply sets debian_arch to ppc64el if the base arch comes up as ppc64le. Change-Id: Idb9b30f792db11bea9b7d96025bd20a03fabc78a
2019-03-17Introduce clean_package_cacheEmilien Macchi3-5/+11
Default to true (to maintain backward compatibility), this parameter will allow to disable the Package cache cleaning when building the Kolla images. In TripleO, we are investigating how we can accelerate the builds by not cleaning the Yum cache and this patch will help us to do so. Also included same for deb package_install method. Co-Authored-By: Jon Schlueter <jschluet@redhat.com> Change-Id: I0adc85302dfe0411d362c899f3e0d6a0019680d4
2019-03-14Move to Debian 'buster'Marcin Juszkiewicz1-2/+2
Buster is at freeze phase so safe to update and use. Will give us Python 3 based OpenStack packages (usually release delayed). Change-Id: I48c2d252a834716f1bcf10b18f2d32fe541e8137
2019-03-12Add distro_package_manager configurationAlex Schultz3-0/+64
Add configuration to allow the switch between dnf/yum or provide an alternative package manager. Change-Id: I913769fcf5875a12b4561958cf7c90b74cd116ea
2019-03-12replace 'distro_python3' variable with 'distro_python_version'Marcin Juszkiewicz3-21/+38
RHEL7 derived distros use Python 2.7 RHEL8 uses Python 3.6 Ubuntu 18.04 uses Python 3.6, but we haven't enabled it yet. Debian:buster uses Python 3.7, but we haven't enabled it yet. We have several places in code where "/lib/pythonX.Y/site-packages" is used so we need to know value of X.Y rather than py2/py3 switch. How to check for Python 2: {% if distro_python_version == '2.7' %} Breaks: Iad6b70b433a0dd1b0f8ae6790fd280594517661a Change-Id: Ie24f109af19ae0438c21e0d43cb3cc947812b4ce
2019-02-28debian/ubuntu: make use of Python3 based packagesMarcin Juszkiewicz1-1/+0
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-02-19debian/ubuntu: introduce 'debian_arch' variableMarcin Juszkiewicz1-0/+6
Many images have 'if x86_64 then amd64 elif aarch64 then arm64' check to comply with Debian like architecture names in several projects. This patch creates 'debian_arch' variable which can be used in all Docker files (similar to 'base_arch' one). All required images got converted to use it. Change-Id: I9c5e6f13d6c9b24fe323408512bd5aef290111ad
2019-01-31build: exit if there is no Docker connectionMarcin Juszkiewicz1-1/+3
When user starts Kolla on system without Docker daemon running huge traceback is generated and then exit. Issue is because KollaWorker raises exception but no one catches it (then only call to it is in run_build() which assumes everything is ok). Change-Id: I68ea3f48c75b51dbbab3accbc531d2f73428c48f
2019-01-30Allow running more commands dockerlessMartin André1-1/+4
The `--save-dependency`, `--list-images`, and `--list-dependencies` options to the kolla-build commands do not actually require docker daemon running. This commit stop kolla-build from complaining when it is called with one of the above options without docker daemon started. Change-Id: I966587236aca363316db8abbfc04763655b4b68f
2019-01-16Add base_package_typeAlex Schultz3-0/+31
Currently in all the Dockerfile.j2 files, we are doing base distro if conditions for package names when installing via a binary. Rather than duplicating these base_distro in [<distros>], let's provide a single value for determining the binary installation method. This change adds a base_package_type which we can use to lookup if 'rpm' or if 'deb' rather than relying on specific distro names. Change-Id: I8a0c6c8fbc32a8cfa6932fddf28a449fceda3d49
2019-01-16Add distro_python3 optionAlex Schultz3-0/+33
As we add support for python3 on RHEL based systems, we need to add a flag to key off of in the Dockerfiles to swap out the python3 package names. This change adds a distro_python3 configuration option that can be defined to force python3 or python2 package names. If this option is not provided, we set this to True for RHEL 8 based distros and false for other distros. Change-Id: I4028991bad92c0e8e21066cc4173c06ce5eba393 Related-Blueprint: python3-support
2019-01-04Merge "Update hacking version"8.0.0.0b1Zuul2-8/+9
2018-12-27Update hacking versionconfi-surya2-8/+9
Use latest release 1.1.0 and compatible changes w.r.t pep8 Change-Id: Ia3d1166a2746a46591e4e5a04ea91e03ddc28d93
2018-12-24Ignore undefined values in customizable filterMark Goddard1-0/+7
When using the customizable filter to modify variables, if a template overrides file is shared between multiple sets of images, it is sometimes possible that a customised variable does not exist for a set of images. A specific example: My template overrides file has this: {% set ironic_inspector_packages_append = ["python-pip"] %} Normally I build binary/centos images. kolla-build -t binary Sometimes however I build a bifrost centos/source image, because bifrost does not support binary images. kolla-build -t source bifrost The ironic inspector image does not define ironic_inspector_packages for the source build, since it does not need any. {% elif install_type == 'source' %} {% if base_distro in ['debian', 'ubuntu'] %} {% set ironic_inspector_packages = ['iptables'] %} {% endif %} {{ macros.install_packages(ironic_inspector_packages | customizable("packages")) }} The install_packages macro copes with the undefined variable, however the customizable filter does not handle the base variable being undefined if a customised example exists. This change allows the customizable filter to ignore undefined variables, even if they have been customised. Change-Id: Ibe2fc91f5b6ceee8f937dd73c235128b2db525b1 Closes-Bug: #1809491
2018-12-19Split placement-api from novaEduardo Gonzalez2-0/+9
This change breaks out the Placement service from Nova ahead of it's removal from the project later in Stein. For the time being the original Nova Placement images are left in place but they will be removed later in the cycle once the Placement code is removed from the Nova project by the following change: https://review.openstack.org/#/c/618215/ Co-Authored-By: Lee Yarwood <lyarwood@redhat.com> Change-Id: I2bf6f5bf45b76e6900f41c21e9af30c69dc6e9c0
2018-12-18Add nfast group to barbican imagesDouglas Mendizábal1-1/+5
The nfast group is needed to configure barbican to use Thales HSM devices with the PKCS#11 plugin. Change-Id: I3de8ca07a34ae63eb91fc8d83bb0676425295cbc
2018-11-12Update Zaqar imageKien Nguyen1-1/+1
Follow Zaqar installation documentation [1] [1] https://docs.openstack.org/zaqar/latest/install/ Change-Id: Ic356fb81c19ebbc78aa3c7e871c4946d1f712a45 Implements: blueprint ansible-zaqar
2018-11-11Merge "utils: be Python 2 compatible when squashing is enabled"Zuul1-1/+1
2018-10-26utils: be Python 2 compatible when squashing is enabledMarcin Juszkiewicz1-1/+1
INFO:kolla.common.utils.base:Parent lastest layer is: sha256:75835a67d1341bdc7f4cc4ed9fa1631a7d7b6998e9327272afea342d90c4ab6d ERROR:kolla.common.utils.base:Unknown error when building Traceback (most recent call last): File "/home/hrw/devel/linaro/17.12/kolla/kolla/image/build.py", line 598, in builder self.squash() File "/home/hrw/devel/linaro/17.12/kolla/kolla/image/build.py", line 619, in squash tmp_dir=self.conf.squash_tmp_dir) File "/home/hrw/devel/linaro/17.12/kolla/kolla/common/utils.py", line 72, in squash ex.stdout) AttributeError: 'CalledProcessError' object has no attribute 'stdout' stdout was added in Python 3 as alias for output Change-Id: I7a6cef2ef6201d6b34c640bd6d1c7762c8bf5611
2018-10-22Merge "Improve pep8 checking along with hacking"Zuul1-0/+35
2018-10-25build: remove link to failed log before creatingMarcin Juszkiewicz1-3/+9
Kolla allows to create separate logs per image. It also makes very useful symlinks to those builds which fail. But it fails to do that on next builds: ERROR:kolla.common.utils:aodh-base Failed with status: error Traceback (most recent call last): File "./tools/build.py", line 40, in <module> sys.exit(main()) File "./tools/build.py", line 30, in main statuses = build.run_build() File "/home/hrw/devel/kolla/kolla/image/build.py", line 1333, in run_build results = kolla.summary() File "/home/hrw/devel/kolla/kolla/image/build.py", line 1037, in summary "000_FAILED_%s.log" % name)) FileExistsError: [Errno 17] File exists: 'aodh-base.log' -> 'logs/debian-source-buster/000_FAILED_aodh-base.log' Change-Id: I85132bbace63c8b386f69ddb758a3b52e52c0ef0
2018-10-11Merge "Add crane docker image"Zuul2-1/+10
2018-10-09Improve pep8 checking along with hackingconfi-surya1-0/+35
This change will help to check the function _() is used but not imported. And the gates will check this missing in the next time. Change-Id: Ic1dd25e99c3db9fc8782a5f0977679978e274191
2018-09-21DO not install ceilometer from git in n-server-opendaylightEduardo Gonzalez1-4/+0
Ceilometer is being installed from pip in networking-odl. Installing from git was a workaround to fix a build error. This change should be backported to rocky along with a networking-odl version upgrade. Depends-On: If4f0e952dc3b4577c5e21f6a9d0bc13a0f02e66c Change-Id: I181a6e7b7014c7c5f47829d6a738446fe541f05f