summaryrefslogtreecommitdiff
path: root/kolla/image/build.py
AgeCommit message (Collapse)AuthorFilesLines
2021-02-15sensu: drop Ubuntu supportMarcin Juszkiewicz1-0/+2
Upstream removed Ubuntu repositories. Train/Stein only Change-Id: Ice125e101a689fd3df9d1cd9a093a026f9747a3e
2021-01-27CI: Use Docker proxy for pulls + Ruby fixes + get_pipMark Goddard1-0/+8
For Stein (due to CentOS 7) includes as well: - get_pip macro: fix for Python 2.7 - sensu-client: Pin simpleidn Ruby gem simpleidn Ruby gem started requiring Ruby 2.2. - monasca-grafana: Pin git Ruby gem fpm Ruby gem started requiring git Ruby gem git Ruby gem started requiring Ruby 2.3 - mark helm-repository as unbuildable It no longer builds, it's not used, it's been removed... Change-Id: I0c4d5e1ea16c6677813a334b38b3a22ad811531d Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com> Depends-On: https://review.opendev.org/772501 (cherry picked from commit a8c12def858b57349207cab5fa8dabb3c23bdfa0)
2020-11-06Add mongodb to skipped imagesMichal Nasiadka1-0/+4
Mongodb builds for CentOS and Oraclelinux are failing with missing mongodb package. [0]: https://376645110508c67547f1-711d728cec9366cabf90489c3301c285.ssl.cf1.rackcdn.com/periodic/opendev.org/openstack/kolla/stable/stein/kolla-publish-centos-source/02c19f5/kolla/build/000_FAILED_mongodb.log [1]: https://be16c502bd559ea2be0a-e7edb05e06a1172316eb4206e173039e.ssl.cf5.rackcdn.com/periodic/opendev.org/openstack/kolla/stable/stein/kolla-publish-centos-binary/7906290/kolla/build/000_FAILED_mongodb.log [2]: https://c0896a76e4bfc649b00b-bb1c7e0df0c2b154f674f44976092bb9.ssl.cf5.rackcdn.com/periodic/opendev.org/openstack/kolla/stable/stein/kolla-publish-oraclelinux-source/97b0841/kolla/build/000_FAILED_mongodb.log [3]: https://130e95a9c5888f92af5c-5775ad363b5cad1640e005d0e8356875.ssl.cf2.rackcdn.com/periodic/opendev.org/openstack/kolla/stable/stein/kolla-publish-oraclelinux-binary/31aefed/kolla/build/mongodb.log Change-Id: Ia6e81509379a77009d3d416522ec91ad51d6611b
2020-10-14Bump versions for SteinMark Goddard1-3/+0
Also, make Bifrost buildable again. The longstanding Bifrost issues in Stein have now been fixed [1] for CentOS. [1] https://review.opendev.org/#/c/749014/ Change-Id: I030bbe32bd489c3031b065f74de83c658356d4b2
2020-09-03Fix ironic build issues - LANG relatedMichal Nasiadka1-0/+6
ironic drivers-requirements installation fails with: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 2: ordinal not in range(128) Squashed ,,cherry-pick'' from stable/train - adding LANG block and locale-gen for Ubuntu family in base Dockerfile: https://review.opendev.org/#/c/684808/ https://review.opendev.org/#/c/691835/ https://review.opendev.org/#/c/694099/ Temporarily blocks bifrost building as well - to revert! Change-Id: I79ee884ad35bf5166c9ea303d73416271ff5f637
2020-06-25CI: Install python deps, mark oraclelinux rsyslog as skippedMichal Nasiadka1-0/+3
setuptools is missing from infra image - so it needs to be installed. Copy cat of a kolla-ansible change: https://review.opendev.org/#/c/735808/ Disables rsyslog build on oraclelinux (both source and binary) and tripleoclient (binary). Depends-On: https://review.opendev.org/737829 Change-Id: I6068abcbc0e73eeab77b0aa99983a95adc6defd3
2019-10-16handle push error properlyMarcin Juszkiewicz1-2/+9
If there was some error during pushing then Kolla was greeting with "all went fine" message anyway: INFO:kolla.common.utils.aodh-api:Trying to push the image ERROR:kolla.common.utils.aodh-api:Get http://10.101.16.1:5000/v2/: dial tcp 10.101.16.1:5000: connect: no route to host INFO:kolla.common.utils.aodh-api:Pushed successfully This patch changes that. Now if there is an error during push then proper exception is raised to PushTask and image is marked with PUSH_ERROR status. This way at the end of build it is easy to spot which images did not got pushed to registry: INFO:kolla.common.utils:=========================== INFO:kolla.common.utils:Images that failed to build INFO:kolla.common.utils:=========================== ERROR:kolla.common.utils:base Failed with status: push_error ERROR:kolla.common.utils:nova-api Failed with status: push_error ERROR:kolla.common.utils:nova-base Failed with status: push_error ERROR:kolla.common.utils:nova-compute Failed with status: push_error ERROR:kolla.common.utils:nova-compute-ironic Failed with status: push_error ERROR:kolla.common.utils:nova-conductor Failed with status: push_error Closes-Bug: #1848019 Change-Id: Id2ab97bf4c0dc3423268a0ea435b56f4a65f7196 (cherry picked from commit 52cac09d3d0b8dcdbc8d68a0bcc8092008220309)
2019-10-07build: enable Octavia for Ubuntu/binaryMarcin Juszkiewicz1-1/+0
Change-Id: Icc68b404d8713a9fcf0026374378d1645fe30d52
2019-09-20Fix retries when pushing imagesMark Goddard1-0/+3
Currently the retry mechanism is broken for pushing because the image state gets set to an error state, and is never reset to 'built'. This prevents the PushTask from setting success to True. This change sets the image state to 'built' if the push succeeds, ensuring it overrides any previous failures. Change-Id: I93fc0e383da8fec6b3ca31f8094321c2a0c3af71 Closes-Bug: #1844697 (cherry picked from commit f8ded663891f79c289156ee61d4e02197d80ce7a)
2019-04-13Add config option use_dumb_init to add it to container imagesRabi Mishra1-0/+2
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 (cherry picked from commit fb4cb9efda5a522ba0d837047385b61275d09150)
2019-03-27Add cyborg to kollaBai Yongjun1-0/+6
Because kolla not have cyborg so should add this. Implements: blueprint add-cyborg Change-Id: I497e67e3a754fccfd2ef5a82f13ccfaf890a6fcd
2019-03-21Merge "Introduce clean_package_cache"Zuul1-1/+4
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 Macchi1-1/+4
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-12Add distro_package_manager configurationAlex Schultz1-0/+13
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 Juszkiewicz1-7/+8
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 Schultz1-0/+9
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 Schultz1-0/+9
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
2018-12-27Update hacking versionconfi-surya1-7/+7
Use latest release 1.1.0 and compatible changes w.r.t pep8 Change-Id: Ia3d1166a2746a46591e4e5a04ea91e03ddc28d93
2018-12-19Split placement-api from novaEduardo Gonzalez1-0/+1
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-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-09-21Add crane docker imageDan Prince1-1/+6
Crane is a lightweight 'pull only' container registry implementation. TripleO is aiming to replace our use of docker-distribution with crane for the Undercloud. Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: I59d9521f99243401d7703a3dedc26b5baed2d595
2018-09-06Add a tripleoclient containerDan Prince1-0/+6
We'd like to use this container both interactively (for ad-hoc commands) and also to be able to generate Ansible (via the undercloud/all-in-one installers) for TripleO. Partially-implements: https://blueprints.launchpad.net/tripleo/+spec/zero-footprint Change-Id: Ia4d7fdcb9c96d76e191dcc1a46be095b37189b3e
2018-08-03skipped_images None handlingAttila Fazekas1-3/+4
skip the skipped_images loop when the combination is unknown, or when the skiplist is empty. Change-Id: Ia2dfbb1c80baeaa2eeb4720381e4da6c7b1c85af
2018-07-31Add neutron dragent package for RPM binary buildsEduardo Gonzalez1-2/+0
Change-Id: Ief8f075a57f8e365499fddbca25b1af71ccfc96c Closes-Bug: #1772552
2018-07-26build with --template-only to not require running docker serviceJon Schlueter1-1/+6
Add a try/except check and raise excpetion if not --template-only Reason for this is so that you can run kolla_build --template-only on a system with a user that doesn't have permissions to access docker or system may not have docker service running. The template only generation is ok because it doesn't specifically need the docker context Change-Id: I191f3e073d14e9ba5419a8a9b043e8afaa565e2a
2018-07-23Revert "Add networking-odl image to skipped image list"confi-surya1-9/+0
This reverts commit I57594742e0842c0e701b9974046d9d1704446f4b Add ceilometer package into neutron-server-opendaylight container, then it chould be found by pip. Closes-Bug: #1764621 Co-Authored-By: Jeffrey Zhang <zhang.lei.fly@gmail.com> Change-Id: Ibaaf1de0c437ce9d25c93e68ab5a43279c4e60ee
2018-07-16Add support for deploying Monasca ThreshDoug Szumski1-0/+4
Monasca Thresh is a Java topology for Storm which generates alerts from metrics. It depends on Java code in the monasca-common library. In this change we support building the Monasca Thresh Storm topology from source. To enable us to submit the topology to Storm we inherit from the Storm container (rather than the Monasca base image) so that we can use the Storm client. Change-Id: I389af89086cdab6d243c4a4fa65fd157535a5045 Partially-Implements: blueprint monasca-containers
2018-06-30Ability to build container against docker swarmVictor Coutellier1-9/+9
Add a decode=True option during call to dockerAPI in order to build container against recent docker swarm. Closes-Bug: #1779460 Change-Id: I48f041e7ed9dd5a5f410b4eaa081f6f013119d17
2018-06-26kolla-build: Wrap tpl_dict.keys() in a list()Martin Chlumsky1-1/+1
In python 3, tpl_dict.keys() returns a dict_keys object that does not support indexing and is then indexed. Wrap tpl_dict.keys() in a list() so it can be be indexed in python 2 and 3. Change-Id: I17e3bbfc4eeba58e4bdd7fdd1ecdb21baa5c4461 Closes-Bug: 1778781
2018-06-06Merge "Install sensu from centos-opstools"Zuul1-3/+0
2018-06-04Merge "Bump Ubuntu base image to 18.04"Zuul1-0/+4
2018-05-31Install sensu from centos-opstoolsMartin André1-3/+0
This should help improve stability overall, in exchange for slightly older package version. Cap all the sensu plugins to their known major version that works with the ruby interpreter shipped with the current version of rhel/centos/oraclelinux -- currently ruby 2.0. All sensu plugins use semantic versioning so we're assured they don't introduce breaking changes in the capped major version. Change-Id: Ic5ca679c40da3e466433b0e04f762d2bbffbf156 Closes-Bug: #1774123
2018-05-30Merge "Fix image push for python3"Zuul1-6/+5
2018-05-30Put upper limit on cmd2 in kolla-toolboxMartin André1-9/+0
This fixes an issue with cmd2 >= 0.9.0 requiring python3. Change-Id: I08b606980cb796a6b884e69b3e6749edbdd7cf37 Closes-Bug: #1773938
2018-05-30Unblock gateMartin André1-0/+12
Add kolla-toolbox and sensu-base to skip list to unblock gate. Then we can merge the proper fix and remove the images from skip list. Change-Id: I34285fffc7a3542007161d2e10e713756710b4ca Related-Bug: #1773938 Related-Bug: #1774123
2018-05-26Bump Ubuntu base image to 18.04Jeffrey Zhang1-0/+4
Ubuntu 18.04 has been released. We need upgrade to it this cycle. Changes made in this patch - Bump ubuntu repo from xenial to bionic. Some repos do not have bionic packages, so still using xenial repos. - Drop mariadb, percona and nfs-ganesha repo, because these packages are already provided by Ubuntu official repo. - Since qdrouterd does not have bionic repo and xenial packages does not work on Ubuntu bionic, just add it into ignore image list. - Use python-rtslib-fb and targetcli-fb rather than python-rtslib and targetcli - use xen-utils package name rather than with package version one. - Seems unsigned repo won't work on Ubuntu bionic, stop using infra mirrored unsigned repo in gate building job. Needed-By: https://review.openstack.org/568728 Implement blueprint: ubuntu-bionic Change-Id: I4e3b0ca669cfbf6316bf591f2d8428fa1a0d6182
2018-05-25Merge "Create symlinks for failed builds logs"Zuul1-0/+4
2018-05-16Fix image push for python3Michal Nasiadka1-6/+5
Rework push_image function to use docker client push function with decode=True, to decode automatically to dict. Change-Id: I28d38e968c3809a1074347271e49dc07dc861f11 Closes-Bug: 1771514
2018-05-14build: remove info that image squash support is disabledMarcin Juszkiewicz1-2/+0
We do not tell that optionX or optionY is disabled so why we have to inform that image squash is disabled? This is an option which has to be enabled and then informing that it is enabled has sense. Change-Id: I14b9b02e3cb290128d9f7673df8efe61aaa08c31
2018-05-08Create symlinks for failed builds logsMartin André1-0/+4
This allows to know which image failed to build without having to parse the huge job-output.txt file. This commit creates a convenient 000_FAILED_image_name.log symlink to the relevant log files when kolla is configured to output to a log directory. This creates symlinks only for the parent image with error, i.e. it skips images that failed to build because of parent error. Change-Id: I05954e2335dc3fac469276809c91f9c87e3ecab2
2018-04-20Add network_mode for image buildingAlex Schultz1-0/+1
Add the ability to specify a different network_mode when running the image builds. Under the covers the default is to use bridge networking but if that is unavailable or a user would like to specify a different networking method they can now do so using the [DEFAULT]\network_mode configuration. Change-Id: I1d2398273b57ca4d52bbfacbc896ffecc58bc54b
2018-04-17Fix the gateconfi-surya1-0/+11
Skiping neutron-server-opendaylight image build to run the gate Change-Id: I57594742e0842c0e701b9974046d9d1704446f4b
2018-03-27Add support for installing binary packages for senlinZhongShengping1-4/+0
There are senlin binary packages on redhat[1] and ubuntu systems[2]. [1]https://trunk.rdoproject.org/centos7-master/puppet-passed-ci/openstack-senlin-api-5.0.1-0.20180324005415.00641ad.el7.centos.noarch.rpm [2]http://ubuntu-cloud.archive.canonical.com/ubuntu/pool/main/s/senlin/senlin-api_5.0.0-0ubuntu1~cloud0_all.deb Closes-Bug: #1759094 Change-Id: Ic9ffe563924511edf80f0eeb2df3018a1111bb35
2018-03-21Add networking-baremetalHarald Jensas1-0/+2
* Adding Dockerfile to build image with ironic-neutron-agent. * Add ``neutron-base-plugin-networking-baremetal`` in kolla/common/config.py to enable building neutron with baremetal plugin. Since the ML2 mechanism driver and L2 Agent is in the same python package, the source install will include the ironic-neutron-agent as part of neutron-base. Change-Id: I232dcf44c8a56c268610053cf362714d52e6cb93
2018-02-26Update the explicty to explicitlycaoyuan1-1/+1
fix a typo Change-Id: I8067ac07a5bf62dded8dc2ea2c2c74c2375ad3c5