summaryrefslogtreecommitdiff
path: root/kolla/image/build.py
AgeCommit message (Collapse)AuthorFilesLines
2022-10-07Drop executable perms from non-executablesRadosław Piliszek1-0/+0
It does not make much sense to have them there. TrivialFix Change-Id: If66d264dc8cc366c9f51bfe36f96dd64d4c68d9e
2022-10-07Merge "do not play with PROJECT_ROOT in build.py"Zuul1-20/+5
2022-10-06do not play with PROJECT_ROOT in build.pyMarcin Juszkiewicz1-20/+5
PROJECT_ROOT mangling is already done in kolla/cmd/build.py (which is called as 'kolla-build' or 'tools/build.py' or directly) so it is not needed here. Now we can sort imports and drop not needed ones. Change-Id: Iac6ea537491e5c00ce6fb4b4e8f07a9124e9fa8b
2022-10-06drop shebang from Python filesMarcin Juszkiewicz1-2/+0
Only kolla/cmd/build.py is an executable script used by user (either as 'kolla-build' or 'tools/build.py' or directly). Change-Id: Ia1ba2699f425749f9d4f2cdba27caeb97bc3d668
2022-10-06Move KollaWorker stuff to separate fileMarcin Juszkiewicz1-733/+1
As part of kolla/image/ refactoring we move KollaWorker related classes into own file. Based on patch by Konstantin Yarovoy <konstantin.yarovoy@tietoevry.com> Change-Id: I55c3f6b34631048b2463b02e6ea611d7e4c1a912
2022-10-06Move build related tasks to separate fileMarcin Juszkiewicz1-376/+1
As part of kolla/image/ refactoring we move build related task classes into own file. Based on patch by Konstantin Yarovoy <konstantin.yarovoy@tietoevry.com> Change-Id: I093620679016b37e1664c9fe4cf7559433e744b7
2022-10-06Move status and log related things to separate fileMarcin Juszkiewicz1-22/+3
As part of kolla/image/ refactoring we move status enums/consts into own file. Based on patch by Konstantin Yarovoy <konstantin.yarovoy@tietoevry.com> Change-Id: I940816c7e487f6d5c7abc4446226e2992cf9e63d
2022-10-06Move info about unbuildable images to separate fileMarcin Juszkiewicz1-56/+1
As part of kolla/image/ refactoring we move information about unbuildable images to own file. Like we did with users and sources in past. Based on patch by Konstantin Yarovoy <konstantin.yarovoy@tietoevry.com> Change-Id: I759ab49a3ef488042984067c1eca93e945805678
2022-10-03proxysql: Use almalinux for centos/rocky9Michal Nasiadka1-2/+0
As per https://github.com/sysown/proxysql/issues/3989 Change-Id: If077d60e9efd29fab80f4f5188a4f54015734a92
2022-09-30influxdb: enable on CentOS/AArch64Marcin Juszkiewicz1-1/+0
Change-Id: I468e68db23c6785bd3bfbe65733fe5bf52295fbb
2022-09-30Add RockyLinux 9 supportMichal Nasiadka1-1/+12
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/859570 Change-Id: I7af51d07b8a939c908aa072294061def57dd67de
2022-09-27grafana: ignore SHA1 gpg key on CentOS Stream 9 (and family)Marcin Juszkiewicz1-1/+0
RHEL 9 refuses to use SHA1 gpg keys. Grafana team still did not handled key upgrade: https://github.com/grafana/grafana/issues/41036 Change-Id: Id963271103ce1397b7a5498d032e8f797edfcc70
2022-09-27Move to CentOS Stream 9Marcin Juszkiewicz1-2/+10
OpenStack 'zed' requires Python 3.8+ so RHEL 8 family has to go. This changeset moves to CentOS Stream 9 while move to RockyLinux 9 is planned as final solution. CI moved to CentOS Stream 9 nodes. Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/839715 Change-Id: I113b9984294cf8663d3fc0c8840320e1d40ea731
2022-09-23Merge "ubuntu: enable monasca for x86-64"Zuul1-2/+1
2022-09-14Python 3.8+ has better shutil.copytree()Marcin Juszkiewicz1-10/+1
doc says: > If dirs_exist_ok is false (the default) and dst already exists, a > FileExistsError is raised. If dirs_exist_ok is true, the copying > operation will continue if it encounters existing directories, and files > within the dst tree will be overwritten by corresponding files from the > src tree. So we do not have to copy dirs/files one by one and tell shutil.copytree() to handle everything. Change-Id: I97d9c8261351b8fd88f088c1463cc508e07792e7
2022-09-13ubuntu: enable monasca for x86-64Marcin Juszkiewicz1-2/+1
There is confluent-kafka wheel on Pypi so we can build those images on x86-64. Change-Id: I16a9656641932114e02f6ffa76399c0c4106a90a
2022-08-22Bump minimum docker-py versionDr. Jens Harbott1-7/+0
With version 6.0.0 of the docker python module, their implementation of versioning has changed, making our check for old versions fail. Since version 3.0.0 is from 2018, we should be safe to assume that as a minimum version though, so we can just get rid of the special handling of older versions. Change-Id: I077b7b5acf2c1f9beb6da06d3555e2ebe30831d1
2022-07-27Move to Ubuntu Jammy (22.04)Michal Nasiadka1-2/+6
mariadb - downloads.mariadb.com doesn't have jammy version, should be there soon - using Ubuntu provided version for now telegraf/collectd - collectd packages missing in Jammy - marked as unbuildable monasca - requires new librdkafka, no wheel for Python 3.10 for now Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/846070 Change-Id: I11b4fbcaba165824252902d0270ce1dbbc3d6e9d
2022-07-01Merge "Change kolla_version LABEL to git sha-1"Zuul1-1/+2
2022-06-21Change kolla_version LABEL to git sha-1Michal Arbet1-1/+2
Downstream users are often building their own custom images from their own forked git. Reasoning can be various - added fixes not merged yet, some customizations and etc. Because of this, it's very usefull to have information about git commit in images, and this is exactly what that patch does. If images are built from pip source, kolla_version LABEL contains kolla version. Change-Id: If81989603185528dae86df52e8f8d0f94cdca85d
2022-06-20disable monasca for AArch64 on all distrosMarcin Juszkiewicz1-4/+2
INFO:kolla.common.utils.monasca-base: Install the latest version of librdkafka from the Confluent repositories, see http://docs.confluent.io/current/installation.html" No more monasca for aarch64. Change-Id: Ice6f1ab4a08d0ef07ce2434bfef704b68e90f9d0
2022-06-20Fix error message when git clone failsMark Goddard1-1/+2
1. There was no %s for the image.name 2. The image name is in the logger, so the source is more useful (which may be a plugin or addition) TrivialFix Change-Id: If95a8a41d2caf6738d4ccb9ddb651a06018743f4
2022-06-02Allow to provide own repos.yaml fileMarcin Juszkiewicz1-0/+2
Several people use Kolla behind firewall/proxy. Internal mirrors are often in use then. We do not provide a way to replace repos.yaml file in an easy way which may lead to complicated solutions or template overrides. This patch adds a way to provide own copy of repos.yaml file. Change-Id: I0b07da22fea27e0ff4e90aaad19e50d84ff9a121
2022-05-29Use the new image naming scheme by defaultRadosław Piliszek1-4/+1
Adds a relevant reno to inform users about the change and the possibility to customise the prefix. Additionally, this patch includes the fix to Ubuntu image builds regarding rabbitmq and erlang. Both the changes are required to fix master CI. Change-Id: I6bc8b489a810849744c8bead6b9e350c5d3e36b7 Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/843752
2022-05-18Fix local sources of git repositoriesRadosław Piliszek1-10/+11
This is I2cbf1f539880d512aa223c3ef3a4b19ee18854ac extended to fix the case when a git repository is used with a git repo. This is probably a rarer use case but, still, we use it in CI for in-review changes testing. Change-Id: I77b0dcd2e9dfd8ea8390a471b80c8954b67ef91b
2022-05-18[bifrost] Force Bifrost to use the correct git branchRadosław Piliszek1-0/+5
Bifrost decides on the branches to use by itself. Early in the cycle, they are often not set correctly and may break our CI. This patch ensures we force Bifrost to use the expected branches, making us independent of Bifrost getting fixed. Change-Id: I33dbca927062284fd7a06ab6db732dd5e2219c40
2022-05-02[publishing] use a new naming schemeRadosław Piliszek1-1/+4
This change switches published images names from the current format <base_distro>-<image_name>:<openstack_release>-<arch_suffix> to a preciser and image-oriented (for better variant listing) format <image_name>:<openstack_release>-<base_distro>-<base_distro_version>-<arch_suffix> Change-Id: I6a4b5c2087b94f96f72aa9d0d0781ff14d3ee6bb
2022-04-21switch to short image names by defaultMarcin Juszkiewicz1-4/+1
We can drop temporary 'use-short-names' argument and make short (kolla/debian-nova-libvirt:master) image names default. Kolla Ansible is using short names now. Change-Id: I153355353cd12aa25adaa9c87438a478748dfb28
2022-04-19add a way to not have 'install_type' in image name (temporary)Marcin Juszkiewicz1-2/+4
--use-short-names argument drops 'install_type' from image names: kolla/debian-openstack-base:14.1.0 This should allow to get rid of '-source' in image names without disrupting CI jobs. Switch publish jobs to use short names so k-a tests will have ready to use images for both long and short names. Change-Id: I29c9d51f4b518a4e2d3157ab5d6cc434fb83f2ef
2022-04-14drop install_type almost everywhereMarcin Juszkiewicz1-65/+60
The only place where it stays is argument parsing where it gets ignored. Hardcoded to 'source' to make merging both kolla and kolla-ansible changes easier. Change-Id: I6890a7ec7baf507f8acd75b42bbd0fb17c2e4511 Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/837620
2022-04-14Fix image builds with sources using a type=gitMarcin Juszkiewicz1-1/+11
A recent change to git [1] introduced a new behaviour to work around a CVE [2] that disallows any git operations in directories not owned by the current user. This may seem unrelated to installation, but it plays havoc with PBR, which calls out to git to get to get revision history. So if you are "pip install"-ing from a source tree you don't own, the PBR git calls in that tree now fail and the install blows up. When using type=source, kolla clones the repository, then creates a tarball from it, which is ADDed to the image. The ownership of the files in the tarball is preserved, which in this case will be the user running kolla-build. Since the Docker build runs as root, we hit the PBR issue. Our solution is to make sure that any tarball we generate from git sources have all files owned by root:root so that the root user is able to use git commands when building container images. [1] https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9 [2] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-24765. Closes-Bug: #1969096 Related-Bug: #1968877 Co-Authored-By: Mark Goddard <mark@stackhpc.com> Change-Id: I2cbf1f539880d512aa223c3ef3a4b19ee18854ac
2022-04-12Merge "drop list of images unbuildable for source type"Zuul1-3/+0
2022-04-11Remove duplicate entry in UNBUILDABLE_IMAGESRadosław Piliszek1-1/+0
hacluster-pcs is already in centos, no need to be in centos+aarch64. TrivialFix Change-Id: I9868f73172efedf113c3cc1567098b3439e2a205
2022-04-11Merge "for Zed cycle minimal Python version is 3.8"Zuul1-1/+1
2022-04-11drop list of images unbuildable for source typeMarcin Juszkiewicz1-3/+0
If they are unbuildable then they should be in distro or distro+arch blocks now. Change-Id: I9cd225d3a7fd99fdeaf4926730c95d37f8f7eac7
2022-04-11for Zed cycle minimal Python version is 3.8Marcin Juszkiewicz1-1/+1
When everything fails assume we have Python 3.8 (should never happen). Change-Id: I69033cc910dd8236a470fd130816f2870a9b5b3a
2022-04-11Drop qdrouterd imageMarcin Juszkiewicz1-2/+0
It was marked deprecated in Yoga. Change-Id: Iea1cf9c539a73da625e335d6c1adb6cd71ec93d4
2022-04-11Merge "drop infra_image_prefix"Zuul1-4/+1
2022-04-11Merge "drop infra-rename support"Zuul1-39/+1
2022-04-11drop infra_image_prefixMarcin Juszkiewicz1-4/+1
We have one install_type only now so that infra stuff is not needed anymore. Change-Id: I60d50ba7699d46d001eaef365fb84b0ce8e9b262
2022-04-09Merge "build watcher images"Zuul1-1/+0
2022-04-08drop infra-rename supportMarcin Juszkiewicz1-39/+1
With one type of install type there is no need for renaming infra images. Change-Id: I28b7563e5ce1efac0298a62fee96a9f946f3341b
2022-04-08build watcher imagesMarcin Juszkiewicz1-1/+0
Closes-bug: #1952944 Change-Id: I9d2dd025b2a4805ef1755ebbf10f15018d05f1c7
2022-04-08kolla: drop 'binary' install typeMarcin Juszkiewicz1-42/+0
We no longer support binary images. This patch removes a way to build them. "--install-type" argument has one available option now. Later in cycle it will be ignored. Change-Id: If0e881d253d6a4c89ffe27831a661df321b6d5b6
2022-03-17Merge "Add enabled flag for sources"Zuul1-1/+7
2022-03-16Add enabled flag for sourcesMark Goddard1-1/+7
Sometimes it might be useful to disable a source for an image, e.g. for a plugin that is not used. This may be to reduce image sizes, or restrict the dependencies necessary to build images. This change adds a new 'enabled' option to each source definition. This allows sources, plugins or additions for each source image to be disabled individually. Change-Id: I31ee0744574fb3db96bee2e9f545600de53d9ee4
2022-03-16venus: add log management systemjinyuanliu1-0/+1
This project provides a one-stop solution to log collection, cleaning, indexing, analysis, alarm, visualization, report generation and other needs. Which involves helping operator or maintainer to quickly solve retrieve problems, grasp the operational health of the platform, and improve the level of platform management. https://wiki.openstack.org/wiki/Venus Change-Id: I051fb0f17d97134d89da0b6668879a9b36de10d1
2022-03-10Merge "Add prometheus-msteams image"Zuul1-0/+1
2021-12-20Drop vmtpRadosław Piliszek1-2/+0
Details in the attached reno. Change-Id: I1a8363da02d98255fce31749f4c9838088443a67
2021-12-05Debian: enable building Bifrost images on x86-64Marcin Juszkiewicz1-2/+0
https://review.opendev.org/c/openstack/bifrost/+/806328 fixed building of Bifrost Debian images. On AArch64 Bifrost tries to install x86-64 grub. Change-Id: I8e0c55e7995e5269f285c6d9c75e8c4b7b85a38b