13037 Commits

Author SHA1 Message Date
Pierre Riteau
438ff2307c Support configuring HAProxy services as active/passive
Instead of specifying a custom member list for each service that should
be configured as active/passive, a new `active_passive` parameter can be
set to true. This only works if `custom_member_list` is not used.

Change-Id: I3758bc2377c25a277a29f02ebc20c946c7499093
2022-08-29 12:01:18 +02:00
Radosław Piliszek
37d9cf0d19 [CI] Drop bindep
It is not necessary and it may be confusing.

Change-Id: If7a727861883efcae55bb70eb9c223a5870f9a4f
2022-08-27 20:00:11 +00:00
Radosław Piliszek
8b35f2738b [docs] Fix OVS link
Change-Id: I0746dc2d8bbdf9edf06d63407da46b7c63212a0c
2022-08-25 11:52:37 +02:00
Zuul
04fbc5e84b Merge "Persist Bifrost's autogenerated passwords" 2022-08-24 09:33:17 +00:00
Zuul
89c3a92066 Merge "Add api_workers for each service to defaults" 2022-08-22 15:30:33 +00:00
Michal Arbet
63d72ea7e8 Use Docker healthchecks for mariadb-server service
This change enables the use of Docker healthchecks for
mariadb-server service.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/805613
Change-Id: I893687a0501ea0f281b879df3141a354bff9eca6
2022-08-22 08:27:28 +00:00
Zuul
7c36bbfa00 Merge "Remove the deprecated storage_interface var" 2022-08-15 09:54:58 +00:00
Piotr Parczewski
09adcf0181 Add prometheus-msteams to get container facts loop
A follow up patch to I563f2438b3cb0895606b029b5269ce2e50c413e3

Change-Id: I1e4c5db46413668d4b5df2f2dcedc5d9aaecd63a
2022-08-12 07:34:27 +00:00
Zuul
6cab1fcbd0 Merge "Add support for deploying prometheus-msteams" 2022-08-10 17:14:13 +00:00
Zuul
1e5c54b234 Merge "[CI] Test ProxySQL with shards in the nova cells scenario" 2022-08-10 12:22:52 +00:00
Zuul
46059884f4 Merge "Add proxysql-config role and wrap it in loadbalancer-config role" 2022-08-10 12:22:49 +00:00
Zuul
2452a69806 Merge "Add loadbalancer-config role and wrap haproxy-config role inside" 2022-08-10 12:15:04 +00:00
Zuul
afec4d5656 Merge "Edit services roles to support database sharding" 2022-08-10 12:15:00 +00:00
Pierre Riteau
c1155a2879 Add support for deploying prometheus-msteams
This can be used to forward Prometheus Alertmanager notifications to
Microsoft Teams.

Change-Id: I563f2438b3cb0895606b029b5269ce2e50c413e3
Depends-On: https://review.opendev.org/c/openstack/kolla/+/812678
2022-08-10 13:21:41 +02:00
Zuul
8ef21123ae Merge "Honour the linuxbridge experimental status" 2022-08-09 14:21:21 +00:00
Zuul
981699f554 Merge "Add clouds.yaml file and use it" 2022-08-09 13:14:55 +00:00
Michal Arbet
1b3fcfed64 [CI] Test ProxySQL with shards in the nova cells scenario
There are two shards:
One 2-node (to test the clustering), one 1-node.

Change-Id: If3a60ad4cc39d6ad0cd72a934f5f7497cd44021b
Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2022-08-09 12:16:43 +02:00
Michal Arbet
ae7f4ddc3e Add proxysql-config role and wrap it in loadbalancer-config role
This patch ads proxysql-config role
which is used for generating users and
rules configuration.

Change-Id: I1fcb0e8040ea55f8f6b8384a56479eabdaf61c33
2022-08-09 12:16:16 +02:00
Michal Arbet
4838591c6c Add loadbalancer-config role and wrap haproxy-config role inside
This patch adds loadbalancer-config role
which is "wrapper" around haproxy-config
and proxysql-config role which will be added
in follow-up patches.

Change-Id: I64d41507317081e1860a94b9481a85c8d400797d
2022-08-09 12:15:49 +02:00
Michal Arbet
baad47ac61 Edit services roles to support database sharding
Depends-On: https://review.opendev.org/c/openstack/kolla/+/769385
Depends-On: https://review.opendev.org/c/openstack/kolla/+/765781

Change-Id: I3c4182a6556dafd2c936eaab109a068674058fca
2022-08-09 12:15:26 +02:00
Zuul
c31471fa84 Merge "loadbalancer: ignore missing keepalived container" 2022-08-08 12:39:52 +00:00
Monty Taylor
73a1812c58 Add clouds.yaml file and use it
clouds.yaml[0] is a richer way to express configuration for OpenStack
clouds. It's also fully supported by Ansible's OpenStack modules as
well as python-openstackclient and openstacksdk. It's the future - who
doesn't like the future?

Write a file using both the public (default) and the internal endpoints
for the admin user. Also, change all of the examples to reference it
and to get python-openstackclient to use it too.

[0] https://docs.openstack.org/openstacksdk/latest/user/guides/connect_from_config.html

Implements: blueprint use-clouds-yaml
Change-Id: I557d2e4975c7b3d3c713a556b9ba47af9567ce6e
2022-08-08 12:19:47 +00:00
Zuul
e2d276cd96 Merge "cephadm: Use distro-provided Quincy on Jammy" 2022-08-05 16:35:47 +00:00
Michal Nasiadka
532b81d6ee cephadm: Use distro-provided Quincy on Jammy
Ubuntu Jammy will only support Ceph Quincy.
Workaround for now - use Jammy in-distro packages for cephadm.

Change-Id: I30f071865b9b0751f1336414a0ae82571a332530
2022-08-05 13:48:31 +00:00
Marcin Juszkiewicz
f6a1e60731 loadbalancer: ignore missing keepalived container
During deployment I got this error:

RUNNING HANDLER [loadbalancer : Stop master haproxy container]
ok: [192.168.66.143]

RUNNING HANDLER [loadbalancer : Stop master proxysql container]
ok: [192.168.66.143]

RUNNING HANDLER [loadbalancer : Stop master keepalived container]
fatal: [192.168.66.143]: FAILED! => changed=false
  msg: 'No such container: keepalived to stop'

Looks like we forgot to allow keepalived to not be present.

Change-Id: I720c719a6a6b35c5c2d5b5ee59b48349e58bac82
2022-08-05 14:04:47 +02:00
Radosław Piliszek
125646b911 Honour the linuxbridge experimental status
This patch follows upstream and disables linuxbridge testing.
Users are notified of the situation via the release note.

Change-Id: I524682ceb5287c14ef0ba99baae0c081850f4c5e
2022-08-03 15:19:40 +02:00
Zuul
da214b74a9 Merge "Fix nova online volume resize with multipathd" 2022-08-03 09:40:12 +00:00
Mark Goddard
d95e237f3d Persist Bifrost's autogenerated passwords
By default Bifrost generates passwords for use by services, and stores
them in files in /root/.config/bifrost/ in the container. This directory
is not persistent, so the passwords are lost if the container is
recreated. This is generally not a problem, because recreating the
container is generally done when redeploying Bifrost, and new passwords
will be generated and written to configuration files. However, if you
access the Ironic or Inspector APIs outside of the Bifrost playbooks,
the credentials will have changed.

This change fixes the issue by persisting the credentials directory in a
Docker volume. Note that applying this change will cause existing
credentials to be removed.

Closes-Bug: #1983356

Change-Id: I45a899e228b7634ba86fab5822139252c48a7f07
2022-08-02 11:26:42 +01:00
Zuul
6deebac611 Merge "Add proxysql support for database" 2022-07-29 18:04:31 +00:00
Zuul
5c1761a3f9 Merge "haproxy-config: move firewalld reload handler to haproxy role" 2022-07-29 16:22:21 +00:00
Mark Goddard
492bc7442f haproxy-config: move firewalld reload handler to haproxy role
With the handler in the haproxy-config role, it gets triggered once for
every service that changes the firewall config. This happens because the
role is included dynamically. If we move the handler to the haproxy
role, which is only included once, the handler will trigger at most
once.

This is a follow up for Iea3680142711873984efff2b701347b6a56dd355.

Change-Id: Iad9ed241026435085bc9a0f5802818010b47830f
2022-07-29 14:41:26 +01:00
Mark Goddard
5439189932 haproxy-config: Drop project_name variable
This variable shadows the name of the actual project that calls this
role, so we end up with the following nonsense:

  TASK [haproxy-config : Copying over haproxy-config haproxy config]

Change-Id: Id60046e0ddc7ec843f2e4ce7ddee7683470a88b2
2022-07-29 14:36:42 +01:00
Michal Arbet
de973b81fa Add proxysql support for database
Kolla environment currently uses haproxy
to fullfill HA in mariadb. This patch
is switching haproxy to proxysql if enabled.

This patch is also replacing mariadb's user
'haproxy' with user 'monitor'. This replacement
has two reasons:
  - Use better name to "monitor" galera claster
    as there are two services using this user
    (HAProxy, ProxySQL)
  - Set password for monitor user as it's
    always better to use password then not use.
    Previous haproxy user didn't use password
    as it was historically not possible with
    haproxy and mariadb-clustercheck wasn't
    implemented.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/769385
Depends-On: https://review.opendev.org/c/openstack/kolla/+/765781
Depends-On: https://review.opendev.org/c/openstack/kolla/+/850656

Change-Id: I0edae33d982c2e3f3b5f34b3d5ad07a431162844
2022-07-29 15:05:21 +02:00
Zuul
ee3cb2ae02 Merge "Switch to Jammy images" 2022-07-29 09:59:23 +00:00
Zuul
44c0060bdb Merge "Remove RabbitMQ policy removal code" 2022-07-29 09:40:12 +00:00
Zuul
fc1404861d Merge "adds firewalld configuration based on enabled services" 2022-07-29 08:31:26 +00:00
Victor Chembaev
277db5c3b7 Fix nova online volume resize with multipathd
Closes-Bug: 1982777

Change-Id: Ic752b981041b233ab55d5b9abef667b21b47857d
2022-07-28 21:40:27 +03:00
Radosław Piliszek
8a48223779 Adjust the distro_python_version for Jammy
We built Jammy images under the existing focal tag.

Change-Id: I22859732bbe241a78e9ea451f104e7810fa4cbcc
2022-07-28 14:17:29 +02:00
Radosław Piliszek
e872850189 Switch to Jammy images
Change-Id: I8ad42b20302a67b94b95a234da309279be0fe82d
2022-07-28 10:16:55 +02:00
Radosław Piliszek
fe522955d5 Remove RabbitMQ policy removal code
It is no longer needed per the removed comment.

Change-Id: I8d88c21c7e115b842a56f0ba5c780c3bde593964
2022-07-27 21:58:10 +02:00
k-s-dean
8553e52acd adds firewalld configuration based on enabled services
This change introduces automated configuration of firewalld and adds
a new filter for extracting services from the project_services dict.
the filter selects any enabled services and their haproxy element
and returns them so they can be iterated over.
This commit also enables automated configuration of firewalld from enabled
openstack services and adds them to the defined zone and reloads the
system firewall.

Change-Id: Iea3680142711873984efff2b701347b6a56dd355
2022-07-27 12:28:40 +01:00
Radosław Piliszek
1bb4acbf9a Remove the deprecated storage_interface var
Change-Id: I63673761959a560e97c848f092f086ceba25839a
2022-07-27 12:37:59 +02:00
Zuul
0272805d5b Merge "Revert "Allow cinder-backup to be configured to use S3 backend."" 2022-07-27 09:12:02 +00:00
Michal Nasiadka
b7fe60fc4d Revert "Allow cinder-backup to be configured to use S3 backend."
This reverts commit 73fc230fe3f1d159b5bb9d62a6e15f93cecb6e7c.

Reason for revert: CI jobs failing with "msg": "{{ s3_url }}: 's3_url' is undefined"

Change-Id: Iba7099988cea0c0d8254b9e202309cd9c82a984d
2022-07-27 06:52:22 +00:00
Zuul
aa1ae23c5a Merge "clustercheck: move from xinetd to socat" 2022-07-26 12:41:52 +00:00
Zuul
46ea26aa12 Merge "[CI] Fix storage upgrade jobs to run on Focal" 2022-07-26 12:23:12 +00:00
Zuul
35a3aa3458 Merge "Allow cinder-backup to be configured to use S3 backend." 2022-07-26 09:04:00 +00:00
Radosław Piliszek
332fdca50f [CI] Fix storage upgrade jobs to run on Focal
As they should be.

Change-Id: I92c0998040174298716d886dd9fc6e97f791764b
2022-07-26 07:29:35 +00:00
Michal Nasiadka
f940e6aa31 clustercheck: move from xinetd to socat
Needed for CentOS Stream 9 and Rocky Linux 9.

Change-Id: I614e64e227304fdc50c08bd16d67ccf03586b92c
2022-07-26 07:13:34 +00:00
Michal Nasiadka
dcf5a8b65f Fix var-spacing
ansible-lint introduced var-spacing - let's fix our code.

Change-Id: I0d8aaf3c522a5a6a5495032f6dbed8a2be0251f0
2022-07-25 22:15:15 +02:00