aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst85
-rw-r--r--doc/source/contributor/release-management.rst2
-rw-r--r--doc/source/contributor/versions.rst3
-rw-r--r--doc/source/matrix_aarch64.csv1
-rw-r--r--doc/source/matrix_x86.csv1
-rw-r--r--docker/base/ubuntu.sources2
-rw-r--r--docker/base/ubuntu.sources.arm642
-rw-r--r--docker/bifrost/bifrost-base/Dockerfile.j25
-rw-r--r--docker/horizon/Dockerfile.j27
-rw-r--r--docker/influxdb/Dockerfile.j229
-rw-r--r--docker/influxdb/extend_start.sh11
-rw-r--r--docker/influxdb/influxdb_sudoers1
-rw-r--r--docker/ironic/ironic-pxe/Dockerfile.j27
-rw-r--r--docker/kolla-toolbox/Dockerfile.j219
-rw-r--r--docker/nova/nova-libvirt/Dockerfile.j21
-rw-r--r--kolla/common/config.py8
-rw-r--r--kolla/common/users.py2
-rw-r--r--kolla/template/repos.yaml2
-rw-r--r--releasenotes/notes/debian-trixie-spice-814929ed1efbcad1.yaml8
-rw-r--r--releasenotes/notes/drop-influxdb-cb3161a1e04fa38e.yaml4
-rw-r--r--releasenotes/notes/image-purpose-1884e00f993e09d0.yaml7
-rw-r--r--releasenotes/notes/ironic-pxe-syslinux-tftpboot-3dc6415ed140dc50.yaml6
22 files changed, 73 insertions, 140 deletions
diff --git a/README.rst b/README.rst
index a8cf66238..6bf18532c 100644
--- a/README.rst
+++ b/README.rst
@@ -8,17 +8,18 @@ Kolla Overview
.. Change things from this point on
-The Kolla project is a member of the OpenStack `Big Tent
-Governance <https://governance.openstack.org/tc/reference/projects/index.html>`__.
+The Kolla project is a member of the OpenStack `Governance
+<https://governance.openstack.org/tc/reference/projects/index.html>`__.
Kolla's mission statement is:
::
- To provide production-ready containers and deployment tools for operating
- OpenStack clouds.
+ To provide tools to create production-ready containers and
+ to provide deployment tools for operating OpenStack clouds.
-Kolla provides `Docker <https://docker.com/>`__ containers,
+Kolla provides tools to create containers that can be run under either
+`Docker <https://docker.com/>`__ or `Podman <https://podman.io/>`, as well as
`Ansible <https://ansible.com/>`__ playbooks to deploy OpenStack on baremetal
or virtual machine to meet Kolla's mission.
@@ -39,29 +40,28 @@ Quickstart <https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
The Kolla Repository
====================
-The Kolla repository is one of three deliverables of the OpenStack Kolla
-project. The three deliverables that make up the Kolla project are:
-
-================ =========================================================
-Deliverable Repository
-================ =========================================================
-kolla https://opendev.org/openstack/kolla
-kolla-ansible https://opendev.org/openstack/kolla-ansible
-kayobe https://opendev.org/openstack/kayobe
-================ =========================================================
-
-The `Docker images <https://docs.docker.com/storage/storagedriver/>`__
-are built by the Kolla project maintainers. A detailed process for
-contributing to the images can be found in the `image building
-guide <https://docs.openstack.org/kolla/latest/admin/image-building.html>`__.
-
-The Kolla developers build images in the `kolla` namespace for every tagged
-release.
-
-You can view the available images on `Docker Hub
-<https://hub.docker.com/u/kolla/>`__ or with the Docker CLI::
-
- $ sudo docker search kolla
+The Kolla repository is one of four deliverables of the OpenStack Kolla
+project. The four deliverables that make up the Kolla project are:
+
+======================== ======================================================
+Deliverable Repository
+======================== ======================================================
+kolla https://opendev.org/openstack/kolla
+kolla-ansible https://opendev.org/openstack/kolla-ansible
+ansible-collection-kolla https://opendev.org/openstack/ansible-collection-kolla
+kayobe https://opendev.org/openstack/kayobe
+======================== ======================================================
+
+The Kolla developers publish images in the Quay.io `openstack.kolla` namespace
+for every tagged release. You can view the available images on `Quay.io
+<https://quay.io/organization/openstack.kolla>`__.
+
+.. warning::
+ Kolla(-ansible) defaults to using these images in order to ease testing and
+ demonstration setups, but they are not intended to be used beyond this.
+ In particular, they do not undergo any security scrutiny. If you intend to
+ deploy Kolla for production purposes, you are advised to create and curate your
+ own set of images using the ``kolla`` tool.
OpenStack services
------------------
@@ -87,10 +87,10 @@ Kolla provides images to deploy the following OpenStack projects:
- `Manila <https://docs.openstack.org/manila/latest/>`__
- `Masakari <https://docs.openstack.org/masakari/latest/>`__
- `Mistral <https://docs.openstack.org/mistral/latest/>`__
-- `Monasca <https://docs.openstack.org/monasca-api/latest/>`__
- `Neutron <https://docs.openstack.org/neutron/latest/>`__
- `Nova <https://docs.openstack.org/nova/latest/>`__
- `Octavia <https://docs.openstack.org/octavia/latest/>`__
+- `Placement <https://docs.openstack.org/placement/latest/>`__
- Skyline (`APIServer <https://docs.openstack.org/skyline-apiserver/latest/>`__ and `Console <https://docs.openstack.org/skyline-console/latest/>`__)
- `Tacker <https://docs.openstack.org/tacker/latest/>`__
- `Trove <https://docs.openstack.org/trove/latest/>`__
@@ -103,34 +103,28 @@ Infrastructure components
Kolla provides images to deploy the following infrastructure components:
- `Collectd <https://collectd.org>`__,
- `InfluxDB <https://influxdata.com/time-series-platform/influxdb/>`__, and
`Grafana <https://grafana.com>`__ for performance monitoring.
-- `Corosync <https://clusterlabs.org/corosync.html>`__ and
- `Pacemaker <https://clusterlabs.org/pacemaker>`__ for HAcluster.
-- `Elasticsearch <https://www.elastic.co/de/products/elasticsearch>`__ and
- `Kibana <https://www.elastic.co/products/kibana>`__ to search, analyze,
- and visualize log messages.
- `Cron <https://cron-job.org>`__ for log rotation.
- `Etcd <https://etcd.io/>`__ a distributed key value store that provides
a reliable way to store data across a cluster of machines.
- `Fluentd <https://www.fluentd.org/>`__ as an open source data collector
for unified logging layer.
- `Gnocchi <https://gnocchi.xyz/>`__ a time-series storage database.
+- `Corosync <https://clusterlabs.org/corosync.html>`__ and
+ `Pacemaker <https://clusterlabs.org/pacemaker>`__ for HAcluster.
- `HAProxy <https://www.haproxy.org/>`__ and
`Keepalived <https://www.keepalived.org/>`__ for high availability of services
and their endpoints.
-- `Kafka <https://kafka.apache.org/documentation/>`__ a distributed streaming
- platform.
- `MariaDB and Galera Cluster <https://mariadb.com/kb/en/library/galera-cluster/>`__
for highly available MySQL databases.
- `Memcached <https://www.memcached.org/>`__ a distributed memory object caching system.
-- `Open vSwitch <https://www.openvswitch.org/>`__ for use with Neutron.
- MariaDB Backup A tool which provides a method of performing a hot backup of your MySQL data while the
system is running.
+- `Open vSwitch <https://www.openvswitch.org/>`__ for use with Neutron.
+- `Opensearch <https://opensearch.org/>`__ to search, analyze,
+ and visualize log messages.
- `Prometheus <https://prometheus.io/>`__ an open-source systems monitoring
and alerting toolkit originally built at SoundCloud.
-- `Qdrouterd <https://qpid.apache.org/components/dispatch-router/index.html>`__ as a
- direct messaging back end for communication between services.
- `RabbitMQ <https://www.rabbitmq.com/>`__ as a broker messaging back end for
communication between services.
- `Valkey Sentinel <https://valkey.io/topics/sentinel>`__ provides high availability for valkey
@@ -138,9 +132,6 @@ Kolla provides images to deploy the following infrastructure components:
provider for clients.
- `Telegraf <https://www.docs.influxdata.com/telegraf/>`__ as a plugin-driven server
agent for collecting & reporting metrics.
-- `ZooKeeper <https://zookeeper.apache.org/>`__ as a centralized service for maintaining
- configuration information, naming, providing distributed synchronization, and providing
- group services.
Directories
===========
@@ -175,14 +166,6 @@ workflow <https://docs.openstack.org/infra/manual/developers.html>`__.
<https://docs.openstack.org/kolla/latest/contributor/meeting.html>`__.
- Contribute `code <https://opendev.org/openstack/kolla>`__.
-Contributors
-============
-
-Check out who is `contributing
-code <https://stackalytics.io/?module=kolla-group&metric=commits>`__ and
-`contributing
-reviews <https://stackalytics.io/?module=kolla-group&metric=marks>`__.
-
Notices
=======
diff --git a/doc/source/contributor/release-management.rst b/doc/source/contributor/release-management.rst
index 441bf3907..91f483e38 100644
--- a/doc/source/contributor/release-management.rst
+++ b/doc/source/contributor/release-management.rst
@@ -473,7 +473,7 @@ After a branch enters EM, we typically do the following:
* stop backporting fixes to the branch by default. Important fixes or those
requested by community members may be merged if deemed appropriate
-* stop publishing images to Dockerhub
+* stop publishing images to Quay.io
* stop actively maintaining CI
End of Life (EOL)
diff --git a/doc/source/contributor/versions.rst b/doc/source/contributor/versions.rst
index b3adf1920..10e16f05d 100644
--- a/doc/source/contributor/versions.rst
+++ b/doc/source/contributor/versions.rst
@@ -16,13 +16,12 @@ information about package sources.
Name Version Package source information
============== ================ =============================================
Grafana 9.x `Grafana install guide`_
- InfluxDB 1.8.x `InfluxDB upstream repo`_
Kibana 7.x `Kibana install guide`_
Logstash 7.x `Logstash install guide`_
MariaDB 10.11 (LTS) `MariaDB Community downloads`_
Galera 26.4 (LTS) `MariaDB Community downloads`_
OpenSearch 3.x `OpenSearch install guide`_
- ProxySQL 2.7.x `ProxySQL repository`_
+ ProxySQL 3.0.x `ProxySQL repository`_
Rabbitmq 4.1.x - CentOS/Rocky:
`Team RabbitMQ 'Cloudsmith' repo (RPM)`_
- Debian/Ubuntu:
diff --git a/doc/source/matrix_aarch64.csv b/doc/source/matrix_aarch64.csv
index 04e94f169..82c372410 100644
--- a/doc/source/matrix_aarch64.csv
+++ b/doc/source/matrix_aarch64.csv
@@ -20,7 +20,6 @@ hacluster,N,U,U
haproxy,U,U,U
heat,U,U,U
horizon,U,U,U
-influxdb,N,U,U
ironic,U,U,U
iscsid,U,U,U
keepalived,U,U,U
diff --git a/doc/source/matrix_x86.csv b/doc/source/matrix_x86.csv
index 738475b61..0e03298be 100644
--- a/doc/source/matrix_x86.csv
+++ b/doc/source/matrix_x86.csv
@@ -21,7 +21,6 @@ hacluster-pcs,N,U,U
haproxy,T,T,U
heat,T,T,T
horizon,T,T,T
-influxdb,U,U,U
ironic,T,T,U
iscsid,T,T,U
keepalived,T,T,U
diff --git a/docker/base/ubuntu.sources b/docker/base/ubuntu.sources
index 6e12fb58c..f8f609cee 100644
--- a/docker/base/ubuntu.sources
+++ b/docker/base/ubuntu.sources
@@ -15,7 +15,7 @@ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu Cloud Archive
Types: deb
URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu
-Suites: noble-updates/flamingo
+Suites: noble-updates/gazpacho
Components: main
Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg
diff --git a/docker/base/ubuntu.sources.arm64 b/docker/base/ubuntu.sources.arm64
index da3ecdfda..751af7ccf 100644
--- a/docker/base/ubuntu.sources.arm64
+++ b/docker/base/ubuntu.sources.arm64
@@ -15,7 +15,7 @@ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu Cloud Archive
Types: deb
URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu
-Suites: noble-updates/flamingo
+Suites: noble-updates/gazpacho
Components: main
Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg
diff --git a/docker/bifrost/bifrost-base/Dockerfile.j2 b/docker/bifrost/bifrost-base/Dockerfile.j2
index 27e3455e9..a84f0e0e3 100644
--- a/docker/bifrost/bifrost-base/Dockerfile.j2
+++ b/docker/bifrost/bifrost-base/Dockerfile.j2
@@ -19,11 +19,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{# NOTE(mgoddard): EPEL required for nginx #}
{{ macros.enable_extra_repos(['epel']) }}
-
- {% set bifrost_base_packages = bifrost_base_packages + [
- 'python3.12',
- 'python3.12-devel'
- ] %}
{% endif %}
{{ macros.install_packages(bifrost_base_packages | customizable("packages")) }}
diff --git a/docker/horizon/Dockerfile.j2 b/docker/horizon/Dockerfile.j2
index f2cb0b433..b854ca0f6 100644
--- a/docker/horizon/Dockerfile.j2
+++ b/docker/horizon/Dockerfile.j2
@@ -49,10 +49,13 @@ COPY extend_start.sh /usr/local/bin/kolla_extend_start
# NOTE(kevko): This dance with local settings python paths below is needed
# because we are using different distros with different python version and we need to
# know to which path symlink should point to.
-# NOTE(mnasiadka): pinning setuptools due to https://bugs.launchpad.net/horizon/+bug/2007574
+# NOTE(bbezak): pin setuptools for pip build isolation due to
+# https://bugs.launchpad.net/horizon/+bug/2141293
RUN ln -s horizon-source/* horizon \
&& {{ macros.upper_constraints_remove("horizon") }} \
- && {{ macros.install_pip(horizon_pip_packages | customizable("pip_packages")) }} \
+ && echo "setuptools<82" > /tmp/horizon-build-constraints.txt \
+ && PIP_BUILD_CONSTRAINT=/tmp/horizon-build-constraints.txt \
+ {{ macros.install_pip(horizon_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/openstack-dashboard \
&& cp -r /horizon/openstack_dashboard/conf/* /etc/openstack-dashboard/ \
&& cp /horizon/openstack_dashboard/local/local_settings.py.example /etc/openstack-dashboard/local_settings.py \
diff --git a/docker/influxdb/Dockerfile.j2 b/docker/influxdb/Dockerfile.j2
deleted file mode 100644
index 060973dd6..000000000
--- a/docker/influxdb/Dockerfile.j2
+++ /dev/null
@@ -1,29 +0,0 @@
-FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
-{% block labels %}
-LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
-{% endblock %}
-
-{% block influxdb_header %}{% endblock %}
-
-{% import "macros.j2" as macros with context %}
-
-{{ macros.configure_user(name='influxdb') }}
-
-{{ macros.enable_extra_repos(['influxdb']) }}
-
-{% set influxdb_packages = ['influxdb'] %}
-{{ macros.install_packages(influxdb_packages | customizable("packages")) }}
-
-COPY influxdb_sudoers /etc/sudoers.d/kolla_influxdb_sudoers
-COPY extend_start.sh /usr/local/bin/kolla_extend_start
-
-RUN chmod 750 /etc/sudoers.d \
- && chmod 440 /etc/sudoers.d/kolla_influxdb_sudoers \
- && chmod 644 /usr/local/bin/kolla_extend_start
-
-{{ macros.kolla_patch_sources() }}
-
-{% block influxdb_footer %}{% endblock %}
-{% block footer %}{% endblock %}
-
-USER influxdb
diff --git a/docker/influxdb/extend_start.sh b/docker/influxdb/extend_start.sh
deleted file mode 100644
index 42a3c4607..000000000
--- a/docker/influxdb/extend_start.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-# Create log directory, with appropriate permissions
-INFLUXDB_LOG_DIR=/var/log/kolla/influxdb
-
-if [[ ! -d "${INFLUXDB_LOG_DIR}" ]]; then
- mkdir -p ${INFLUXDB_LOG_DIR}
-fi
-if [[ $(stat -c %a ${INFLUXDB_LOG_DIR}) != "755" ]]; then
- chmod 755 ${INFLUXDB_LOG_DIR}
-fi
diff --git a/docker/influxdb/influxdb_sudoers b/docker/influxdb/influxdb_sudoers
deleted file mode 100644
index a9757b264..000000000
--- a/docker/influxdb/influxdb_sudoers
+++ /dev/null
@@ -1 +0,0 @@
-%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R influxdb\: /var/lib/influxdb, /bin/chown -R influxdb\: /var/lib/influxdb
diff --git a/docker/ironic/ironic-pxe/Dockerfile.j2 b/docker/ironic/ironic-pxe/Dockerfile.j2
index 6a2131de6..eb357610b 100644
--- a/docker/ironic/ironic-pxe/Dockerfile.j2
+++ b/docker/ironic/ironic-pxe/Dockerfile.j2
@@ -17,15 +17,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'ipxe-bootimgs-aarch64',
'mtools',
'shim-*64',
+ 'syslinux-tftpboot',
'tftp-server',
] %}
- {% if base_arch in ['x86_64'] %}
- {% set ironic_pxe_packages = ironic_pxe_packages + [
- 'syslinux-tftpboot'
- ] %}
- {% endif %}
-
{{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }}
{% elif base_package_type == 'deb' %}
{% set ironic_pxe_packages = [
diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2
index 6a0796bfb..1934b277c 100644
--- a/docker/kolla-toolbox/Dockerfile.j2
+++ b/docker/kolla-toolbox/Dockerfile.j2
@@ -61,24 +61,6 @@ COPY apt_preferences_rabbitmq.{{ base_distro }} /etc/apt/preferences.d/rabbitmq
{% endif %}
{{ macros.install_packages(kolla_toolbox_packages | customizable("packages")) }}
-{# NOTE(kevko):
- In all distros, there is always a /usr/bin/python3 -> python3.X.
- However, this is disrupted for RHEL-based systems because, unlike
- other distros, we upgrade Python above [1], but we forget to set
- the default python3 to the new python3.X. As a result also, everything
- outside of the virtual environment ends up running on Python 3.9.
-
- So, let's correctly set python3 -> python3.X since we had to install
- it and now have default python3 points to the new version.
-
- [1] https://review.opendev.org/c/openstack/kolla/+/924245
-#}
-{% if base_package_type == 'rpm' %}
-RUN cd /usr/bin && \
- rm -f python3 && \
- ln -s python3.12 python3
-{% endif %}
-
{% block kolla_toolbox_pip_conf %}
ENV UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/{{ openstack_release }}
{% endblock %}
@@ -98,7 +80,6 @@ ENV PATH {{ venv_path }}/bin:$PATH
{% set kolla_toolbox_pip_packages = [
'ansible-core==2.20.*',
'cmd2',
- 'influxdb',
'openstacksdk',
'os-client-config',
'pbr',
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index d65d31584..88e4a52d6 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -54,6 +54,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'python3-rbd',
'qemu-block-extra',
'qemu-system',
+ 'qemu-system-modules-spice',
'qemu-utils',
'sasl2-bin',
'swtpm',
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 999939301..b1f325188 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -63,7 +63,6 @@ _PROFILE_OPTS = [
'openvswitch',
'proxysql',
'rabbitmq',
- 'storm',
'tgtd',
'valkey',
],
@@ -89,9 +88,7 @@ _PROFILE_OPTS = [
'cloudkitty',
'designate',
'gnocchi',
- 'influxdb',
'ironic',
- 'kafka',
'kuryr',
'magnum',
'manila',
@@ -102,7 +99,6 @@ _PROFILE_OPTS = [
'telegraf',
'trove',
'valkey',
- 'zookeeper',
'zun',
],
help='Aux Images'),
@@ -202,9 +198,7 @@ _CLI_OPTS = [
cfg.MultiOpt('regex', types.String(), positional=True, required=False,
help=('Build only images matching regex and its'
' dependencies')),
- cfg.StrOpt('registry',
- help=('The container image registry host. The default registry'
- ' host is Docker Hub')),
+ cfg.StrOpt('registry', help='The container image registry host'),
cfg.StrOpt('save-dependency',
help=('Path to the file to store the docker image'
' dependency in Graphviz dot format')),
diff --git a/kolla/common/users.py b/kolla/common/users.py
index ec21b0658..cbbc147b0 100644
--- a/kolla/common/users.py
+++ b/kolla/common/users.py
@@ -89,7 +89,7 @@ USERS = {
'uid': 42420,
'gid': 42420,
},
- 'influxdb-user': {
+ 'influxdb-user': { # unused user (influxdb dropped)
'uid': 42421,
'gid': 42421,
},
diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml
index a5c66d34a..ece8c49fb 100644
--- a/kolla/template/repos.yaml
+++ b/kolla/template/repos.yaml
@@ -161,7 +161,7 @@ rpm:
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/yum"
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
repo_gpgcheck: 1
- name: "opensearch32.x"
+ name: "opensearch-3.x"
opensearch-dashboards:
baseurl: "https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/yum"
gpgkey: "https://artifacts.opensearch.org/publickeys/opensearch-release.pgp"
diff --git a/releasenotes/notes/debian-trixie-spice-814929ed1efbcad1.yaml b/releasenotes/notes/debian-trixie-spice-814929ed1efbcad1.yaml
new file mode 100644
index 000000000..eca8927dd
--- /dev/null
+++ b/releasenotes/notes/debian-trixie-spice-814929ed1efbcad1.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+ - |
+ Debian Trixie container images require the additional
+ qemu-system-modules-spice operating system package for SPICE consoles
+ to function correctly. This package has therefore been added
+ to the nova-libvirt container build. Further details are available in
+ the bug report at `LP#2138186 <https://launchpad.net/bugs/2138186>`__.
diff --git a/releasenotes/notes/drop-influxdb-cb3161a1e04fa38e.yaml b/releasenotes/notes/drop-influxdb-cb3161a1e04fa38e.yaml
new file mode 100644
index 000000000..47800626e
--- /dev/null
+++ b/releasenotes/notes/drop-influxdb-cb3161a1e04fa38e.yaml
@@ -0,0 +1,4 @@
+---
+upgrade:
+ - |
+ Support for building ``influxdb`` container images has been dropped.
diff --git a/releasenotes/notes/image-purpose-1884e00f993e09d0.yaml b/releasenotes/notes/image-purpose-1884e00f993e09d0.yaml
new file mode 100644
index 000000000..0296e9e1b
--- /dev/null
+++ b/releasenotes/notes/image-purpose-1884e00f993e09d0.yaml
@@ -0,0 +1,7 @@
+---
+prelude: >
+ The Kolla project publishes images to quay.io.
+ These are however only intended for demonstration and testing purposes.
+ In particular, they do not undergo any security scrutiny. If you intend to
+ deploy Kolla for production purposes, you are advised to create and curate your
+ own set of images.
diff --git a/releasenotes/notes/ironic-pxe-syslinux-tftpboot-3dc6415ed140dc50.yaml b/releasenotes/notes/ironic-pxe-syslinux-tftpboot-3dc6415ed140dc50.yaml
new file mode 100644
index 000000000..a2764704b
--- /dev/null
+++ b/releasenotes/notes/ironic-pxe-syslinux-tftpboot-3dc6415ed140dc50.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+ - |
+ Install syslinux-tftpboot in the ironic-pxe RPM image on all architectures
+ so TFTP boot files (pxelinux.0, chain.c32, ldlinux.c32) are present on
+ aarch64.