Commit Graph

30 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov e164cd56d8 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: I2e3f464534bffe9edd9d969c8d6a24adce06c02c
2023-10-20 14:17:25 +02:00
Dmitriy Rabotyagov 60d9d8b306 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: I65cbe26804fab48aed3c88ed75bfc7f28d3b5f9e
2023-07-31 15:45:51 +02:00
Dmitriy Rabotyagov 3e6078f67c Add my_ip to the zun config
my_ip is leveraged by multiple other options as a default value. So it
makes sense to define it to zun_service_address, which, in turn, is
defaulted to management_address.

Change-Id: Iaa409cde1246b4aacdc0b22cd165f64aa2ca2418
2023-05-19 09:05:40 +00:00
Dmitriy Rabotyagov 04b99a0f81 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: Id451d06bcc40c94e9ef021dd7e3c1d14703e73cc
2022-06-16 19:24:26 +00:00
Dmitriy Rabotyagov 4bf971f33d Update Zun api-paste
This also removes  CPUFilter from Zun filters as this filtering should be
done by Placement.

Change-Id: I3e463f7442ea6b17d73429e7e4dff2fb71217a30
2022-02-03 17:28:00 +00:00
Damian Dabrowski 954c0a96d0 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: Ib258eeb4989236215d645b21ed25f9d35c3a2a0a
2021-12-03 13:47:46 +00:00
Zuul 34b01f7c6d Merge "Refactor definition of lock path" 2021-12-02 22:59:49 +00:00
Dmitriy Rabotyagov ae6f549766 Refactor definition of lock path
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/819300
Depends-On: https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/819298
Change-Id: I0fb662cc3fe241bf3934306b7ee8a3c8fdbcf747
2021-12-02 10:10:56 +00:00
Dmitriy Rabotyagov e72c788d94 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: I8b7b266d2a0633b40d38581e734ad00714b89885
2021-12-02 08:07:37 +00:00
Zuul f51699d0e7 Merge "Add variables for rabbitmq ssl configuration" 2021-05-26 11:55:55 +00:00
Jonathan Rosser 796e49fa5b Add variables for rabbitmq ssl configuration
Change-Id: Ib261b39367603d386fe8416c407bfb7770afa844
2021-05-18 12:55:19 +00:00
Zuul f62fef7afb Merge "Fix oslo_messaging topic condition" 2021-04-21 23:02:28 +00:00
Dmitriy Rabotyagov 3fc2e641e3 Fix oslo_messaging topic condition
oslo_messaging_notifications topics have invalid conditions and rely on
the neutron variables

Change-Id: I0ebd14c79836cfbf43127c6642dfea5d426f4b8d
2021-04-20 20:57:27 +03:00
Andrew Bonney b5bd190e24 Improve image and network cleanup procedure
This adds periodic cleanup of the directory which zun uses to
temporarily cache images loaded from Glance to avoid it becoming
too large.

Docker image cleanup is adjusted to make it less aggressive as
the 'until' filtering has been seen to clear images which were
created more recently than one hour.

The network pruning is removed as this causes zun to become out
of sync with Docker which can prevent creation of new containers
on pruned networks.

Finally, the default is to leave cleanup disabled so that it can
be enabled purely based upon user preference.

As Systemd timers cannot be disabled, this is achieved via a file
presence check with can be overridden for manual execution.

Change-Id: I4532d9975a2e68a12a7755ca3798a59f4928593c
2021-02-19 09:37:32 +00:00
Andrew Bonney 7cc411f944 defaults: set up docker overrides using systemd role
Following on from https://review.opendev.org/765815, this change
moved the custom Docker configuration into variables rather than
its own template.

Depends-On: https://review.opendev.org/771216
Change-Id: I79371382227d0e9fdb710bff3875dc492210eae5
2021-02-01 08:26:07 +00:00
Andrew Bonney 67f1047af5 Add configuration for zun-wsproxy service
This fixes the configuration for the zun-wsproxy service which
relays messages from the Docker daemon, providing output from
containers' consoles to the Horizon dashboard.

Depends-On: https://review.opendev.org/769142
Change-Id: I7158e202be2e778a7a64e9ef2656f496caae97be
2021-01-25 13:07:44 +00:00
Andrew Bonney 154ecfe25a Prevent zun-wsproxy binding to all IP addresses
This issue is preventing metal upgrade jobs for
victoria->master from deploying haproxy correctly following the
merge of https://review.opendev.org/769142/.

This is intended to be a minimal patch to fix the binding
so that it can be backported in order to fix the upgrades.

Change-Id: I1c3dcbc21bee1bf6c66c9c2f77c4ff832db49f19
2021-01-25 12:18:00 +00:00
Andrew Bonney fb440ce3d0 Add support for kata container runtime
This adds support for kata containers by installing and configuring
the relevant runtime.

The default remains as 'runc' but can be adjusted using the
variable added to the defaults.

Change-Id: Iea07012d092333c656b397f97b541a2f0a5f0e44
2021-01-12 08:30:57 +00:00
Zuul 29a7510b18 Merge "Add timed cleanup script to handle old Docker data" 2021-01-10 16:46:14 +00:00
Andrew Bonney 83c4435950 zun: set configuration where compute host shared with nova
This ensures that only one record is generated in placement
for each compute host when both Nova and Zun run alongside
each other.

Change-Id: Ie5c741d47d114222934ad01097710fa8dc56dd4c
2021-01-08 11:39:29 +00:00
Andrew Bonney 6045bac2e8 Add timed cleanup script to handle old Docker data
The Docker image cache does not get emptied automatically and
can take up significant disk space. In addition, old networks can
leave iptables rules, network devices and routing table entries
behind.

This patch adds a periodic timer job to delete this data where it
is safe to do so and won't impact existing containers.

Change-Id: I7045fcbb8bcd7a9744cc35fb2668016bacab4f1b
2021-01-08 09:14:00 +00:00
Andrew Bonney 6d6a4beb28 Update zun role to match current requirements
Brings together a set of existing patches and attempts to address
permissions issues with the kuryr-libnetwork plugin.

Defaults are chosen to match the requirements of the tempest tests

Change-Id: Ie674947ba6673a92e53f85de2cc8acdae5788f8f
Depends-On: https://review.opendev.org/767469
2020-12-17 08:44:37 +00:00
Dmitriy Rabotyagov a240a29b80 Drop commented out values from configs
To make configs more readable it's worth dropping out commented out
lines. Also some issues in configs has been fixed.

Change-Id: I1d2316fbe9ae0c74b9d516d3a143c7a58ff59365
2020-03-26 21:11:29 +02:00
Dmitriy Rabotyagov 7ee1939c1c 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] and fix zun-docker
systemd config.

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

Change-Id: Ic7b31506177ebb0f4f24eaff4db134aace5c0b1a
2020-03-25 22:26:05 +02:00
Dmitriy Rabotyagov 0839ec0935 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: Id466ac20d9d18fa86a4615a73433a51720bafc8e
2019-07-17 20:32:48 +03:00
Zuul e7e900e8ef Merge "Remove rabbit_max_retries option" 2018-09-18 23:32:24 +00:00
Matt Riedemann 5b55303718 Remove deprecated Disk/RamFilter usage
As of change https://review.openstack.org/#/c/596502/ nova
has deprecated the RamFilter and DiskFilter since they are
not necessary when using the default scheduler driver
(filter_scheduler). This change removes their usage from
this deployment project.

Change-Id: I9c05016817cb03933292f09d06119795f8f451a0
2018-08-28 14:30:42 -04:00
wangqi 401c82ecc0 Remove rabbit_max_retries option
The rabbit_max_retries parameter has been deprecated

Change-Id: I856a75faa4f55deb24265a7464581863c086c2a5
2018-08-01 11:43:09 +00:00
Andy Smith 4df8a013fe Update to use oslo.messaging service for RPC and Notify
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters replace
the rabbitmq values and are used to generate the messaging
transport_url for the service.

This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation
* Add oslo.messaging to tests inventory and update tests
* Install extra packages for optional drivers

Change-Id: I0b2138ca9eb49387948f2ca87800cf966a9414a8
2018-07-26 09:31:02 +00:00
Kevin Carter daf9f9d60a
first commit
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-06-05 15:36:33 -05:00