Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .zuul.d/base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@
- name: primary
label: centos-8-stream

- nodeset:
name: kolla-centos-9-stream
nodes:
- name: primary
label: centos-9-stream

- nodeset:
name: kolla-ubuntu-focal
nodes:
Expand All @@ -78,6 +84,12 @@
- name: primary
label: centos-8-stream-arm64

- nodeset:
name: kolla-centos-9-stream-aarch64
nodes:
- name: primary
label: centos-9-stream-arm64

- nodeset:
name: kolla-debian-bullseye-aarch64
nodes:
Expand Down
33 changes: 33 additions & 0 deletions .zuul.d/centos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,40 @@
jobs:
- kolla-build-centos8s-binary
- kolla-build-centos8s-source
- kolla-build-centos9s-source
- kolla-ansible-centos8s-source
- kolla-ansible-centos8s-binary
- kolla-ansible-centos9s-source:
vars:
kolla_python_version: "3.9"
- kolla-ansible-centos8s-source-upgrade
check-arm64:
jobs:
- kolla-build-centos8s-source-aarch64
- kolla-build-centos9s-source-aarch64
gate:
jobs:
- kolla-build-centos8s-source
- kolla-build-centos9s-source
- kolla-ansible-centos8s-source
- kolla-ansible-centos9s-source:
vars:
kolla_python_version: "3.9"
- kolla-ansible-centos8s-source-upgrade
periodic:
jobs:
- kolla-publish-centos8s-source-quay
- kolla-publish-centos8s-binary-quay
- kolla-publish-centos8s-source-quay
periodic-weekly:
jobs:
- kolla-publish-centos8s-source-dockerhub
- kolla-publish-centos8s-binary-dockerhub
- kolla-publish-centos8s-source-quay
experimental:
jobs:
- kolla-build-no-infra-wheels-centos8s-source
- kolla-build-no-infra-wheels-centos9s-source
- kolla-ansible-centos8s-source-bifrost:
files: ^docker\/(base|bifrost|openstack-base)\/.*
# Test rabbitmq & mariadb changes in multinode ceph jobs.
Expand Down Expand Up @@ -93,12 +105,25 @@
base_distro: centos
install_type: source

- job:
name: kolla-build-centos9s-source
parent: kolla-base
nodeset: kolla-centos-9-stream
vars:
base_distro: centos
install_type: source

- job:
name: kolla-build-centos8s-source-aarch64
parent: kolla-build-centos8s-source
nodeset: kolla-centos8-stream-aarch64
voting: false

- job:
name: kolla-build-centos9s-source-aarch64
parent: kolla-build-centos9s-source
nodeset: kolla-centos-9-stream-aarch64

- job:
name: kolla-publish-centos8s-source-dockerhub
parent: kolla-build-centos8s-source
Expand Down Expand Up @@ -128,3 +153,11 @@
vars:
base_distro: centos
install_type: source

- job:
name: kolla-build-no-infra-wheels-centos9s-source
parent: kolla-build-no-infra-wheels-base
nodeset: kolla-centos-9-stream
vars:
base_distro: centos
install_type: source
65 changes: 54 additions & 11 deletions docker/base/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -56,20 +56,32 @@ COPY dnf.conf /etc/dnf/dnf.conf
{% endblock %}

#### BEGIN REPO ENABLEMENT
{#
Repo files not available for CentOS Stream 9:
'elasticsearch.repo', # signed with SHA1 key https://github.com/elastic/elasticsearch/issues/85876
#}
{% set base_yum_repo_files = [
'elasticsearch.repo',
'grafana.repo',
'mariadb.repo',
'proxysql.repo',
'rabbitmq_rabbitmq-server.repo',
'td.repo',
] %}

{% if base_distro == "centos" and base_distro_tag.startswith('stream8') %}
{% set base_yum_repo_files = base_yum_repo_files + [
'elasticsearch.repo',
] %}
{% endif %}

{% set base_yum_url_packages = [
] %}

{% set base_yum_repo_keys = [
{#
SHA1 keys are not supported in RHEL9: https://github.com/rpm-software-management/rpm/issues/1977
'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
'https://packages.grafana.com/gpg.key',
#}
{% set base_yum_repo_keys = [
'https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB',
'https://repo.proxysql.com/ProxySQL/repo_pub_key',
'https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc',
Expand All @@ -79,7 +91,6 @@ COPY dnf.conf /etc/dnf/dnf.conf
{% if base_arch == 'x86_64' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'influxdb.repo',
'mariadb.repo',
'rabbitmq_rabbitmq-erlang.repo',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
Expand All @@ -91,11 +102,10 @@ COPY dnf.conf /etc/dnf/dnf.conf
{% elif base_arch == 'aarch64' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'hrw-copr-erlang-for-rabbitmq.repo',
'mariadb-aarch64.repo',
'mariadb.repo',
] %}

{% set base_yum_repo_keys = base_yum_repo_keys + [
'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc',
] %}
{% endif %}

Expand Down Expand Up @@ -143,23 +153,53 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
{% set base_centos_yum_repo_keys = [
] %}

{% if base_distro == 'centos' %}

{% if base_distro_tag.startswith('stream9') %}

{% set base_centos_yum_repo_packages = [
'centos-release-openstack-yoga',
'centos-release-opstools',
'epel-release',
] %}

{% else %}

{% set base_centos_yum_repo_packages = [
'centos-release-nfv-extras',
'centos-release-openstack-yoga',
'centos-release-ceph-pacific',
'centos-release-nfv-openvswitch',
'centos-release-opstools',
'epel-release',
] %}

{% endif %}

{% endif %}

# We need 'dnf-plugins-core' for 'dnf config-manager'
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
'dnf-plugins-core'
] %}
{% set base_centos_yum_repos_to_enable = [
] %}

# FIXME(hrw): entries not starting with 'centos-' (and 'centos-nfv-ovs') are
# from delorean or rdo-release-* package
# https://review.rdoproject.org/r/c/rdo-infra/ansible-role-dlrn/+/33241
{% if base_distro == 'centos' %}

{% if base_distro_tag.startswith('stream9') %}

{% set base_centos_yum_repos_to_disable = [
'centos-ceph-pacific',
'centos-nfv-openvswitch',
'centos-opstools',
'centos-rabbitmq-38',
'epel',
'influxdb',
] %}

{% else %}

{% set base_centos_yum_repos_to_disable = [
'centos-advanced-virtualization',
'centos-ceph-pacific',
Expand All @@ -168,9 +208,12 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
'centos-opstools',
'centos-rabbitmq-38',
'epel',
'epel-modular',
] %}

{% endif %}

{% endif %}

{% if base_arch == 'x86_64' %}
{% set base_centos_yum_repos_to_disable = base_centos_yum_repos_to_disable + [
'influxdb',
Expand All @@ -197,9 +240,9 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen

{% block base_redhat_binary_versionlock %}{% endblock %}

{# NOTE(hrw): CentOS Stream 9 has curl-minimal, Rocky Linux 9 has curl so we do not install any #}
{% set base_centos_packages = [
'ca-certificates',
'curl',
'dumb-init',
'findutils',
'hostname',
Expand Down
6 changes: 0 additions & 6 deletions docker/base/mariadb-aarch64.repo

This file was deleted.

2 changes: 1 addition & 1 deletion docker/base/mariadb.repo
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[mariadb]
name = MariaDB Server
baseurl = https://dlm.mariadb.com/repo/mariadb-server/10.6/yum/rhel/8/x86_64
baseurl = https://dlm.mariadb.com/repo/mariadb-server/10.6/yum/rhel/$releasever/$basearch
gpgcheck = 1
enabled = 0
module_hotfixes = 1
1 change: 1 addition & 0 deletions docker/base/rabbitmq_rabbitmq-erlang.repo
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[rabbitmq_rabbitmq-erlang]
name=rabbitmq_rabbitmq-erlang
# https://www.rabbitmq.com/install-rpm.html lists "el/8" for CentOS Stream 9
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
gpgcheck=1
enabled=0
6 changes: 6 additions & 0 deletions docker/bifrost/bifrost-base/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' && /bin/fa

{% elif install_type == 'source' %}

{% set bifrost_base_packages = [
'cpio',
] %}

{{ macros.install_packages(bifrost_base_packages | customizable("packages")) }}

ENV VENV /var/lib/kolla/venv

{% set bifrost_base_pip_packages = [
Expand Down
16 changes: 13 additions & 3 deletions docker/collectd/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'collectd-dbi',
'collectd-disk',
'collectd-dns',
'collectd-generic-jmx',
'collectd-ipmi',
'collectd-log_logstash',
'collectd-logparser',
'collectd-mcelog',
'collectd-memcachec',
'collectd-mysql',
'collectd-netlink',
'collectd-openldap',
Expand All @@ -56,15 +54,27 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'collectd-write_prometheus',
] %}

{% if not base_distro_tag.startswith('stream9') %}
{% set collectd_packages = collectd_packages + [
'collectd-generic-jmx',
'collectd-memcachec'
] %}
{% endif %}

{% if base_arch =='x86_64' %}
{% set collectd_packages = collectd_packages + [
'collectd-hugepages',
'collectd-iptables',
'collectd-pcie-errors',
'collectd-pmu',
'collectd-rdt',
'collectd-turbostat'
] %}

{% if not base_distro_tag.startswith('stream9') %}
{% set collectd_packages = collectd_packages + [
'collectd-iptables'
] %}
{% endif %}
{% endif %}

{% endif %}
Expand Down
11 changes: 11 additions & 0 deletions docker/cron/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'cronie',
'logrotate'
] %}

{% if base_distro_tag.startswith('stream9') %}
# NOTE(hrw): In RHEL 9 family it is done by systemd timer, we want cron to
# handle it.
COPY logrotate /etc/cron.daily/logrotate
{% endif %}

{% elif base_package_type == 'deb' %}
{% set cron_packages = [
'cron',
Expand All @@ -21,7 +28,11 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build

{{ macros.install_packages(cron_packages | customizable("packages")) }}

{% if base_distro_tag.startswith('stream9') %}
COPY extend_start_el9.sh /usr/local/bin/kolla_extend_start
{% else %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
{% endif %}
RUN chmod 755 /usr/local/bin/kolla_extend_start

{% block cron_footer %}{% endblock %}
Expand Down
21 changes: 21 additions & 0 deletions docker/cron/extend_start_el9.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

CRON_LOGROTATE_CURRENT_PATH="$(find /etc/cron* -name logrotate)"
CRON_LOGROTATE_CURRENT_SCHEDULE=$(echo "${CRON_LOGROTATE_CURRENT_PATH}" | sed -r 's/(.*)(hourly|daily|weekly|monthly)(.*)/\2/g')

if [ -z $CRON_LOGROTATE_CURRENT_PATH ]; then
echo "logrotate is not handled by cron"
else
# Pass only for hourly|daily|weekly|monthly
if [[ "${KOLLA_LOGROTATE_SCHEDULE:-undefined}" =~ hourly|daily|weekly|monthly ]]; then

CRON_LOGROTATE_DESIRED_PATH="/etc/cron.${KOLLA_LOGROTATE_SCHEDULE}/logrotate"

if [[ "${CRON_LOGROTATE_CURRENT_PATH}" != "${CRON_LOGROTATE_DESIRED_PATH}" ]]; then
mv ${CRON_LOGROTATE_CURRENT_PATH} ${CRON_LOGROTATE_DESIRED_PATH}
CRON_LOGROTATE_CURRENT_SCHEDULE="${KOLLA_LOGROTATE_SCHEDULE}"
fi
fi

echo "[i] Cron schedule for logrotate is currently set to: ${CRON_LOGROTATE_CURRENT_SCHEDULE}."
fi
18 changes: 18 additions & 0 deletions docker/cron/logrotate
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh

# skip in favour of systemd timer
if [ -d /run/systemd/system ]; then
exit 0
fi

# this cronjob persists removals (but not purges)
if [ ! -x /usr/sbin/logrotate ]; then
exit 0
fi

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit $EXITVALUE
5 changes: 3 additions & 2 deletions docker/iscsid/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(iscsid_packages | customizable("packages")) }}

COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start \
&& rm /etc/iscsi/initiatorname.iscsi
# NOTE(hrw): CentOS Stream 9 lacks initiatorname.iscsi file
RUN chmod 644 /usr/local/bin/kolla_extend_start \
&& rm -f /etc/iscsi/initiatorname.iscsi

{% block iscsid_footer %}{% endblock %}
{% block footer %}{% endblock %}
Loading