1907 Commits

Author SHA1 Message Date
Zuul
17a76d2a0e Merge "Add precheck for RabbitMQ quorum queues" 2023-12-14 14:54:40 +00:00
Pierre Riteau
693c5c8b23 Fix Docker health check for sahara_engine
The wrong process name was being used.

Closes-Bug: #2046268
Change-Id: I5a5d4f227205e811732331ee6e020ccea67b6fab
2023-12-14 09:53:03 +00:00
Zuul
c0cddb0967 Merge "Configures the tap-as-a-service neutron plugin" 2023-12-13 16:11:36 +00:00
Matt Crees
61f84e3beb Add precheck for RabbitMQ quorum queues
Adds a precheck to fail if non-quorum queues are found in RabbitMQ.

Currently excludes fanout and reply queues, pending support in
oslo.messaging [1].

[1]: https://review.opendev.org/c/openstack/oslo.messaging/+/888479

Closes-Bug: #2045887
Change-Id: Ibafdcd58618d97251a3405ef9332022d4d930e2b
2023-12-13 14:49:05 +00:00
Zuul
ca8260eb09 Merge "Fix broken list concatenation in horizon role" 2023-12-06 15:58:46 +00:00
Andrey Kurilin
97cd173177 Fix broken list concatenation in horizon role
Starting with ansible-core 2.13, list concatenation format is changed
and does not support concatenation operations outside of the jinja template.

The format change:

  "[1] + {{ [2] }}" -> "{{ [1] + [2] }}"

This affects the horizon role that iterates over existing policy files to
override and concatenate them into a single variable.

Co-Authored-By: Dr. Jens Harbott <harbott@osism.tech>

Closes-Bug: #2045660
Change-Id: I91a2101ff26cb8568f4615b4cdca52dcf09e6978
2023-12-05 16:59:20 +01:00
Mark Goddard
af6e1ca4fd Support Ansible max_fail_percentage
This allows us to continue execution until a certain proportion of hosts
to fail. This can be useful at scale, where failures are common, and
restarting a deployment is time-consuming.

The default max failure percentage is 100, keeping the default
behaviour. A global max failure percentage may be set via
kolla_max_fail_percentage, and individual services may define a max
failure percentage via <service>_max_fail_percentage.

Note that all hosts in the inventory must be reachable for fact
gathering, even those not included in a --limit.

Closes-Bug: #1833737
Change-Id: I808474a75c0f0e8b539dc0421374b06cea44be4f
2023-12-05 11:49:42 +01:00
7112d5f117 Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.

Sem-Ver: feature
Change-Id: I96140b1e3be06b60909f3eed739f1a944e119c7e
2023-12-01 12:14:57 +00:00
Christian Berendt
c939504da6 magnum: support kubeconfig configuration file
If a file {{ node_custom_config }}/magnum/kubeconfig exists, it is
copied to /var/lib/magnum/.kube/config in all Magnum Service Containers.
At this location, the vexxhost/magnum-cluster-api will loo for the Kubeconfig
configuration file to control the Cluster API Control Plane. If the
vexxhost/magnum-cluster-api is installed in the Magnum container images,
control of a cluster API control plane can then take place via the Magnum API.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/902101
Change-Id: I986c5192fe96b9c480a2d8fa87d719a50ce78186
2023-12-01 07:15:25 +00:00
Sven Kieske
64575519aa enable quorum queues
This implements a global toggle `om_enable_rabbitmq_quorum_queues`
to enable quorum queues for each service in RabbitMQ, similar to
what was done for HA[0].

Quorum Queues are enabled by default.

Quorum queues are more reliable, safer, simpler and faster than
replicated mirrored classic queues[1].

Mirrored classic queues are deprecated and scheduled for removal
in RabbitMQ 4.0[2].

Notice, that we do not need a new policy in the RabbitMQ definitions
template, because their usage is enabled on the client side and can't
be set using a policy[3].

Notice also, that quorum queues are not yet enabled in oslo.messaging
for the usage of reply_ and fanout_ queues (transient queues).
This will change once[4] is merged.

[0]: https://review.opendev.org/c/openstack/kolla-ansible/+/867771
[1]: https://www.rabbitmq.com/quorum-queues.html
[2]: https://blog.rabbitmq.com/posts/2021/08/4.0-deprecation-announcements/
[3]: https://www.rabbitmq.com/quorum-queues.html#declaring
[4]: https://review.opendev.org/c/openstack/oslo.messaging/+/888479

Signed-off-by: Sven Kieske <kieske@osism.tech>
Change-Id: I6c033d460a5c9b93c346e9e47e93b159d3c27830
2023-11-30 13:53:00 +00:00
Jan Gutter
ccfa2a6c16 etcd: update to v3.4
* Updates etcd to v3.4
* Updated the config to use v3.4's logging mechanism
* Deprecated etcd CA parameters aren't used, so we are not affected
  by their removal.
* Note that we are not currently guarding against skip-version updates for
  etcd.

Notable non-voting jobs exercising some of this:
* kolla-ansible-ubuntu-upgrade-cephadm (cinder->tooz->etcd3gw->etcd)
* kolla-ansible-ubuntu-zun (see
  https://review.opendev.org/c/openstack/openstack-ansible/+/883194 )

Depends-On: https://review.opendev.org/c/openstack/kolla/+/890464
Change-Id: I086e7bbc7db64421445731a533265e7056fbdb43
2023-11-29 17:43:33 +00:00
Dr. Jens Harbott
8e7a67bfd7
Update etcd docs and reno
Just some minor formatting and wording updates

Change-Id: Ia42944512f8d14a1993bd4ae3d09f0f2ab431322
2023-11-29 12:07:53 +00:00
Zuul
e971d0c795 Merge "etcd: Add support for more scenarios" 2023-11-29 11:13:18 +00:00
Zuul
65c2196975 Merge "Fix Horizon WSGI application log parsing" 2023-11-28 18:53:58 +00:00
Jan Gutter
ed3b27cc92 etcd: Add support for more scenarios
This commit addresses a few shortcomings in the etcd service:
  * Adding or removing etcd nodes required manual intervention.

  * The etcd service would have brief outages during upgrades or
    reconfigures because restarts weren't always serialised.

This makes the etcd service follow a similar pattern to mariadb:
  * There is now a distiction between bootstrapping the cluster
    and adding / removing another member.

  * This more closely follows etcd's upstream bootstrapping
    guidelines.

  * The etcd role now serialises restarts internally so the
    kolla_serial pattern is no longer appropriate (or necessary).

This does not remove the need for manual intervention in all
failure modes: the documentation has been updated to address the
most common issues.

Note that there's repetition in the container specifications: this
is somewhat deliberate. In a future cleanup, it's intended to reduce
the duplication.

Change-Id: I39829ba0c5894f8e549f9b83b416e6db4fafd96f
2023-11-28 18:43:56 +01:00
Zuul
9a0ac440df Merge "Revert "Enable RabbitMQ HA queues by default"" 2023-11-28 16:45:06 +00:00
Doug Szumski
4168b46cff Fix Horizon WSGI application log parsing
Like other WSGI services in Kolla Ansible, the Horizon WSGI application
handles log output via the `wsgi.errors` object. See [1] for further
information. The problem is that this log output is written to a file called
`horizon.log`, causing it to processed as an 'Oslo log' in the Fluentd
processing pipeline. Since the log format doesn't match the expected format,
this results in parsing errors.

This fix renames the log file and adjusts the format to match other WSGI
applications. The logs are then processed in the same way as other WSGI
application logs, resolving the issue.

[1] https://modwsgi.readthedocs.io/en/master/user-guides/debugging-techniques.html

Change-Id: I93777d1c53920f5470c78356e6b3a4064fbe04b4
Closes-Bug: #1898174
2023-11-28 14:43:18 +00:00
Zuul
db79eb0a55 Merge "Rename kolla_docker to kolla_container" 2023-11-28 12:06:09 +00:00
Matt Crees
cdda49ecb9 Revert "Enable RabbitMQ HA queues by default"
This reverts commit b86c304a2987d0e60570bcd43cbb08da9b64c241.

Reason for revert: We want to enable Quorum Queues by default in Caracal, without requiring two queue migrations between releases. See etherpad for details: https://etherpad.opendev.org/p/kolla-ansible-rmq-quorum-queues-proposal

Change-Id: Ia19ab97f538125475297976347c5da332a7fdda7
2023-11-28 10:07:12 +00:00
Zuul
5472fa729a Merge "Fix expose prometheus externally with single frontend" 2023-11-27 09:54:47 +00:00
Zuul
e50c99d1e1 Merge "Fix proxysql get mariadb_backup_database_password" 2023-11-23 14:52:29 +00:00
Zuul
d6844dc895 Merge "Fix an issue with prometheus scraping itself" 2023-11-23 02:44:46 +00:00
Zuul
bad6759ee4 Merge "Fix glance-api failed to start privsep daemon" 2023-11-22 15:37:17 +00:00
Zuul
449683c5aa Merge "Configure CloudKitty with Prometheus basic auth" 2023-11-22 11:24:45 +00:00
Zuul
84f0a37e49 Merge "Fix grafana prometheus datasource" 2023-11-22 08:47:22 +00:00
Will Szumski
2c9dc5da03 Fix expose prometheus externally with single frontend
Closes-Bug: #2043831
Change-Id: I010fabd255d93d5329de82af2b5d21c8fa7d93c4
2023-11-22 07:30:26 +00:00
Pierre Riteau
4131eb458d Configure CloudKitty with Prometheus basic auth
Closes-Bug: #2044226
Change-Id: I5e17152584b758c9ca4f1cc14520337f979584b7
2023-11-22 07:08:19 +00:00
Zuul
4e74d5964b Merge "Adding mariadb_port to wsrep sync status so alterative ports can be used" 2023-11-21 11:58:20 +00:00
Zuul
57a8ff033f Merge "Deprecate Masakari" 2023-11-21 07:32:17 +00:00
Zuul
bd63dfd1e4 Merge "Set HAProxy server timeout for openstack exporter" 2023-11-18 09:31:29 +00:00
Zuul
e89b474b16 Merge "Deploy Glance and Cinder Backup with S3 backend support" 2023-11-17 19:11:49 +00:00
Zuul
f4cd334b9f Merge "keystone: Add support for OIDC options" 2023-11-17 19:01:31 +00:00
Will Szumski
775fac2b10 Fix an issue with prometheus scraping itself
Closes-Bug: #2043829
Change-Id: Ic4cbaf592a2699d9c0312c575f68613c8681239f
2023-11-17 18:25:12 +00:00
Will Szumski
dfce510c0f Fix grafana prometheus datasource
See:
https://grafana.com/docs/grafana/latest/administration/provisioning/

Closes-Bug: #2043828
Change-Id: I9ed07dc8c995adddf6d89838cd515af93d10bd00
2023-11-17 18:10:04 +00:00
Matt Anson
8000550e02 Set HAProxy server timeout for openstack exporter
Set the openstack exporter HAProxy backend server timeout to
``prometheus_openstack_exporter_timeout`` to ensure that scrapes
that take longer than haproxy_server_timeout don't timeout.

Closes-Bug: #2006051
Change-Id: I44841a6b6fa5bf659cace06295d18c093ad7f927
2023-11-17 14:41:52 +00:00
Dr. Jens Harbott
9675347fec Deprecate Masakari
Since the CI is failing and there are no contributors working on fixing
this, we are deprecating the service.

Also mention other deprecations in the README.

Change-Id: Ifff11645f6b4682810c042a0421d1eb569ab0ede
2023-11-16 18:45:15 +01:00
Petr Slavchenkov
ef0f5a05c9 Fix proxysql get mariadb_backup_database_password
Implements: Kolla Ansible
Closes-Bug: #2043554
Change-Id: I5648a79b4aa1960f1984a5179e3dfc3f0982c709
2023-11-16 08:35:06 +00:00
Zuul
4b35b9d9a9 Merge "Fix OpenStack exporter scrape with internal TLS & FQDN" 2023-11-15 15:10:48 +00:00
fzakfeld
85be68126e keystone: Add support for OIDC options
Introduce keystone_federation_oidc_additional_options variable

Change-Id: I39b9f35dab6f4e3ac2fcb505aabd2589e6e2ca69
2023-11-15 15:49:35 +01:00
Martin Hiner
a13d83400f Rename kolla_docker to kolla_container
Changes name of ansible module kolla_docker to
kolla_container.

Change-Id: I13c676ed0378aa721a21a1300f6054658ad12bc7
Signed-off-by: Martin Hiner <m.hiner@partner.samsung.com>
2023-11-15 13:54:57 +01:00
Michal Nasiadka
cea076f379 Introduce oneshot docker_restart_policy
docker_restart_policy: no causes systemd units to not get created
and we use it in CI to disable restarts on services.

Introducing oneshot policy to not create systemd unit for oneshot
containers (those that are running bootstrap tasks, like db
bootstrap and don't need a systemd unit), but still create systemd
units for long lived containers but with Restart=No.

Change-Id: I9e0d656f19143ec2fcad7d6d345b2c9387551604
2023-11-14 15:17:50 +00:00
Zuul
e9dd15967b Merge "Add support for ansible-core" 2023-11-08 15:01:02 +00:00
Zuul
a599e91178 Merge "Set HORIZON_IMAGES_UPLOAD_MODE to direct by default" 2023-11-08 13:41:00 +00:00
Michal Nasiadka
bc203433f1 Add support for ansible-core
Collections version taken from official Ansible 7 package [1]
and limited to the same major version.

[1]: https://github.com/ansible-community/ansible-build-data/blob/main/7/ansible-7.7.0.yaml

Change-Id: I0f1ea9717397adc2d2c3215d74ec3759f351a57a
2023-11-08 09:52:20 +00:00
Will Szumski
37c2ab2aaa Support exposing prometheus_server externally
This avoids the need to use a proxy, or some other means, to connect to
Prometheus. This is disabled by default and can be enabled by setting
enable_prometheus_server_external to true.

Change-Id: Ia0af044ff436c2a204b357750a16ff49fcdfec45
2023-11-07 14:52:06 +00:00
Zuul
e3cdb8eb3d Merge "Add support for LetsEncrypt-managed certs" 2023-11-07 14:45:36 +00:00
Zuul
c799af8467 Merge "octavia: enable jobboard" 2023-11-07 13:28:17 +00:00
James Kirsch
5581a28253 Add support for LetsEncrypt-managed certs
Add support for automatic provisioning and renewal of HTTPS
certificates via LetsEncrypt.

Spec is available at:
https://etherpad.opendev.org/p/kolla-ansible-letsencrypt-https

Depends-On: https://review.opendev.org/c/openstack/kolla/+/887347
Co-Authored-By: Michal Arbet <michal.arbet@ultimum.io>
Implements: blueprint letsencrypt-https
Change-Id: I35317ea0343f0db74ddc0e587862e95408e9e106
2023-11-07 10:59:51 +01:00
Christian Berendt
76cb8574ee octavia: enable jobboard
Enable the jobboard feature for the Octavia amphora provider. This
requires Redis as a dependency, a precheck is added to ensure proper
configuration.

https://docs.openstack.org/octavia/latest/install/install-amphorav2.html

Change-Id: Iec3c8a4b4e257557dc8ec995c41d0ad7e88e13e2
2023-11-07 09:38:38 +00:00
Michal Nasiadka
82c0efd139 Set HORIZON_IMAGES_UPLOAD_MODE to direct by default
Change-Id: I4aa6dc90c6e6da6cd5fa94ad9ea02396e9c60a8b
2023-11-06 15:30:18 +00:00