13196 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
f1d27f7ddb [security] Make Ironic tftpd run as nobody
This avoids root privileges in tftpd's unprivileged container.

Change-Id: I50366205c9cefe2af26c27580c02368f029b7605
2022-08-26 21:48:54 +02:00
Radosław Piliszek
8341725185 [docs] Fix Ironic flavor creation command
And also simplify it to a single command.

Change-Id: I0e1a34711e4e0536d8d51002b316b011f2a22296
2022-08-26 21:43:45 +02:00
Radosław Piliszek
209ba365cc [TrivialFix] Fix task name in Ironic config
Change-Id: I6b03d7ec0eb84c9a2544c2ad13102028452c2ec1
2022-08-26 11:05:34 +02:00
Radosław Piliszek
b695c5d89e [docs] Update IPA images urls
Starting with Zed, Ironic builds IPA on centos9.

Change-Id: I7bacd392944148f471ec421301bfc8106a55b68a
2022-08-25 12:13:30 +02:00
Radosław Piliszek
fa3544d92b [docs] Align IPA images urls
To reflect stable branches.

Change-Id: I8d7e0cbda3f55e2c96121e4d819385020f4e8aad
2022-08-25 12:11:26 +02: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
Radosław Piliszek
1d524955f0 [docs] Overview of Ironic, instead of scaring
This change amends the docs as we test Ironic quite thoroughly.

Change-Id: I1ff27dfb328fd7b06fd6951a37cf9a0e111e753b
2022-08-22 11:34:24 +02: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
wangxiyuan
bafdab171d Upgrade openEuler Distro
openEuler 20.03 LTS SP2 is out of date. This patch:
1. Upgrade openEuler to 22.03 TLS for host OS.
2. Switch guest OS from centOS 8 to ubuntu

Change-Id: If2ff036e965def141f67240945802611e1f4dc4e
2022-08-22 00:51:19 +00:00
Will Szumski
0fe8010c88 Introduce variables for cinder backend names
This allows you to use a more descriptive name if you desire.
For example, when using cinder with multiple ceph backends, rbd-1,
doesn't convey much information. You could include location, disk
technology, etc. in the name.

Change-Id: Icfdc2e5726fec8b645d6c2c63391a13c31f2ce9a
2022-08-17 15:19:37 +01: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
d6f4ef81f6 Enable TLS in Bifrost
Bifrost supports enabling TLS for the services it deploys, as well as
generating a self-signed TLS certificate. Let's use it.

Change-Id: I2a60ec780c37895e810cdba65bb485d0986a196d
2022-08-02 13:07:39 +01: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