6439 Commits

Author SHA1 Message Date
Zuul
6c3513f4f4 Merge "[TrivialFix] Fix task name in Ironic config" 2022-08-31 18:07:08 +00:00
Zuul
41803729f3 Merge "keystone: Remove redundant 'when'" 2022-08-30 19:36:45 +00:00
Zuul
b6f9c1c492 Merge "Fix haproxy prechecks after deployment" 2022-08-30 19:36:42 +00:00
Zuul
490cb977c2 Merge "[security] Make Ironic tftpd run as nobody" 2022-08-30 19:35:07 +00:00
Zuul
5eb81ca2a9 Merge "Fix creation of prometheus user and grant permissions" 2022-08-30 17:18:36 +00:00
Michal Arbet
c5500bdfd2 Fix creation of prometheus user and grant permissions
Prometheus is creating user and granting permissions
to database from which is gathering metrics. This
process is different when haproxy/proxysql is used.

Proxysql:

  - kolla-ansible should use root_shard_ID user to connect
    to ProxySQL endpoint and it is routed to proper shard.

Haproxy:

  - kolla-ansible should use root user to connect to HAProxy
    endpoint and that's all.

If proxysql is not used, mariadb role will not create user
shard_root_ID user in bootstrap (from my perspective of view
it should), and therefore it will fail when HAProxy is used.

This patch is just fixing user to connect.

Change-Id: Icd07807b2c404eb4d3f398879639b17f1e7949c2
2022-08-30 15:37:04 +02:00
Radosław Piliszek
a3d8e88fee Fix haproxy prechecks after deployment
HAProxy prechecks could fail if the ansible_user was not allowed
to access Docker API.

Change-Id: I09bfa35392bed77321d2de2424e44e60b60a8451
2022-08-29 16:43:45 +00:00
Pierre Riteau
b8928ce54b Switch Prometheus Alertmanager to active/passive
Closes-Bug: #1987866
Change-Id: Iaf352a15b9e6c9607e0d33c803c132d9267ca727
2022-08-29 18:25:52 +02:00
Pierre Riteau
f7b1221032 Use active_passive parameter for existing services
MariaDB is left unchanged because its custom_member_list uses a
different group (mariadb_default_database_shard_hosts).

Change-Id: Icefd5a3d02ae4dfeb27401696c35ca2c38e203d3
2022-08-29 14:38:02 +02:00
LinPeiWen
aa80f81d30 keystone: Remove redundant 'when'
In a multi-controller node, the presence of "run_once: True"
and "when: inventory_hostname == groups['keystone'][-1]"
will cause the task to be skipped

Closes-Bug: #1987982

Change-Id: I6a8f4ca285cda0675711b631aeed7ae4c992d879
2022-08-29 19:42:05 +08:00
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
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
209ba365cc [TrivialFix] Fix task name in Ironic config
Change-Id: I6b03d7ec0eb84c9a2544c2ad13102028452c2ec1
2022-08-26 11:05:34 +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
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
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
981699f554 Merge "Add clouds.yaml file and use it" 2022-08-09 13:14:55 +00: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
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
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
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
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
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
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
35a3aa3458 Merge "Allow cinder-backup to be configured to use S3 backend." 2022-07-26 09:04:00 +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
Zuul
0f2c56ca54 Merge "Add support for Ubuntu Jammy Jellyfish (22.04 LTS)" 2022-07-21 14:12:15 +00:00
Zuul
db271bebad Merge "make "external_labels" optional on prometheus.yml" 2022-07-21 13:26:04 +00:00
Sergei Raiskii
73fc230fe3 Allow cinder-backup to be configured to use S3 backend.
Added options to configure S3 cinder backup driver, so cinder backup
can use S3 storage, for safekeeping backups.

Change-Id: Id6ff6206714581555baacecebfb6d8dd53bed8ac
2022-07-21 15:38:08 +03:00
Zuul
169ceba8c2 Merge "Add [taskflow] section for masakari.conf.j2" 2022-07-21 11:47:19 +00:00