2163 Commits

Author SHA1 Message Date
Matus Jenca
66a2f5830c Add frontend database TLS for Keystone
This patch enables internal TLS database
connection for Keystone.

Change-Id: I816d051e933a560629d9b9c95362f668abe4ade7
2024-10-26 07:12:17 +00:00
Zuul
f76833b49a Merge "Add frontend TLS ability to ProxySQL" 2024-10-25 23:26:58 +00:00
Zuul
a5ea108dc3 Merge "Add backend TLS between MariaDB and ProxySQL" 2024-10-25 23:26:54 +00:00
Matus Jenca
d23433aca3 Add frontend TLS ability to ProxySQL
This patch ads an ability to receive TLS connections
to ProxySQL. Certificates and variable lookups are
added in order for TLS to be enabled by
<project_name>_database_internal_tls_enable.
Note that in order for this to work, mysql
connection strings need to have TLS enabled,
which can be added in separate per-service patches

Change-Id: I2c06ce5e138f52259c1725dae37f25c1b00d1e6b
2024-10-25 19:42:50 +00:00
Zuul
8dd7a46034 Merge "cinder: Add prechecks and docs for HA/clustering" 2024-10-25 19:40:46 +00:00
Michal Nasiadka
ef0deee5b0 cinder: Add prechecks and docs for HA/clustering
Change-Id: I33a3ec11b0cdef94b08cd7551008284755824cb7
2024-10-25 15:06:58 +00:00
Matus Jenca
23413d4e0f Add backend TLS between MariaDB and ProxySQL
This commit adds TLS connection between ProxySQL and MariaDB.
Frontend TLS ( between services and ProxySQL) will be
added in another commit.

Parialy Implements: mariadb-ssl-support

Change-Id: I154cbb096469c5515c9d8156c2c1c5dd07b95849
Signed-off-by: Matus Jenca <matus.jenca@dnation.cloud>
2024-10-25 14:38:39 +00:00
Zuul
cffaa89831 Merge "Fix mariadb backup unable to create history table" 2024-10-22 21:10:35 +00:00
Zuul
0c2a5a27a6 Merge "Switch mariadb's loadbalancer from HAProxy to ProxySQL" 2024-10-22 14:22:02 +00:00
Zuul
bd21b7f96e Merge "Adjust ProxySQL shunning behavior for single-node clusters" 2024-10-22 14:21:55 +00:00
Zuul
56d83c026e Merge "Typo for purestorage nvme driver" 2024-10-18 11:45:05 +00:00
Michal Arbet
e3ce0711ee Fix mariadb backup unable to create history table
The backup user was missing the necessary CREATE
privilege for the mariadb_backup_history table
within the mysql schema, causing backups to fail
when attempting to create this table.

This patch addresses the issue by granting the backup
user the required CREATE permission specifically for
the mariadb_backup_history table. With this change,
the backup process can now complete successfully
without manual intervention for user permissions.

Closes-Bug: #2061889
Change-Id: Ic92c8959972329adbd4b89c521aa87678f25b4e4
2024-10-17 14:37:32 +02:00
Michal Arbet
8f0a4bcb0d Switch mariadb's loadbalancer from HAProxy to ProxySQL
It's been some time since ProxySQL has been
with us in Kolla. Let's switch the load balancer
for MariaDB connections from HAProxy to ProxySQL.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/928956
Change-Id: I42ba4fb83b5bb31058e888f0d39d47c27b844de5
2024-10-17 14:37:32 +02:00
Michal Arbet
dafac823d1 Adjust ProxySQL shunning behavior for single-node clusters
In single-node clusters, ProxySQL shuns the server on MySQL
errors, causing failures during upgrades or container restarts.
This change increases the timeout to 10 seconds, allowing
the backend time to recover and preventing immediate errors
in CI environments.

Change-Id: I70becdc3fcb4ca8f7ae31d26097d95bdc6dd67eb
2024-10-17 14:37:32 +02:00
Zuul
ef73b72516 Merge "Add logrotate config for redis" 2024-10-16 16:34:23 +00:00
Zuul
54e365850b Merge "Fix health checks for neutron_ovn_agent and neutron_ovn_metadata_agent" 2024-10-16 13:00:31 +00:00
Zuul
39b7fe7b51 Merge "Add support for Ubuntu Noble Numbat (24.04 LTS)" 2024-10-15 13:52:21 +00:00
Jan Horstmann
646e24f713
Add logrotate config for redis
Add missing logrotate config for redis.

Closes-Bug: 2084523

Change-Id: Ic631a9c87f7be30f7694706928d9ede62015ed6d
Signed-off-by: Jan Horstmann <horstmann@osism.tech>
2024-10-15 14:58:19 +02:00
Jakub Darmach
9df7d4128a Add support for Ubuntu Noble Numbat (24.04 LTS)
ubuntu-ceph is broken for now due to [1], also there are no
download.ceph.com packages for Noble - so we're using Ubuntu
provided ones from proposed - because current version
in regular repos is built from git sha instead of a release
and is not suitable for running outside of Ceph upstream CI.

[1]: https://tracker.ceph.com/issues/66389

Depends-On: https://review.opendev.org/c/openstack/kolla/+/907589

Change-Id: I384068572d8a1a495c60b401dc4144a0a80802f1
2024-10-14 19:55:12 +00:00
Rafal Lewandowski
f0b0ee56cf Fix health checks for neutron_ovn_agent and neutron_ovn_metadata_agent
Closes-Bug: #2084128
Change-Id: I3b44c8f4ff3c55023d8bab4e9a88a86ca72cae5d
2024-10-14 19:54:11 +00:00
Zuul
51903effa6 Merge "ovn: Fix FQDN-based deployments" 2024-10-09 15:34:41 +00:00
Zuul
b093e08367 Merge "Add support to configure Huawei backends in Cinder" 2024-10-09 14:36:15 +00:00
Michal Nasiadka
35e59efabc ovn: Fix FQDN-based deployments
Since [1] Neutron puts requested-chassis entry with a name taken
from the agent, which results in FQDN-based name on FQDN-based
deployments. It does not match what we set in hostname in OVS.

[1]: I4e3c001dd3bb37b86fda8b9495a3c5178c3e736d

Closes-Bug: #2080552
Change-Id: I3ae03aa2e09bc445f0f5a95a43bf210f06685cc1
2024-10-08 11:27:55 +02:00
Zuul
1b55a4c3e6 Merge "Do not remove inventory file if placed in /etc/kolla" 2024-10-07 12:04:09 +00:00
Zuul
a951db941f Merge "Add configuration for NTP server in Ironic Inspector DHCP server" 2024-10-03 00:24:50 +00:00
Zuul
76d409d802 Merge "Do not copy TLS files for backend if turned off" 2024-10-02 18:27:36 +00:00
Zuul
f352589b0e Merge "Updating proxysql.yaml.j2 to use mariadb_port for backends" 2024-10-02 16:45:38 +00:00
Michal Arbet
1540618f00 Do not copy TLS files for backend if turned off
This patch fixes an issue where backend related
certificates are attempted to be copied when
``kolla_copy_ca_into_containers`` is enabled but
``kolla_enable_tls_backend`` is disabled.

The fix consists of these specific tasks now
being limited by the condition ``kolla_enable_tls_backend``

Closes-Bug: #2080381

Change-Id: I7ccae4c501ce332519edef336bcceefae9f9568b
2024-09-29 13:44:00 +02:00
Zuul
f35cf5572c Merge "Automate prometheus blackbox configuration" 2024-09-27 17:03:49 +00:00
Michal Arbet
5ebb151092 Drop support for py38, py39
Kolla-ansible itself requires ansible-core>=2.16,<2.18,
but ansible-core in this version no longer supports
python38 and python39 as per [1].

So let's just drop this old python support.

[1] https://github.com/ansible/ansible/blob/v2.16.11/setup.cfg

Change-Id: Ic8aaa57f75479a17c215c27ac5e6df0f18c74edc
2024-09-26 10:51:12 +02:00
Zuul
1cf6c3af3b Merge "Improvement of ProxySQL Monitoring Configuration" 2024-09-24 11:11:35 +00:00
Zuul
eac0826308 Merge "Standardize python version paths" 2024-09-24 09:14:34 +00:00
Michal Arbet
7989756699 Improvement of ProxySQL Monitoring Configuration
This update enhances the monitoring of the databasecluster
in ProxySQL. The default monitoring intervals were insufficient
for reliably detecting failures in the Galera cluster environment.

A detailed configuration for monitoring intervals has been
introduced, providing better control over how quickly and accurately
ProxySQL can identify issues.

  - Variables such as `mariadb_monitor_connect_interval`,
    `mariadb_monitor_galera_healthcheck_interval, and
    `mariadb_monitor_ping_interval` significantly reduce
    the time between connection checks.

  - Timeouts like `mariadb_monitor_galera_healthcheck_timeout`
    and `mariadb_monitor_ping_timeout` allow faster failure
    detection, while `mariadb_monitor_galera_healthcheck_max_timeout_count`
    sets the maximum number of allowed timeouts before marking a node as down.

Calculation:

 - Galera healthcheck:

   4 seconds (interval) + 1 second (timeout) + 4 seconds (interval)
   + 1 second (timeout) = 10 seconds.

 - Ping healthcheck:

   3 seconds (interval) + 2 seconds (timeout) + 3 seconds (interval)
   + 2 seconds (timeout) = 10 seconds.

Both the health check and ping check mechanisms will detect a node failure
within a maximum of 10 seconds. Both processes (health check and ping)
operate independently, and failure in either mechanism will mark the node
as failed.

Health Check Failure Detection: Up to 10 seconds.
Ping Failure Detection: Up to 10 seconds.
Connect Attempts: ProxySQL also tries to connect every 2 seconds, which
helps monitor connectivity.

These changes ensure that ProxySQL can detect issues in 10 seconds
as haproxy, significantly reducing downtime compared to default settings.
This adjustment enables faster and more reliable monitoring, improving system
stability and reducing potential downtime in production environments.

Change-Id: Ic28801519cdb35ed2387a1468b9df661847a5476
2024-09-23 15:38:10 +02:00
Maksim Malchuk
5a37bd6a7f Add configuration for NTP server in Ironic Inspector DHCP server
Followup on Ib69fc0017b3bfbc8da4dfd4301710fbf88be661a. This change
adds the ability to provide the NTP (time source) server for multiple
DHCP ranges in the Ironic Inspector DHCP server.

Change-Id: I4bbfef3a391b8582ae73cbe06138715b43584dec
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2024-09-23 09:46:32 +03:00
Maksim Malchuk
8dccbeee1f Add support to configure Huawei backends in Cinder
This change adds the ability to configure Huawei backends in Cinder
as described in [1] by adding the additional configuration XML files
to the cinder-volume containers. However, this change does not
provide the default configuration options for the cinder.conf due to
the wide range of Huawei hardware that is supported. Operators may
also wish to configure multiple backends, so they should use the
standard method of overriding backend sections to use these XML
files, as described in [2].

1. https://docs.openstack.org/cinder/latest/configuration/block-storage/drivers/huawei-storage-driver.html
2. https://docs.openstack.org/kolla-ansible/latest/admin/advanced-configuration.html#openstack-service-configuration-in-kolla

Implements: blueprint cinder-huawei-backend
Co-Authored-By: Juan Pablo Suazo <jsuazo@whitestack.com>
Co-Authored-By: Maksim Malchuk <maksim.malchuk@gmail.com>
Change-Id: Ic8624b2e956b1f48f5fb96d6d8a0150b67236d20
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2024-09-22 01:53:11 +03:00
Michal Arbet
12eeccdd91 Fix IPv6 address format in ProxySQL configuration
This patch resolves an issue where ProxySQL could not
bind due to incorrectly formatted IPv6 addresses in the
`mysql_ifaces` configuration. The kolla's
`put_address_in_context` filter is now used, ensuring
the addresses are properly enclosed in square brackets
for correct binding.

Closes-Bug: #2081106
Change-Id: Ic166b8d9a500023c8d23ec9fee03b28b268b26e7
2024-09-20 18:51:19 +02:00
Piotr Milewski
cc377b584c Typo for purestorage nvme driver
Closes-Bug: #2081149
Change-Id: I9969492571e5e9864d4acb95b1af172264cfbd66
2024-09-20 11:15:16 +02:00
Michal Arbet
91a4d8f74b Standardize python version paths
This patch removes the hardcoded `distro_python_version`
mapping and usage from the configuration and templates,
aligning with the dynamic Python version detection
introduced in the dependent patch below.

The changes simplify the kolla-ansible roles by using
general `python3` paths, ensuring compatibility across
distributions without requiring version-specific handling.

Template files for Horizon, Ironic, Skyline, and others
have been updated to reflect this,
improving maintainability and reducing complexity.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/926744
Change-Id: I85431b058b4184d96600cf17aaf8de871a018d61
2024-09-19 12:38:15 +02:00
Zuul
0a6dd4210b Merge "Fix octavia-interface timeout" 2024-09-18 14:43:48 +00:00
Zuul
264aa14d6c Merge "make OIDCClaimDelimiter configurable" 2024-09-18 14:33:21 +00:00
Zuul
be5b2bbb3d Merge "Fix mariadb backup not working" 2024-09-17 14:21:06 +00:00
Zuul
70f7d7e2ec Merge "Add option to enable proxysql's prometheus exporter" 2024-09-17 11:45:25 +00:00
Zuul
36b53260d8 Merge "Fix os-brick multipathd del map fails for SAN multipath devices" 2024-09-17 09:19:04 +00:00
Michal Arbet
68456208c8 Fix mariadb backup not working
This trivial fix simply consists of
adding the forgotten action after
the kolla-ansible was reworked in review [1].

[1] https://review.opendev.org/c/openstack/kolla-ansible/+/911417

Closes-Bug: #2080408
Change-Id: I26b5db3a3eeebd758ad05d9cb9aa689a68e1816f
2024-09-17 09:58:10 +02:00
Michal Arbet
de79f77ef0 Add option to enable proxysql's prometheus exporter
From version 2.1, ProxySQL has a built-in ProxySQL
Prometheus exporter. This patch adds an option to
easily enable this exporter [1].

[1] https://proxysql.com/documentation/prometheus-exporter

Change-Id: I8776cdc0a6ec9e4e35a2424dd0984488514a711f
2024-09-17 09:58:10 +02:00
Zuul
03122599ee Merge "Add NET_RAW to dnsmasq container" 2024-09-16 09:51:32 +00:00
Michal Arbet
18899a7d52 Do not remove inventory file if placed in /etc/kolla
This patch fix issue when inventory file is deleted
by kolla-ansible -i /etc/kolla/inventory destroy call.

Now, inventories are available in tools/cleanup-host
so we can ignore their removal.

Closes-Bug: #2052706
Change-Id: If89e94356de515b40ca4e8c023979cd498146303
2024-09-16 10:15:45 +02:00
Will Szumski
f61fafabe4 Add NET_RAW to dnsmasq container
When using dnsmasq as a DHCP server, unless you use the noping option
(and that is not recommended), the NET_RAW capabilty is required so
that dnsmasq can send ICMP packets. These are used to check an address
is not currently in use[1].  Docker enables this capability by
default. Podman runs containers with a minimal set of capabilities[3].

[1] https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2019q1/012840.html
[2] https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities
[3] f39f2a3f8c/docs/containers.conf.5.md (L84-L101)

Closes-Bug: #2055282
Change-Id: Ib3a1313df680d91c7f008063937ca7d37e82f690
2024-09-13 16:46:31 +00:00
Zuul
f17d3dfd97 Merge "Separate outputs of kolla_toolbox inner module" 2024-09-13 16:04:13 +00:00
Zuul
badd9e872b Merge "Refactor nova upgrade task" 2024-09-13 13:26:49 +00:00