diff --git a/.zuul.d/debian.yaml b/.zuul.d/debian.yaml index 715e7acdc7..2a2e526a34 100644 --- a/.zuul.d/debian.yaml +++ b/.zuul.d/debian.yaml @@ -5,7 +5,8 @@ - kolla-build-debian - kolla-build-debian-podman - kolla-ansible-debian - - kolla-ansible-debian-upgrade + - kolla-ansible-debian-upgrade: + voting: false check-arm64: jobs: - kolla-build-debian-aarch64 @@ -15,7 +16,7 @@ - kolla-build-debian - kolla-build-debian-podman - kolla-ansible-debian - - kolla-ansible-debian-upgrade + # - kolla-ansible-debian-upgrade periodic: jobs: - kolla-publish-debian-quay diff --git a/doc/source/contributor/versions.rst b/doc/source/contributor/versions.rst index da02236f84..9d4e2624f9 100644 --- a/doc/source/contributor/versions.rst +++ b/doc/source/contributor/versions.rst @@ -21,7 +21,7 @@ information about package sources. Logstash 7.x `Logstash install guide`_ MariaDB 10.11 (LTS) `MariaDB Community downloads`_ Galera 26.4 (LTS) `MariaDB Community downloads`_ - OpenSearch 2.x `OpenSearch install guide`_ + OpenSearch 3.x `OpenSearch install guide`_ ProxySQL 2.7.x `ProxySQL repository`_ Rabbitmq 4.0.x - CentOS/Rocky: `Team RabbitMQ 'Cloudsmith' repo (RPM)`_ @@ -42,7 +42,7 @@ information about package sources. .. _`Kibana install guide`: https://www.elastic.co/guide/en/kibana/7.10/install.html .. _`Logstash install guide`: https://www.elastic.co/guide/en/logstash/7.9/installing-logstash.html .. _`TreasureData install guide`: https://www.fluentd.org/download -.. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/ +.. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/ .. _`Team RabbitMQ 'Cloudsmith' repo (Deb)`: https://www.rabbitmq.com/install-debian.html#apt-cloudsmith .. _`Team RabbitMQ 'Modern Erlang' PPA`: https://launchpad.net/~rabbitmq/+archive/ubuntu/rabbitmq-erlang diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 6bd94a2cc8..b3181558cd 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -155,8 +155,8 @@ RUN rm -f /etc/rpm/macros.image-language-conf \ 'centos9-storage', 'epel', 'influxdb', - 'opensearch-2.x', - 'opensearch-dashboards-2.x', + 'opensearch-3.x', + 'opensearch-dashboards-3.x', ] %} {% if base_arch == 'aarch64' %} @@ -249,7 +249,7 @@ RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc \ {% block base_ubuntu_package_sources_list %} {% if base_distro == 'debian' or ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %} -RUN rm -f /etc/apt/sources.list.d/debian.sources +RUN rm -f /etc/apt/sources.list.d/{{ base_distro }}.sources COPY sources.list.{{ base_distro }} /etc/apt/sources.list {% else %} COPY sources.list.{{ base_distro }}.{{ base_arch }} /etc/apt/sources.list @@ -264,7 +264,7 @@ COPY sources.list /etc/apt/sources.list.d/kolla-custom.list RUN apt update \ && apt install -y --no-install-recommends extrepo \ - && extrepo enable openstack_dalmatian \ + && extrepo enable openstack_epoxy \ && apt purge -y extrepo \ && apt --purge autoremove -y \ && apt clean @@ -308,8 +308,8 @@ COPY apt_preferences /etc/apt/preferences.d/kolla-custom {'name': 'grafana', 'url': 'https://rpm.grafana.com/gpg.key'}, {'name': 'influxdb', 'url': 'https://repos.influxdata.com/influxdata-archive_compat.key'}, {'name': 'mariadb', 'url': 'https://downloads.mariadb.com/MariaDB/mariadb-keyring-2019.gpg', 'type': 'gpg'}, - {'name': 'opensearch', 'url': 'https://artifacts.opensearch.org/publickeys/opensearch.pgp'}, - {'name': 'proxysql', 'url': 'https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/repo_pub_key'}, + {'name': 'opensearch', 'url': 'https://artifacts.opensearch.org/publickeys/opensearch-release.pgp'}, + {'name': 'proxysql', 'url': 'https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key'}, {'name': 'treasuredata', 'url': 'https://packages.treasuredata.com/GPG-KEY-td-agent'}, ] %} diff --git a/docker/base/opensearch.repo b/docker/base/opensearch.repo index 19f91c3bcb..63caa75f80 100644 --- a/docker/base/opensearch.repo +++ b/docker/base/opensearch.repo @@ -1,19 +1,19 @@ -[opensearch-2.x] -name=OpenSearch 2.x -baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/yum +[opensearch-3.x] +name=OpenSearch 3.x +baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum enabled=0 repo_gpgcheck=1 gpgcheck=1 -gpgkey=https://artifacts.opensearch.org/publickeys/opensearch.pgp +gpgkey=https://artifacts.opensearch.org/publickeys/opensearch-release.pgp autorefresh=1 type=rpm-md -[opensearch-dashboards-2.x] -name=OpenSearch Dashboards 2.x -baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/yum +[opensearch-dashboards-3.x] +name=OpenSearch Dashboards 3.x +baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum enabled=0 repo_gpgcheck=1 gpgcheck=1 -gpgkey=https://artifacts.opensearch.org/publickeys/opensearch.pgp +gpgkey=https://artifacts.opensearch.org/publickeys/opensearch-release.pgp autorefresh=1 type=rpm-md diff --git a/docker/base/proxysql.repo b/docker/base/proxysql.repo index 938f565219..3c09fa7ffa 100644 --- a/docker/base/proxysql.repo +++ b/docker/base/proxysql.repo @@ -1,6 +1,6 @@ [proxysql] name = ProxySQL -baseurl = https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/almalinux/$releasever -gpgkey = https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/repo_pub_key +baseurl = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/almalinux/$releasever +gpgkey = https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key gpgcheck = 1 enabled = 0 diff --git a/docker/base/sources.list.ubuntu b/docker/base/sources.list.ubuntu index 929aebbc01..f0d1f4e371 100644 --- a/docker/base/sources.list.ubuntu +++ b/docker/base/sources.list.ubuntu @@ -3,11 +3,9 @@ # Default repos deb mirror://mirrors.ubuntu.com/mirrors.txt noble main universe deb mirror://mirrors.ubuntu.com/mirrors.txt noble-updates main universe +deb mirror://mirrors.ubuntu.com/mirrors.txt noble-backports main universe deb mirror://mirrors.ubuntu.com/mirrors.txt noble-security main universe -# Backports have a lower priority and must be explicitly installed to be used -deb http://archive.ubuntu.com/ubuntu/ noble-backports main universe - # We need to add the repo for the updated packages they provide. The main ones # are qemu, libvirt, and openvswitch. deb http://ubuntu-cloud.archive.canonical.com/ubuntu noble-updates/epoxy main diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2 index 0e057871ce..cc8ae1b55b 100644 --- a/docker/kolla-toolbox/Dockerfile.j2 +++ b/docker/kolla-toolbox/Dockerfile.j2 @@ -24,7 +24,7 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq {% if base_package_type == 'rpm' %} {% set kolla_toolbox_packages = [ 'crudini', - 'erlang-26.2.*', + 'erlang-27.*', 'gcc', 'gdisk', 'git', @@ -38,7 +38,7 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq 'openvswitch', 'python3.12', 'python3.12-devel', - 'rabbitmq-server-4.0.*' + 'rabbitmq-server-4.1.*' ] %} {% elif base_package_type == 'deb' %} diff --git a/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu b/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu index f1cc84d9be..977ded074d 120000 --- a/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu +++ b/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu @@ -1 +1 @@ -../rabbitmq/apt_preferences_rabbitmq.debian \ No newline at end of file +../rabbitmq/apt_preferences_rabbitmq.ubuntu \ No newline at end of file diff --git a/docker/mariadb/mariadb-server/backup.sh b/docker/mariadb/mariadb-server/backup.sh index 30796fa4ec..be63cd9388 100644 --- a/docker/mariadb/mariadb-server/backup.sh +++ b/docker/mariadb/mariadb-server/backup.sh @@ -6,49 +6,66 @@ set -o pipefail # Execute a full backup backup_full() { echo "Taking a full backup" - LAST_FULL_DATE=$(date +%d-%m-%Y) + LAST_FULL_DATE=$(date +%d-%m-%Y-%s) + BACKUP_FILE="mysqlbackup-${LAST_FULL_DATE}.qp.xbc.xbs.gz" + BACKUP_PATH="$BACKUP_DIR/full-${LAST_FULL_DATE}" + mkdir -p "$BACKUP_PATH" + mariabackup \ --defaults-file=/etc/mysql/my.cnf \ --backup \ --stream=xbstream \ --history=$LAST_FULL_DATE | gzip > \ - $BACKUP_DIR/mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz - echo $LAST_FULL_DATE > $BACKUP_DIR/last_full_date + "$BACKUP_PATH/$BACKUP_FILE" + + echo "$BACKUP_PATH/$BACKUP_FILE" > "$BACKUP_DIR/last_full_file" } # Execute an incremental backup backup_incremental() { echo "Taking an incremental backup" - if [ -r $BACKUP_DIR/last_full_date ]; then - LAST_FULL_DATE=$(cat $BACKUP_DIR/last_full_date) - fi - if [ -z $LAST_FULL_DATE ]; then - LAST_FULL_DATE=$(date +%d-%m-%Y) + + if [ ! -r "$BACKUP_DIR/last_full_file" ]; then + echo "Error: No full backup file found." + exit 1 fi + + FULL_BACKUP_FILE=$(cat "$BACKUP_DIR/last_full_file") + LAST_FULL_DATE=$(basename "$(dirname "$FULL_BACKUP_FILE")" | sed 's/^full-//') + NOW=$(date +%H-%M-%S-%d-%m-%Y) + INCR_DIR="$BACKUP_DIR/incr-${NOW}-since-${LAST_FULL_DATE}" + mkdir -p "$INCR_DIR" + + TMP_BASEDIR=$(mktemp -d) + echo "Decompressing full backup to temp dir: $TMP_BASEDIR" + gunzip -c "$FULL_BACKUP_FILE" | mbstream -x -C "$TMP_BASEDIR" + mariabackup \ --defaults-file=/etc/mysql/my.cnf \ --backup \ --stream=xbstream \ - --incremental-history-name=$LAST_FULL_DATE \ - --history=$LAST_FULL_DATE | gzip > \ - $BACKUP_DIR/incremental-$(date +%H)-mysqlbackup-$(date +%d-%m-%Y-%s).qp.xbc.xbs.gz + --incremental-basedir="$TMP_BASEDIR" \ + --history="incr-${NOW}" | gzip > \ + "$INCR_DIR/incremental-${NOW}-mysqlbackup-${LAST_FULL_DATE}.qp.xbc.xbs.gz" + + rm -rf "$TMP_BASEDIR" } BACKUP_DIR=/backup/ -cd $BACKUP_DIR +cd "$BACKUP_DIR" -if [ -n $BACKUP_TYPE ]; then - case $BACKUP_TYPE in +if [ -n "${BACKUP_TYPE:-}" ]; then + case "$BACKUP_TYPE" in "full") - backup_full - ;; + backup_full + ;; "incremental") - backup_incremental - ;; + backup_incremental + ;; *) - echo "Only full or incremental options are supported." - exit 1 - ;; + echo "Only full or incremental options are supported." + exit 1 + ;; esac else echo "You need to specify either full or incremental backup options." diff --git a/docker/mariadb/mariadb-server/backup_replica.sh b/docker/mariadb/mariadb-server/backup_replica.sh index 7f86a18a7c..ebdcbf6b0b 100644 --- a/docker/mariadb/mariadb-server/backup_replica.sh +++ b/docker/mariadb/mariadb-server/backup_replica.sh @@ -23,35 +23,48 @@ cd "${BACKUP_DIR}" backup_full() { echo "Taking a full backup" LAST_FULL_DATE=$(date +%d-%m-%Y-%s) + BACKUP_FILE="backup-full-${LAST_FULL_DATE}.mbs.gz" + BACKUP_PATH="${BACKUP_DIR}/full-${LAST_FULL_DATE}" + mkdir -p "${BACKUP_PATH}" + mariabackup \ --defaults-file="${REPLICA_MY_CNF}" \ --backup \ --stream=mbstream \ - --history="${LAST_FULL_DATE}" | gzip > \ - "${BACKUP_DIR}/mysqlbackup-${LAST_FULL_DATE}.qp.mbc.mbs.gz" && \ - echo "${LAST_FULL_DATE}" > "${BACKUP_DIR}/last_full_date" + --history="${LAST_FULL_DATE}" \ + | gzip > "${BACKUP_PATH}/${BACKUP_FILE}" + + echo "${BACKUP_PATH}/${BACKUP_FILE}" > "${BACKUP_DIR}/last_full_file" } # Execute an incremental backup backup_incremental() { - if [ -r "${BACKUP_DIR}/last_full_date" ]; then - LAST_FULL_DATE=$(cat "${BACKUP_DIR}/last_full_date") - else - LAST_FULL_DATE="" - fi - if [ ! -z "${LAST_FULL_DATE}" ]; then - echo "Taking an incremental backup" - mariabackup \ - --defaults-file="${REPLICA_MY_CNF}" \ - --backup \ - --stream=mbstream \ - --incremental-history-name="${LAST_FULL_DATE}" \ - --history="${LAST_FULL_DATE}" | gzip > \ - "${BACKUP_DIR}/incremental-$(date +%H)-mysqlbackup-${LAST_FULL_DATE}.qp.mbc.mbs.gz" - else - echo "Error: Full backup don't exist." + if [ ! -r "${BACKUP_DIR}/last_full_file" ]; then + echo "Error: No full backup file found." exit 1 fi + + FULL_BACKUP_FILE=$(cat "${BACKUP_DIR}/last_full_file") + LAST_FULL_DATE=$(basename "$(dirname "${FULL_BACKUP_FILE}")" | sed 's/^full-//') + NOW=$(date +%H-%M-%S-%d-%m-%Y) + INCR_DIR="${BACKUP_DIR}/incr-${NOW}-since-${LAST_FULL_DATE}" + mkdir -p "${INCR_DIR}" + + # Temp dir for full base restore + TMP_BASEDIR=$(mktemp -d) + + echo "Decompressing full backup to temp dir: ${TMP_BASEDIR}" + gunzip -c "${FULL_BACKUP_FILE}" | mbstream -x -C "${TMP_BASEDIR}" + + mariabackup \ + --defaults-file="${REPLICA_MY_CNF}" \ + --backup \ + --stream=mbstream \ + --incremental-basedir="${TMP_BASEDIR}" \ + --history="incr-${NOW}" \ + | gzip > "${INCR_DIR}/backup-incremental-${NOW}.mbs.gz" + + rm -rf "${TMP_BASEDIR}" } # Retry logic for database queries @@ -119,15 +132,15 @@ if [ -n "${BACKUP_TYPE}" ]; then get_and_set_replica_server case "${BACKUP_TYPE}" in "full") - backup_full - ;; + backup_full + ;; "incremental") - backup_incremental - ;; + backup_incremental + ;; *) - echo "Only full or incremental options are supported." - exit 1 - ;; + echo "Only full or incremental options are supported." + exit 1 + ;; esac else echo "You need to specify either full or incremental backup options." diff --git a/docker/neutron/neutron-l3-agent/Dockerfile.j2 b/docker/neutron/neutron-l3-agent/Dockerfile.j2 index bb36adf176..2787dae5b7 100644 --- a/docker/neutron/neutron-l3-agent/Dockerfile.j2 +++ b/docker/neutron/neutron-l3-agent/Dockerfile.j2 @@ -10,14 +10,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_package_type == 'rpm' %} {% set neutron_l3_agent_packages = [ 'libreswan', - 'radvd', - 'dibbler-client', + 'radvd' ] %} {% elif base_package_type == 'deb' %} {% set neutron_l3_agent_packages = [ 'strongswan', 'radvd', - 'dibbler-client', 'libnetfilter-log1' ] %} {% endif %} diff --git a/docker/proxysql/kolla_proxysql_config_sync b/docker/proxysql/kolla_proxysql_config_sync index d6d531f30e..094642c8a1 100644 --- a/docker/proxysql/kolla_proxysql_config_sync +++ b/docker/proxysql/kolla_proxysql_config_sync @@ -93,14 +93,24 @@ class ProxySQLConfig: rules = list() rule_id = 1 for rule in self.config['mysql_query_rules']: - if rule['schemaname'] not in rules_added: - rules_added.append(rule['schemaname']) + if 'schemaname' in rule: + key = f"schema:{rule['schemaname']}" + elif 'username' in rule: + key = f"user:{rule['username']}" + else: + LOG.warning( + f"Rule without schemaname or username found, skipping: {rule}" + ) + continue + + if key not in rules_added: + rules_added.append(key) rule['rule_id'] = rule_id rules.append(rule) rule_id += 1 else: - LOG.warning("Rule witch schemaname {} already exist, ignoring." - .format(rule['schemaname'])) + LOG.warning("Duplicate rule for {}, ignoring.".format(key)) + self.config['mysql_query_rules'] = rules def _write_dict(self, key, value): diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2 index 194e212f55..3ff00eef7c 100644 --- a/docker/rabbitmq/Dockerfile.j2 +++ b/docker/rabbitmq/Dockerfile.j2 @@ -21,8 +21,8 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq {% if base_package_type == 'rpm' %} {% set rabbitmq_packages = [ - 'erlang-26.2.*', - 'rabbitmq-server-4.0.*' + 'erlang-27.*', + 'rabbitmq-server-4.1.*' ] %} {% elif base_package_type == 'deb' %} diff --git a/docker/rabbitmq/apt_preferences_rabbitmq.debian b/docker/rabbitmq/apt_preferences_rabbitmq.debian index 52b851f65a..0c254e0ac0 100644 --- a/docker/rabbitmq/apt_preferences_rabbitmq.debian +++ b/docker/rabbitmq/apt_preferences_rabbitmq.debian @@ -1,7 +1,7 @@ Package: rabbitmq-server -Pin: version 4.0.* +Pin: version 4.1.* Pin-Priority: 1000 Package: erlang -Pin: version 26.2.* +Pin: version 27.* Pin-Priority: 1000 diff --git a/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu b/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu index 52b851f65a..0c254e0ac0 100644 --- a/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu +++ b/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu @@ -1,7 +1,7 @@ Package: rabbitmq-server -Pin: version 4.0.* +Pin: version 4.1.* Pin-Priority: 1000 Package: erlang -Pin: version 26.2.* +Pin: version 27.* Pin-Priority: 1000 diff --git a/kolla/common/config.py b/kolla/common/config.py index 678b0db539..6038a2dbef 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -40,7 +40,7 @@ OPENSTACK_RELEASE = '2025.1' # This is noarch repository so we will use it on all architectures -DELOREAN_DEPS = "https://trunk.rdoproject.org/centos9-epoxy/" \ +DELOREAN_DEPS = "https://trunk.rdoproject.org/centos9-master/" \ "delorean-deps.repo" # TODO(mandre) check for file integrity instead of downloading from an HTTPS diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml index c549f76c51..d0bfed99f6 100644 --- a/kolla/template/repos.yaml +++ b/kolla/template/repos.yaml @@ -11,8 +11,8 @@ centos: hacluster: "highavailability" influxdb: "influxdb" mariadb: "mariadb" - opensearch: "opensearch-2.x" - opensearch-dashboards: "opensearch-dashboards-2.x" + opensearch: "opensearch-3.x" + opensearch-dashboards: "opensearch-dashboards-3.x" openvswitch: "centos-nfv-openvswitch" opstools: "centos-opstools" proxysql: "proxysql" @@ -30,8 +30,8 @@ centos-aarch64: hacluster: "highavailability" influxdb: "influxdb" mariadb: "mariadb" - opensearch: "opensearch-2.x" - opensearch-dashboards: "opensearch-dashboards-2.x" + opensearch: "opensearch-3.x" + opensearch-dashboards: "opensearch-dashboards-3.x" openvswitch: "centos-nfv-openvswitch" opstools: "centos-opstools" proxysql: "proxysql" @@ -72,23 +72,23 @@ debian: component: "main" gpg_key: "mariadb.gpg" opensearch: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" opensearch-dashboards: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" proxysql: - url: "https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/bookworm/" + url: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/bookworm/" suite: "./" component: "" gpg_key: "proxysql.asc" rabbitmq: url: "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian" - suite: "bullseye" + suite: "bookworm" component: "main" gpg_key: "rabbitmq.gpg" @@ -124,23 +124,23 @@ debian-aarch64: component: "main" gpg_key: "mariadb.gpg" opensearch: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" opensearch-dashboards: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" proxysql: - url: "https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/bookworm/" + url: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/bookworm/" suite: "./" component: "" gpg_key: "proxysql.asc" rabbitmq: url: "https://ppa1.rabbitmq.com/rabbitmq/rabbitmq-server/deb/debian" - suite: "bullseye" + suite: "bookworm" component: "main" # NOTE(mnasiadka): Since rabbitmq is really noarch and community mirror is not # syncing binary-aarch64 - we're using amd64 here. @@ -159,8 +159,8 @@ rocky: hacluster: "highavailability" influxdb: "influxdb" mariadb: "mariadb" - opensearch: "opensearch-2.x" - opensearch-dashboards: "opensearch-dashboards-2.x" + opensearch: "opensearch-3.x" + opensearch-dashboards: "opensearch-dashboards-3.x" openvswitch: "centos-nfv-openvswitch" opstools: "centos-opstools" proxysql: "proxysql" @@ -178,8 +178,8 @@ rocky-aarch64: influxdb: "influxdb" hacluster: "highavailability" mariadb: "mariadb" - opensearch: "opensearch-2.x" - opensearch-dashboards: "opensearch-dashboards-2.x" + opensearch: "opensearch-3.x" + opensearch-dashboards: "opensearch-dashboards-3.x" openvswitch: "centos-nfv-openvswitch" opstools: "centos-opstools" proxysql: "proxysql" @@ -218,17 +218,17 @@ ubuntu: component: "main" gpg_key: "mariadb.gpg" opensearch: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" opensearch-dashboards: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" proxysql: - url: "https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/noble/" + url: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/noble/" suite: "./" component: "" gpg_key: "proxysql.asc" @@ -271,17 +271,17 @@ ubuntu-aarch64: component: "main" gpg_key: "mariadb.gpg" opensearch: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" opensearch-dashboards: - url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt/" + url: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/apt/" suite: "stable" component: "main" gpg_key: "opensearch.asc" proxysql: - url: "https://repo.proxysql.com/ProxySQL/proxysql-2.7.x/noble/" + url: "https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/noble/" suite: "./" component: "" gpg_key: "proxysql.asc" diff --git a/kolla/tests/test_methods.py b/kolla/tests/test_methods.py index dcdc4f4e95..afa21e2ab2 100644 --- a/kolla/tests/test_methods.py +++ b/kolla/tests/test_methods.py @@ -92,7 +92,7 @@ def test_enable_repos_debian_arch(self): expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Types: deb' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " - expectCmd += "echo 'Suites: bullseye' " + expectCmd += "echo 'Suites: bookworm' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Signed-By: /etc/kolla/apt-keys/rabbitmq.gpg' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " @@ -139,7 +139,7 @@ def test_enable_repos_debian_multiple(self): expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Types: deb' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " - expectCmd += "echo 'Suites: bullseye' " + expectCmd += "echo 'Suites: bookworm' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources && " expectCmd += "echo 'Signed-By: /etc/kolla/apt-keys/rabbitmq.gpg' " expectCmd += ">>/etc/apt/sources.list.d/rabbitmq.sources" diff --git a/releasenotes/notes/bug-2111620-e40e1dec6fed309f.yaml b/releasenotes/notes/bug-2111620-e40e1dec6fed309f.yaml new file mode 100644 index 0000000000..e5c9f81987 --- /dev/null +++ b/releasenotes/notes/bug-2111620-e40e1dec6fed309f.yaml @@ -0,0 +1,12 @@ +--- +fixes: + - | + Fixes incremental MariaDB backups by switching to directory-based base backups, + following official Mariabackup recommendations. + `LP#2111620 `__ +upgrade: + - | + Backup files are now stored in timestamped directories and have new filenames. + This does not affect restore, as Kolla Ansible does not support automated restore; + users perform restores manually. A new full backup is recommended after upgrade + to ensure incremental backups work correctly. diff --git a/releasenotes/notes/bug-2112140-41a1924c260e531c.yaml b/releasenotes/notes/bug-2112140-41a1924c260e531c.yaml new file mode 100644 index 0000000000..5fec5c5aa0 --- /dev/null +++ b/releasenotes/notes/bug-2112140-41a1924c260e531c.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Ensures Kolla uses only configured APT mirror on Ubuntu for full source control. + `LP#2112140 `__ diff --git a/releasenotes/notes/bump-proxysql-version-5669b13bcc3d88fe.yaml b/releasenotes/notes/bump-proxysql-version-5669b13bcc3d88fe.yaml new file mode 100644 index 0000000000..791e41d832 --- /dev/null +++ b/releasenotes/notes/bump-proxysql-version-5669b13bcc3d88fe.yaml @@ -0,0 +1,3 @@ +--- +upgrade: + - Upgraded ProxySQL to version ``3.0.x``. diff --git a/releasenotes/notes/debian-epoxy-f68eb3e911f5fea3.yaml b/releasenotes/notes/debian-epoxy-f68eb3e911f5fea3.yaml new file mode 100644 index 0000000000..2f23c015da --- /dev/null +++ b/releasenotes/notes/debian-epoxy-f68eb3e911f5fea3.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Debian container image builds now use Epoxy (2025.1) repositories + of Debian OpenStack. diff --git a/releasenotes/notes/debian-rabbitmq-bookworm-34b2e5d9d43241da.yaml b/releasenotes/notes/debian-rabbitmq-bookworm-34b2e5d9d43241da.yaml new file mode 100644 index 0000000000..295de86f0a --- /dev/null +++ b/releasenotes/notes/debian-rabbitmq-bookworm-34b2e5d9d43241da.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Debian container image builds now use bookworm suite + for RabbitMQ installation. diff --git a/releasenotes/notes/opensearch-upgrade-9e263a65f015a376.yaml b/releasenotes/notes/opensearch-upgrade-9e263a65f015a376.yaml new file mode 100644 index 0000000000..d7e00e3315 --- /dev/null +++ b/releasenotes/notes/opensearch-upgrade-9e263a65f015a376.yaml @@ -0,0 +1,4 @@ +--- +upgrade: + - | + Update OpenSearch and OpenSearch Dashboards to version 3.x. diff --git a/releasenotes/notes/rabbitmq-41-d881d0b6bbf46446.yaml b/releasenotes/notes/rabbitmq-41-d881d0b6bbf46446.yaml new file mode 100644 index 0000000000..8046fc722e --- /dev/null +++ b/releasenotes/notes/rabbitmq-41-d881d0b6bbf46446.yaml @@ -0,0 +1,4 @@ +--- +upgrade: + - | + ``rabbitmq`` version has been updated to ``4.1``. diff --git a/releasenotes/notes/remove-dibbler-537b80d88f9984f5.yaml b/releasenotes/notes/remove-dibbler-537b80d88f9984f5.yaml new file mode 100644 index 0000000000..37e3cccc90 --- /dev/null +++ b/releasenotes/notes/remove-dibbler-537b80d88f9984f5.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fix ``neutron-l3-agent`` image builds on Rocky Linux by removing + ``dibbler-client`` dependency. The package is no longer used in Neutron. + `LP#2112575 `__ diff --git a/tox.ini b/tox.ini index e57c38d0fb..4289657a21 100644 --- a/tox.ini +++ b/tox.ini @@ -33,12 +33,8 @@ setenv = commands = oslo_debug_helper -t kolla/tests {posargs} [testenv:cover] -setenv = VIRTUAL_ENV={envdir} - NOSE_WITH_COVERAGE=1 - NOSE_COVER_BRANCHES=1 - NOSE_COVER_HTML=1 - NOSE_COVER_HTML_DIR={toxinidir}/cover - PYTHON=coverage run --source kolla --parallel-mode +setenv = + PYTHON=coverage run --source kolla --parallel-mode commands = stestr run {posargs} coverage combine