Commit Graph

13 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov 8ac4957d11 Add quorum queues support for service
This change implements and enables by default quorum support
for rabbitmq as well as providing default variables to globally tune
it's behaviour.

In order to ensure upgrade path and ability to switch back to HA queues
we change vhost names with removing leading `/`, as enabling quorum
requires to remove exchange which is tricky thing to do with running
services.

Change-Id: I900f40d7db6c26356252a7be736c1b3bdc98cace
2023-10-30 18:01:42 +00:00
Dmitriy Rabotyagov 6474c35998 Use proper galera port in configuration
While <service>_galera_port is defined and used for db_setup
role, it's not in fact used in a connection string for oslo.db.

Change-Id: Ib582426992abd919574579207d9740bc01fa9e76
2023-07-31 15:17:21 +02:00
Danila Balagansky 05b37e5542 Allow running Mistral API service without uWSGI
While running Mistral API service within uWSGI, Mistral's Cron
Triggers do not create Workflow Exectuions. This change would disable
Cron Triggers for all existing installations as running API service
within uWSGI stays enabled by default.

Change-Id: I25b622de40c02f3cc410070e04e2d5d0fd67abc9
2022-07-13 18:48:04 +03:00
Dmitriy Rabotyagov 2a8972b5e8 Support service tokens
Implement support for service_tokens. For that we convert
role_name to be a list along with renaming corresponding variable.

Additionally service_type is defined now for keystone_authtoken which
enables to validate tokens with restricted access rules

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/845690
Change-Id: Ie34df51cc0284b23713a897c8bc9d4958a1fe385
2022-06-15 19:14:14 +02:00
Damian Dabrowski fc7cc65df2 Database connection pooling improvements
- Implemented new variable ``connection_recycle_time`` responsible for SQLAlchemy's connection recycling
- Set new default values for db pooling variables which are inherited from the global ones.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/819424
Change-Id: I6f71c588ccec56e37ec707fc7f9c29037fcd668f
2021-12-03 11:41:15 +01:00
Dmitriy Rabotyagov ce27e5ec39 Refactor galera_use_ssl behaviour
With PKI role in place in most cases you don't need to explicitly
provide path to the CA file because PKI role ensures that CA is trusted
by the system overall. In the meanwhile in PyMySQL [1] you must either
provide CA file or cert/key or enable verify.

Since current behaviour is to provide path to the custom CA we expect
certificate being trusted overall. Thus we enable cert verification when
galera_use_ssl is True.

[1] 78f0cf99e5/pymysql/connections.py (L267)

Change-Id: Ic050f71a2e9a48e12e2549ffdf60223d2b0c601d
2021-09-21 16:20:03 +03:00
Jonathan Rosser 9edf8bf43c Add variables for rabbitmq ssl configuration
Change-Id: I613d2d310ad4fbce4d017533c4739243f586a2c5
2021-05-17 11:28:33 +00:00
Dmitriy Rabotyagov 189ef72694 Refactor memcached_servers
This patch aims to add a prefix for memcached_server
on each role to give the ability for deployers to
override the location of memcached cluster. I.e users
wants to create a single memcached cluster with k8s
for each service.

We also add pymemcache based on [1]

[1] https://review.opendev.org/711429

Change-Id: Ieca2e8cd7959005f354412eb5a9f17b4363a5853
2020-03-25 18:52:04 +02:00
Dmitriy Rabotyagov ac93b1f46f Start using uWSGI role
Move service to use uWSGI role instead of iternal task for uwsgi
deployment. This aims to ease the maintenance of uWSGI and speedup
metal deployments as the same uwsgi environment will be used
across all services.

Change-Id: Ia1788a7a9ce80349440bedbb2a0fdeb2a7f9934a
2019-09-05 14:46:14 +03:00
Dmitriy Rabotyagov c9e5f629b4 Use systemd-journald instead of log files
This patch aims to migrate service from usage of regular syslog files
to journald. We also disable uwsgi logging, since it dublicates
requests that are logged by service itself.

Change-Id: I61605b7820bb518fb809b01781f6d83f89487be8
2019-07-17 16:14:34 +00:00
Jimmy McCrory 9dc1001380 Fix distro installs on Ubuntu
Beginning in the Stein release, Ubuntu distro packages are now using
Python3. This requires additionally installing and using the uwsgi
python3 plugin.

Install the 'python3-mistral' package instead of individual service
packages since they provide service config files that conflict
with the ones OSA provides.

Depends-On: https://review.opendev.org/#/c/662571
Change-Id: I4b9846a12382f3ef4acdffce8a6f2338ed45d6ff
2019-06-10 23:47:22 +00:00
Guilherme Steinmüller 36daa97e1b Remove deprecated auth_uri
Change-Id: Ie2bf0c55d3eb8c275faa4a3f1891bf46033888ad
2019-03-08 21:34:54 +00:00
Mohammed Naser b6f83caabf Add initial Mistral role
This role allows the installation of Mistral alongside running
all of the API tests.

Depends-On: I2e19efd5fdcb0bdbb3d1cd5ee44f20e4807ea537
Depends-On: Ie3d8fb921dfedff0852b630a0a0af17b97c1bffa
Change-Id: I2390533690cd2c4511a272cc0834e240bb554696
2019-02-06 15:42:34 -05:00