6660 Commits

Author SHA1 Message Date
Sean Mooney
ddadaa282e always add service_user section to nova.conf
As of I3629b84d3255a8fe9d8a7cea8c6131d7c40899e8 nova
now requires the service_user section to be configured
to address CVE-2023-2088. This change adds
the service user section to the nova.conf template in
the nova and nova-cell roles.

Related-Bug: #2004555
Signed-off-by: Sven Kieske <kieske@osism.tech>
Change-Id: I2189dafca070accfd8efcd4b8cc4221c6decdc9f
(cherry picked from commit a77ea13ef1991543df29b7eea14b1f91ef26f858)
(cherry picked from commit 03c12abbcc107bfec451f4558bc97d14facae01c)
(cherry picked from commit cb105dc293ff1cdb11ab63fa3e3bf39fd17e0ee0)
(cherry picked from commit efe6650d09441b02cf93738a94a59723d84c5b19)
2023-05-16 04:20:21 +00:00
Zuul
be1ca8a910 Merge "Fix Bash variable expansion issues in openrc file" 2023-05-16 01:58:48 +00:00
Matt Crees
46c2b60d9f Correct ovn-ctl --db-nb-pidfile usage in templates
The flags ``--db-nb-pid`` and ``--db-sb-pid`` are corected to be
``--db-nb-pidfile`` and ``--db-sb-pidfile`` respectively. See here for
reference:
6c6a7ad1c6/utilities/ovn-ctl (L1045)

Closes-Bug: #2018436
Change-Id: Ic1e8768374566eb2198302807ecc644a19cd3062
2023-05-04 10:33:51 +01:00
Zuul
92ddbdfbc1 Merge "octavia: Fix hm-interface after bumping openstack collection" 2023-04-27 09:28:36 +00:00
Michal Nasiadka
c0d0866785 octavia: Fix hm-interface after bumping openstack collection
New openstack collection modules have changed output
dicts/variable names - adapting to that.

Also changing octavia amphora image to focal, since bionic
hasn't been rebuilt since May 2021.

Closes-Bug: #2012255
Change-Id: Icf38a52472d02ef7d69bcd3716afb16e859d44a2
2023-04-26 13:13:31 +00:00
Maksim Malchuk
df6472e0af Fix Bash variable expansion issues in openrc file
Sometimes passwords, URLs and other values of the variables can
contain special symbols, for example the dollar sign, using these
values can lead to unpredictable attempts of the variable expansions
in the Bash scripts, such as openrc file, so we need to use single
quotes for all variables values.

Change-Id: Ib2aabadd0ffd6a8dc2591245f29b4478e03d92fc
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-04-25 14:46:11 +03:00
Zuul
6c3738a84c Merge "Designate: provide certificates file to use for neutron client requests" 2023-04-24 14:40:38 +00:00
Zuul
3b24d77c48 Merge "Fix faulty precheck for RabbitMQ" 2023-04-24 09:55:10 +00:00
Maksim Malchuk
31e0d374bd Designate: provide certificates file to use for neutron client requests
Closes-Bug: #1919464
Change-Id: I64a5185627f98bcaf471ed8ccf0fd8f314769404
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-04-23 01:13:32 +03:00
Zuul
e8091acefc Merge "Add check_mode: false to Nova upgrade checks" 2023-04-21 07:39:16 +00:00
Zuul
861e9467ad Merge "Revert "ansible: bump min to 2.13 and max to 2.14"" 2023-04-20 13:20:52 +00:00
Magnus Lööf
fdacf9d1d9 Fix faulty precheck for RabbitMQ
When using externally managed certificates, according to [1],
one should set `kolla_externally_managed_cert: yes` and ensure
that the certificates are in the correct place.

However, RabbitMQ precheck still expects the certificates to be
available on the controller node. This is incorrect.

Fix by not running the tasks in question when `kolla_externally_managed_cert: yes`

[1] https://docs.openstack.org/kolla-ansible/latest/admin/tls.html

Closes-Bug: 1999081
Related-Bug: 1940286
Signed-off-by: Magnus Lööf <magnus.loof@basalt.se>
Change-Id: I9f845a7bdf5055165e199ab1887ed3ccbfb9d808
2023-04-20 13:28:39 +02:00
Zuul
557b1272ff Merge "Trivial fix - add int filter for rabbitmq definitions" 2023-04-20 11:15:16 +00:00
Dr. Jens Harbott
b98a71e5d4 Revert "ansible: bump min to 2.13 and max to 2.14"
This reverts commit 9867060b6b3bd36aad121b53b9e5dddfca8a8e4c.

Reason for revert: seems this broke some jobs

Change-Id: I1ca81214ece403351c0a522ea05bf07802e4c4c0
2023-04-20 09:26:11 +00:00
Zuul
226eb2aa99 Merge "Configure coordination in default for masakari-api" 2023-04-20 09:11:13 +00:00
Michal Arbet
d1b24a4137 Trivial fix - add int filter for rabbitmq definitions
Change-Id: I1d8021a1bc780449e3ca96183c6f4abaed17b382
2023-04-19 21:27:20 +02:00
Zuul
6421d8df07 Merge "Add precheck to fail if RabbitMQ HA needs configuring" 2023-04-19 17:11:04 +00:00
Matt Crees
e0191cb167 Add check_mode: false to Nova upgrade checks
The step "Run Nova upgrade checks" needs to be excluded from check mode.

Related-Bug: #2002657
Change-Id: Ida582606b03d1896a6c58d4b324d088dc3b71852
2023-04-19 16:19:59 +01:00
Zuul
9cfba97cf5 Merge "Use the upgraded image to run Nova upgrade checks" 2023-04-19 14:16:19 +00:00
Matt Crees
a5331d3208 Add precheck to fail if RabbitMQ HA needs configuring
Currently, the process of enabling RabbitMQ HA with the variable
``om_enable_rabbitmq_high_availbility`` requires some manual steps to
migrate from transient to mirrored queues. In preparation for setting
this variable to ``True`` by default, this adds a precheck that will
fail if a system is currently running non-mirrored queues and
``om_enable_rabbitmq_high_availbility`` is set to ``True``.

Includes a helpful message informing the operator of their choice.
Either follow the manual procedure to migrate the queues described in
the docs, or set ``om_enable_rabbitmq_high_availbility`` to ``False``.

The RabbitMQ HA section of the reference docs is updated to include
these instructions.

Change-Id: Ic5e64998bd01923162204f7bb289cc110187feec
2023-04-19 09:45:34 +01:00
Zuul
f5991df02b Merge "mariadb: add mariadb_datadir_volume parameter" 2023-04-19 08:27:42 +00:00
Zuul
17aa380bf8 Merge "ansible: bump min to 2.13 and max to 2.14" 2023-04-19 01:26:28 +00:00
Zuul
fab40de52f Merge "Remove RabbitMQ ha-all policy when not required" 2023-04-18 20:24:54 +00:00
Zuul
7a8f3d3212 Merge "Fix create sasl account before config file is ready" 2023-04-18 18:57:00 +00:00
Zuul
52611ecbab Merge "Fix maximum width of the DIB Multiline-YAML" 2023-04-18 14:51:39 +00:00
Michal Arbet
842adf6d2f Configure coordination in default for masakari-api
This patch introduces distributed lock for masakari-api
service when handle the concurrent notifications for the same
host failure from multiple masakari-hostmonitor services.

Change-Id: I46985202dc8da22601357eefe2727599e7a413e5
2023-04-17 20:02:42 +02:00
Michal Nasiadka
c0a45c7eb7 opensearch: default dashboards tag to opensearch_tag
Closes-Bug: #2016627

Change-Id: I5ae1d911c5df423e0b70dab306709320083b7b69
2023-04-17 12:37:33 +00:00
Maksim Malchuk
47862b56bd Fix maximum width of the DIB Multiline-YAML
The dib_env_vars variable in the Bifrost's dib.yml file can contain
the DIB_BLOCK_DEVICE_CONFIG environment variable which is always the
Multiline-YAML data. By default, the format of the data is not
preserved while the configuration is merged and saved for the
bifrost-deploy container.

This is because Ansible uses the PyYAML library which has a default
80 symbol string length limit. The official Ansible documentation [1]
recommends using to_yaml or to_nice_yaml filters with width parameter.
This change adds the same ability to the merge_yaml Ansible plugin.

1. https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#formatting-data-yaml-and-json

The related change for the diskimage-builder to solve the issue with
incorrect data provided by Kolla-Ansible is also provided:
I3b74ede69eb064ad813a9108ec68a228e549e8bb

Closes-Bug: #2014980
Related-Bug: #2014981
Change-Id: Id79445c0311916ac6c1beb3986e14f652ee5a63c
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-04-14 16:36:22 +03:00
Zuul
be2e353da3 Merge "RabbitMQ use maintenance mode on container restart" 2023-04-13 21:47:41 +00:00
Zuul
4b27d19b63 Merge "Set RabbitMQ ha-promote-on-shutdown=always" 2023-04-13 15:05:48 +00:00
Michal Nasiadka
9867060b6b ansible: bump min to 2.13 and max to 2.14
Change-Id: Ibc9cc91f64b0450de3cae6e2830b4ff2c52c0395
2023-04-13 14:10:28 +00:00
Matt Crees
c85b64d158 Remove RabbitMQ ha-all policy when not required
With the addition of the variable
`om_enable_rabbitmq_high_availability`, this feature in the upgrade
task should be brought back. It is also now used in the deploy task. The
`ha-all` policy is cleared only when
`om_enable_rabbitmq_high_availability` is set to `false`.

Change-Id: Ia056aa40e996b1f0fed43c0f672466c7e4a2f547
2023-04-13 15:58:15 +02:00
Matt Crees
e709599ff0 RabbitMQ use maintenance mode on container restart
Puts the RabbitMQ node into maintenance mode before restarting the
container. This will make the node shutdown less disruptive. For details
on what maintenance mode does, see:
https://www.rabbitmq.com/upgrade.html#maintenance-mode

Change-Id: Ia61573f3fb95fe8fcde6b789ca77ef5b45fe0a65
2023-04-12 15:58:17 +01:00
Michal Nasiadka
b30c7bc87b rabbitmq: Do not stop containers on upgrade
Since RMQ 3.8 we can use rolling upgrade [1].

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

[1]: https://www.rabbitmq.com/upgrade.html#rolling-upgrades

Change-Id: If6a7c6c12d9226a2406728108b3c87b3485ac55f
2023-04-12 11:12:30 +00:00
gamerslouis
46415123d5 Fix create sasl account before config file is ready
Add checking for container readiness before create sasl user

Closes-Bug: #2015589
Change-Id: Ic650ba6be1f192e3cbeaa94de3d00507636c1c92
2023-04-08 17:48:46 +00:00
Zuul
717eb8c14f Merge "nova: Fix live migration on RHEL9 derivatives" 2023-04-03 14:31:39 +00:00
Michal Nasiadka
7c32e6f3b3 nova: Fix live migration on RHEL9 derivatives
Closes-Bug: #2005119
Change-Id: I542f7ae19b4400355b04854f42a1d1802a6efeea
2023-04-03 10:28:48 +00:00
Zuul
3e556dad61 Merge "Add LimitRequestBody configuration for Horizon" 2023-04-03 10:25:55 +00:00
Zuul
dbb4f3d0ae Merge "Add neutron_ovn_availability_zones parameter" 2023-03-29 16:48:23 +00:00
Maksim Malchuk
d907790fff Add LimitRequestBody configuration for Horizon
Since CVE-2022-29404 is fixed [1,2] the default value for the
LimitRequestBody directive in the Apache HTTP Server has been changed
from 0 (unlimited) to 1 GiB. This limits the size of images (for
example) uploaded in Horizon. This change add the ability to
configure the limit.

1. https://access.redhat.com/articles/6975397
2. https://ubuntu.com/security/CVE-2022-29404

Closes-Bug: #2012588
Change-Id: I4cd9dd088cbcf38ff6f8d188ebcc56be7d9ea1c9
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-03-29 14:51:28 +03:00
Matt Crees
e34fbb174c Use the upgraded image to run Nova upgrade checks
When upgrading Nova, we sometimes hit an error where an old hypervisor
that hasn’t been upgraded recently (for example due to broken hardware)
is preventing Nova API from starting properly. This can be detected
using the tool ``nova-status upgrade check`` to make sure that there are
no ``nova-compute`` that are older than N-1 releases. This is already
used in the Kolla Ansible upgrade task for Nova. However, this task uses
the current ``nova-api`` container, so computes which will be too old
after the upgrade are not caught.

This patch changes Kolla Ansible so that the upgraded ``nova-api`` image
is used to run the upgrade checks, allowing computes that will be too
old to be detected before the upgrades are performed.

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

Closes-Bug: #1957080
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Change-Id: I3a899411001834a0c88e37f45a756247ee11563d
2023-03-28 09:11:46 +02:00
Zuul
da48d99eef Merge "magnum: Fix trustee creation after ansible-collections-openstack bump" 2023-03-27 09:20:25 +00:00
Zuul
4971eccd62 Merge "Set RabbitMQ message TTL and queue expiry" 2023-03-24 16:28:43 +00:00
Zuul
ad744874c9 Merge "Add flags for RabbitMQ message TTL & queue expiry" 2023-03-24 16:20:29 +00:00
Michal Nasiadka
8dd409ceaf magnum: Fix trustee creation after ansible-collections-openstack bump
Change-Id: I54e68a3002d69f7b1be2704259c6a072f81aa586
2023-03-23 16:18:58 +00:00
Zuul
2845861ef9 Merge "Fix deploy/genconfig in check mode" 2023-03-23 10:55:24 +00:00
John Garbutt
fd30dfb867 Set RabbitMQ message TTL and queue expiry
Following ideas here:
https://wiki.openstack.org/wiki/Large_Scale_Configuration_Rabbit

Make sure old messages with no consumer are dropped after the message
TTL of 10 mins, longer than the 1 min RPC timeout.
Also ensure queues expire after an hour of inactivity, so queues from
removed nodes or renamed nodes don't grow over time.

Change-Id: Ifb28ac68b6328adb604a7474d01e5f7a47b2e788
2023-03-21 09:11:41 +00:00
Matt Crees
dae2cbca30 Add flags for RabbitMQ message TTL & queue expiry
Adds two new flags to alter behaviour in RabbitMQ:
    * `rabbitmq_message_ttl_ms`, which lets you set a TTL on messages.
    * `rabbitmq_queue_expiry_ms`, which lets you set an expiry time on queues.
See https://www.rabbitmq.com/ttl.html for more information on both.

Change-Id: I51ca37ffbb1bb5c07f2d39873f0f33ca20263f2a
2023-03-21 09:10:56 +00:00
Matt Crees
a87810db7e Set RabbitMQ ha-promote-on-shutdown=always
Changes the default value of `rabbitmq-ha-promote-on-shutdown` to
`"always"`.

We are seeing issues with RabbitMQ automatically recovering when nodes
are restarted. https://www.rabbitmq.com/ha.html#cluster-shutdown

Rather than waiting for operator interventions, it is better we allow
recovery to happen, even if that means we may loose some messages.
A few failed and timed out operations is better than a totaly broken
cloud. This is achieved using ha-promote-on-shutdown=always.

Note, when a node failure is detected, this is already the default
behaviour from 3.7.5 onwards:
https://www.rabbitmq.com/ha.html#promoting-unsynchronised-mirrors

Related-Bug: #1954925
Change-Id: I484a81163f703fa27112df22473d657e2a9ab964
2023-03-21 09:08:42 +00:00
Zuul
0d42110e01 Merge "Improve RabbitMQ performance by reducing ha replicas" 2023-03-20 12:17:42 +00:00