summaryrefslogtreecommitdiff
path: root/docker/base
AgeCommit message (Collapse)AuthorFilesLines
2020-10-23base: use Victoria repos for Debian/x86-64Marcin Juszkiewicz1-3/+3
Change-Id: Ie5ae119dcf31e05112405c8a307bcd2613d45de8
2020-10-05Be strict about errors in startRadosław Piliszek2-0/+6
Make start.sh run with pipefail and nounset to avoid common errors in the start scripts and detect them early. Httpd code had to be patched to allow it to pass on Debuntu. Also fix the two missed applications of httpd to make sure all its path are covered. And also fix Horizon's ENABLE_ZAQAR - K-A does not use Zaqar. Yet another - Horizon's settings_bundle. :-) Finally, fix Neutron for Debuntu (KOLLA_LEGACY_IPTABLES). Change-Id: I39b8d78f6758df1f92b8b0d2c06ea99b038b843b Depends-On: https://review.opendev.org/711923
2020-10-01Merge "Debian: use QEMU 5.0 from buster-backports"Zuul1-0/+5
2020-09-21create 'add_binary_source_envs' macro and use itMarcin Juszkiewicz1-2/+0
There is small subset of images where we need to know which install_type or install_metatype is used. So add them only there (and their children). Change-Id: Ib7d5e36b958d6c8daf2989df32e29fa24b46c62a Implements: blueprint infra-images
2020-09-17Improve pip install process for offline deployment.Gaël THEROND (Fl1nt)1-0/+2
* "Use distribution-provided pip" * "Use python's pip module invocation method" * "Install pip earlier in order to avoid multiple installation" * "Remove pip_version variable requirement and call" Change-Id: Id0e738044a1931f9d611a7281a48ea4a593f1cf1 Closes-bug: #1893204
2020-08-28Fix kolla_set_configs --check with a directoryMark Goddard1-5/+6
There are several issues with kolla_set_configs --check: 1. We calculate the destination path incorrectly when comparing a file in a directory, due to passing arguments to os.path.relpath in the wrong order 2. For directories that have not changed, we also attempt to compare them as files, which fails when they are open()ed. 3. If the config JSON does not have a config_files key, it fails with a KeyError. The first two issues affect the fluentd container, which specifies directories as the source, without using a glob. The third affects OVN containers. This patch fixes these issues. Closes-Bug: #1890567 Change-Id: I8921befe51da4282121443849177a7ca5ebe8822
2020-08-24Debian: use QEMU 5.0 from buster-backportsMarcin Juszkiewicz1-0/+5
This will allow us to make sure of all updates. 'qemu-kvm' got dropped in Debian Change-Id: If09a8188030baa284dd353b1c3f830d78c5091b7
2020-08-07ubuntu: move to 20.04 FocalMarcin Juszkiewicz3-26/+26
There is a time once every 2 years when ubuntu team releases new LTS release. And then UCA joins with binary packages for current OpenStack development cycle. It is this time for Ubuntu 20.04 'focal'. Depends-On: https://review.opendev.org/745156 Change-Id: I045aa6b4b4fd83fbe7d1fda89549f0ef1e88ec12
2020-07-22Merge "fluentd: migrate to td-agent 4 where possible"Zuul2-1/+2
2020-07-20fluentd: migrate to td-agent 4 where possibleMarcin Juszkiewicz2-1/+2
td-agent 4 got released for all distributions we support. For both x86-64 and aarch64 architectures. Change-Id: I86ecdc1ac45dfd76b94a34d1b837f7c0bc975dcd
2020-07-10Merge "Upgrade to Logstash 6"Zuul1-4/+1
2020-07-07Upgrade to Logstash 6Doug Szumski1-4/+1
Elasticsearch and Kibana 6 are used on all distros, but Logstash is still pinned at 2 which is not compatible. See the product compatibility matrix [1]. [1] https://www.elastic.co/support/matrix#matrix_compatibility Partial-Bug: #1884090 Change-Id: I1579e762bcfb07f0baa73507eb9955ae2f83c4ec
2020-07-07Remove opendaylight imageMichal Nasiadka3-10/+0
It has been deprecated in Ussuri cycle. Change-Id: I6d3174e8b52cb4d1f2eca4d85d506665dafe2406
2020-07-07Merge "Remove sensu images"Zuul1-3/+0
2020-07-06Drop systemd support from nsswitch.conf on RHEL-based distrosMichele Baldessari1-1/+2
A bit like we did for I3e0e86026f5a4a78473bed824cd1682d3a020cd5 we should remove the nss-systemd lookup from containers. The reasons for this are as follows: 1) Just like for I3e0e86026f5a4a78473bed824cd1682d3a020cd5 when this nss module is triggered it tries to talk to dbus. It triggers a bunch of selinux denials and it makes little sense to open all containers to talk to dbus. In particular, if a container is run as non-privileged and bind-mounts /run from the host, we will hit selinux denials like the following: type=USER_AVC msg=audit(1592337775.860:74119): pid=1284 uid=81 auid=4294967295 ses=4294967295 subj=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 msg='avc: denied { send_msg } for msgtype=method_call interface=org.freedesktop.DBus member=Hello dest=org.freedesktop.DBus spid=406228 scontext=system_u:system_r:container_t:s0:c162,c886 tcontext=system_u:system_r:system_dbusd_t:s0-s0:c0.c1023 tclass=dbus permissive=0 exe="/usr/bin/dbus-daemon" sauid=81 hostname=? addr=? terminal=?'UID="dbus" AUID="unset" SAUID="dbus" 2) It just makes little sense in a kolla-world to have containers talk to dbus/systemd and it saves us some time when a lookup triggers the systemd module for whatever reason. Especially because the nss-systemd module does a few things which are not useful in a container (ensures that the root and nobody users and groups remain resolvable, SystemD's DynamicUser= feature, provide Lookup API via Varlink) The sed regex gives us the wanted results: $ diff -u /etc/nsswitch.conf.orig /etc/nsswitch.conf --- /etc/nsswitch.conf.orig 2020-06-19 07:18:10.974580755 +0000 +++ /etc/nsswitch.conf 2020-06-19 07:20:12.260230103 +0000 @@ -53,9 +53,9 @@ # group: db files # In order of likelihood of use to accelerate lookup. -passwd: sss files systemd +passwd: sss files shadow: files sss -group: sss files systemd +group: sss files hosts: files dns myhostname services: files sss netgroup: sss Related-Bug: #1883849 Change-Id: I81e5b7abf4571fece13a029e25911e9e4dece673
2020-07-06Remove sensu imagesMarcin Juszkiewicz1-3/+0
They have been deprecated in Ussuri [1]. [1]: https://review.opendev.org/#/c/711636/ Change-Id: I0cfde46c29eedce77c70c1c677220814a801ff3a
2020-07-01Merge "CentOS/AArch64: RabbitMQ is back!"Zuul2-7/+4
2020-06-26Merge "Change lang package block order"Zuul1-13/+13
2020-06-23CentOS/AArch64: RabbitMQ is back!Marcin Juszkiewicz2-7/+4
CentOS 8.2 has Erlang and RabbitMQ available in 'messaging/rabbitmq-38' repository. We use it to grab Erlang while RabbitMQ comes from upstream (like on x86-64). Change-Id: I2559267d120081f2e5eabc9d966b019517a5ad5d
2020-06-17Merge "base/centos: take care of whitespaces"Zuul1-12/+9
2020-06-12Change lang package block orderGaël THEROND1-13/+13
Fix offline installation of language pack packages. Change-Id: I9f4a21bbf1c8383e21e59350206aba3424602270 Closes-bug: #1883233
2020-06-02Use CentOS official mirrors for Ceph packagesAlfredo Moralejo2-21/+2
It's still using temporary mirror in RDO infra, but now that packages are properly synced to CentOS mirrors, let's switch to use it. Change-Id: I913efffe6a1d8a0210b1158261c77d0d45ac3147
2020-05-17base/centos: take care of whitespacesMarcin Juszkiewicz1-12/+9
Let's get rid of this warning: Change-Id: I121e2ecb30ec6e8d1b6d88d9b921894438c3e094 INFO:kolla.common.utils.base:ESC[91m[WARNING]: Empty continuation line found in: INFO:kolla.common.utils.base: RUN dnf -y install centos-release-opstools epel-release dnf-plugins-core && dnf config-manager --enable PowerTools && dnf config-manager --disable centos-ceph-nautilus && dnf config-manager --disable centos-nfs-ganesha28 && dnf config-manager --disable influxdb && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-OpsTools && dnf -y distro-sync --security --sec-severity=Important --sec-severity=Critical INFO:kolla.common.utils.base:[WARNING]: Empty continuation lines will become errors in a future release. INFO:kolla.common.utils.base:ESC[0m INFO:kolla.common.utils.base:Step 1/39 : FROM centos:8
2020-05-17CentOS: disable more reposMarcin Juszkiewicz2-1/+3
'messaging-rabbitmq' and 'opstools' are enabled by RDO delorean-deps.repo file 'influxdb' was also enabled Depends-On: https://review.opendev.org/728687 Change-Id: Ibb0a7edc9e5632c1b89a7d52601f55a223b49dfb
2020-04-29Debian: use Ussuri binary packagesMarcin Juszkiewicz3-4/+9
There is a repo with binary packages for Ussuri. Let us use them instead of Train ones. amd64 only Change-Id: I071eebc4f60094d881a68e201e8c3bb6e6742ff5
2020-04-17kibana/debian: use upstream package on all architecturesMarcin Juszkiewicz1-10/+0
Upstream kibana package ships x86_64 binaries of NodeJS. I usually repacked package without them to have something for other architectures. Instead let us install upstream. Then on non-x86 archs we add nodejs from distribution and remove x86-64 binaries. Change-Id: Ia9feac726a60250215b1bc78bf90dc68ac6f956a
2020-04-16Merge "CentOS 8: Switch last mentions of yum to dnf"Zuul1-0/+2
2020-04-16Merge "CentOS 8: enable elasticsearch and kibana images"Zuul1-5/+2
2020-04-15Merge "Remove support for CentOS 7"Zuul3-145/+45
2020-04-15CentOS 8: Switch last mentions of yum to dnfMark Goddard1-0/+2
Change-Id: I31e9742793cfb1abff9749083c9ce86000dae1af Partially-Implements: blueprint centos-rhel-8
2020-04-15CentOS 8: enable elasticsearch and kibana imagesMark Goddard1-5/+2
This is a follow up to I8b52b2630a72393bf4b9c7095fc67db6c36c27fa, which upgraded elasticsearch and kibana to 6.x. It did not enable the repositories or images for CentOS 8 however. This change enables elasticsearch and kibana images for CentOS 8. Change-Id: I7b375e493380c4e3d6b8c7b6f5ebc57c1b73043f Related: blueprint elasticsearch-kibana-version-upgrade
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz3-145/+45
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-04-14Merge "Upgrade Elasticsearch and Kibana to 6.x"Zuul2-7/+5
2020-04-09Merge "Follow up on RabbitMQ 3.8 upgrade"Zuul5-9/+0
2020-04-09Upgrade Elasticsearch and Kibana to 6.xSylvain Baubeau2-7/+5
Start using oss tagged binaries. These binaries contain only features that are available under the Apache 2.0 license. Implements: blueprint elasticsearch-kibana-version-upgrade Co-authored-by: Dincer Celik <hello@dincercelik.com> Change-Id: I8b52b2630a72393bf4b9c7095fc67db6c36c27fa
2020-04-09Merge "base/debian: pin erlang 22 for rabbitmq"Zuul1-0/+5
2020-04-08base/centos: influxdb repo is only on x86-64Marcin Juszkiewicz1-1/+8
Change-Id: I98147939ccfeeb7b3e86b5e33c427372663ecf9b
2020-04-08base/debian: pin erlang 22 for rabbitmqMarcin Juszkiewicz1-0/+5
Without pinning: INFO:kolla.common.utils.rabbitmq: rabbitmq-server : Depends: erlang-base (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or INFO:kolla.common.utils.rabbitmq: erlang-base-hipe (>= 1:21.3) but it is not installable or INFO:kolla.common.utils.rabbitmq: esl-erlang (>= 1:21.3) but it is not installable With pinning image builds. Change-Id: I26bbd081f70ac76bcf45ab4348068e463a313d88
2020-04-06Follow up on RabbitMQ 3.8 upgradeDincer Celik5-9/+0
Change-Id: I2273430b60e7b259cb687e7ec5c9f0885b625e0d
2020-04-06Upgrade RabbitMQ to 3.8Dincer Celik8-10/+59
Upgrade and pin RabbitMQ to 3.8. Upgrade Erlang to 22 to meet requirements: https://www.rabbitmq.com/which-erlang.html Start using bintray repository provided by RabbitMQ. Linaro builds will be used for aarch64. Implements: blueprint rabbitmq-version-upgrade Closes-Bug: #1848452 Change-Id: I3d775fd832f2603181da89009cebc1370a61a023
2020-04-03add dpdk_telemetry and logparser, use centos-release-opstools for C8Piotr Rabiega1-2/+2
Adds collectd-dpdk_telemetry and collectd-logparser packages to collectd RHEL-based image. dpdk_telemetry plugin collects DPDK ethernet device metrics via dpdk_telemetry library. Logparser is plugin for filtering and parsing log messages. Change-Id: I0c7c94e9fae9d11660f938b8d7d6be0f270c972f
2020-03-17base: fix pinning of libvirt for aarch64Marcin Juszkiewicz1-5/+15
Change https://review.opendev.org/#/c/712987/ added pinning for kibana and libvirt. In some cases it fails ;( This version works properly. Change-Id: I18a29dc4144fa53d371a6c5533e35181970429b0
2020-03-13kibana, nova-libvirt: handle it properly for non-x86Marcin Juszkiewicz2-1/+22
Upstream kibana package contains NodeJS x86-64 binaries so can not be used directly on non-x86 architectures. I took upstream packages, removed NodeJS binary from it and added 'nodejs' dependency. Package is present in my Linaro OBS repository where I keep other packages needed for aarch64 kolla run. Via APT pinning I mark them as not wanted so they are not used on any architecture with two exceptions: 1. libvirt - we need fixed version to be able to use ThunderX servers 2. kibana - to be able to run it at all For x86-64 upstream kibana package is used. Closes-bug: #1867365 Change-Id: I456402849022100bde1fffdfbf6292b35690f0f2
2020-03-03Use StorageSIG repos for Ceph in CentOS8Alfredo Moralejo3-46/+16
Storage SIG has built Ceph Nautilus and Ganesha for CentOS8 in CentOS Build System. Let's switch to use them in kolla. Change-Id: Id37dca84c4eb918aaf2d3c036ef5387fe75988dd
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-02-26Actually disable EPEL, and epel-modularMark Goddard1-1/+1
The disable_extra_repos macro accepts a list as its only argument. We were calling it like this to disable EPEL: disable_extra_repos('epel') The macro interpreted this as a request to disable three repos, e, p, l. Thanks Python! Type validation to be improved separately. Additionally, on CentOS 8 the EPEL repository was not included in the repository mapping file, repos.yaml. There is also another EPEL repository on CentOS 8, epel-modular, which is enabled by default after installing epel-release. This change adds mappings for epel and epel-modular repos to repos.yaml, and fixes the disabling of epel in the base image, as well as disabling epel-modular. There are some cases where EPEL is still used (it seemed a bit too easy...), and the repository has been enabled for these images: * bifrost-base (nginx) * ironic-conductor (C7 only, shellinabox) * freezer-base (C7 only, trickle) * gnocchi-base (C8 binary only, python3-boto3) * mariadb (pv) * mongodb (C7 only, mongodb) * nova-spicehtml5proxy (C7 only, spice-html5) * telegraf (C7 only, python2-pip) A few other things were changed: * ironic-conductor does not require the ceph repo * python3-pika is no longer installed in the openstack-base image Related: blueprint remove-epel Change-Id: I3761825239dfc462072383cde6276c4fb3e1bf12
2020-02-04aarch64: enable influxdb and telegraf for Debian/UbuntuMarcin Juszkiewicz1-0/+1
Turns out that upstream provides repos also for aarch64. CentOS one is not usable due to wrong arch name used (arm64 instead of aarch64). Change-Id: I1b4ef1fae0914d6826af5456cc9ea53bb26972ee
2020-01-31Merge "CentOS 8: Use upstream Ceph/master"Zuul2-0/+45
2020-01-30CentOS 8: disable repo_gpgcheck for grafana imageMark Goddard1-1/+0
DNF does not seem to accept keys imported by rpm --import for signing a repo (as opposed to packages). This causes it to prompt during package install, which does not work without a terminal in the build container. We have gpgcheck=1 for the grafana repo, so packages are at least signed. We don't have repo_gpgcheck elsewhere, so it seems reasonable to disable it for grafana. Change-Id: Ice120e8001fd9e8bb37ca4f2df26259cf798ee0e Partially-Implements: blueprint centos-rhel-8
2020-01-30Merge "CentOS 8: base image fixes for RabbitMQ, fluentd & InfluxDB"Zuul3-8/+8