34 Commits

Author SHA1 Message Date
Zuul
f6d1ea1ca7 Merge "Add variable to configure storage options" 2024-06-04 22:59:16 +00:00
Zuul
a213aaa405 Merge "Define region and interface for collector/fetcher" 2024-06-03 16:23:01 +00:00
Dmitriy Rabotyagov
d5e8260337 Define unique hostname for QManager
Due to the shortcoming of QManager implementation [1], in case of uWSGI
usage on metal hosts, the flow ends up with having the same
hostname/processname set, making services to fight over same file
under SHM.

In order to avoid this, we prepend the hostname with a service_name.
We can not change processname instead, since it will lead to the fight
between different processes of the same service.

[1] https://bugs.launchpad.net/oslo.messaging/+bug/2065922

Change-Id: Ice4a0310c3218b4588b8f9a212882c713b966433
2024-05-25 13:25:00 +02:00
Dmitriy Rabotyagov
fae91db568 Define region and interface for collector/fetcher
It appears, that produced gnocchiclient does not respect region_name
from the auth_section, thus it needs to be defined directly for the
fetcher.

We align collector for now with fetcher, to make change backportable.

Closes-Bug: #2067084
Change-Id: If3a37b6190449e18446e65ce3b8cb70cd9038c37
2024-05-25 11:50:31 +02:00
Dmitriy Rabotyagov
7ee5018dfc Add variable to configure storage options
With addition of storage v2 versions and v2 API it's now less trivial
to rely on overrides for storage configuration, which most likely will be
needed regardless, since v1 storages are incompatible with /v2 API,
and latter one gets disabled whenever v1 storage is in use.

With that there's no dummy storage in /v2 for testing purposes, so
we are not able to have any reasonable default out of the box.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/920058
Change-Id: Ic0d055c98ee6e35fb28b26de8cf3d20e7e79ad87
2024-05-20 17:02:36 +00:00
Dmitriy Rabotyagov
f982198725 Add qos_prefetch_count to variables
When rabbit_stream_fanout is set to true, rabbit_qos_prefetch_count
should be set to a positive value.

This also fixes defenition of transient_quorum_queue as if
rabbit_stream_fanout is enabled - transient_quorum_queue should be also
enabled. [1]

[1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_rabbit.py#L726-L736

Change-Id: I2c25783d4c65aa04ad9305adf2cbb6028e1dab57
2024-05-10 18:44:14 +02:00
Dmitriy Rabotyagov
0d69f9f02c Implement variables to address oslo.messaging improvements
During last release cycle oslo.messaging has landed [1] series of extremely
useful changes that are designed to implement modern messaging
techniques for rabbitmq quorum queues.

Since these changes are breaking and require queues being re-created,
it makes total sense to align these with migration to quorum queues by default.

[1] https://review.opendev.org/q/topic:%22bug-2031497%22

Change-Id: I520ae8cf928404a9ed077d6e6812c4f13d0102bb
2024-05-03 19:22:36 +02:00
Dmitriy Rabotyagov
f8c9874420 Add variable to globally control notifications enablement
In order to be able to globally enable notification reporting for all services,
without an need to have ceilometer deployed or bunch of overrides for each
service, we add `oslomsg_notify_enabled` variable that aims to control
behaviour of enabled notifications.

Presence of ceilometer is still respected by default and being referenced.

Potential usecase are various billing panels that do rely on notifications
but do not require presence of Ceilometer.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/914144
Change-Id: I60746cedeec323bcede3bb5aa4968f0388e262bb
2024-05-03 19:19:08 +02:00
Dmitriy Rabotyagov
10164be39e 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: I722aefb5290a68311faf1d44c279151e8492466a
2023-10-20 11:53:46 +00:00
Dmitriy Rabotyagov
b6d15a95cb 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: Icb1de8c7e0a5196a4df457a5d4a3ca524d4622d0
2022-06-15 19:17:22 +00:00
Damian Dabrowski
40d38d0000 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: I4ae28b356a404c1e76e5cff986d4fe0172b564f2
2021-12-03 11:51:23 +01:00
Jonathan Herlin
b67bd60df3 Cloudkitty role cleanup and config updates
The Cloudkitty role has been lacking some attention for a while
causing some of the configuration and examples outdated.

Now that Cloudkitty playbook and dashboard can be installed using
OSA without running any additional playbooks from this repository
i have removed those from here.

Change-Id: I0fe96c318273f0016d93cf043bda74feb11c63f8
2021-06-09 10:03:21 +02:00
Jonathan Rosser
68e8d15cd5 Add variables for rabbitmq ssl configuration
Change-Id: If8362185261aefa741f9c21c57b3dfe258d8543d
2021-05-17 09:24:44 +00:00
Guilherme Steinmüller
9988a75734 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: I64614a02bd3a0d99a69a9c7ac59552ba7cb1fc88
2020-03-16 13:33:53 +00:00
Dmitriy Rabotyagov
6fb1e18a97 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: I4cd3270ef873b6f595b151014e82c8b4b35f12aa
2019-07-30 17:16:19 +03:00
Dmitriy Rabotjagov
fb6af2f3f0 Update role for new source build process
The variables cloudkitty_developer_mode and cloudkitty_venv_download
no longer carry any meaning. This review changes cloudkitty to
do the equivalent of what developer_mode was all the time,
meaning that it always builds the venv and never requires
the repo server, but it will use a repo server when available.

As part of this, we move the installation out of its own file
because it's now a single task to include the venv build role.
This is just to make it easier to follow the code.

We also change include_tasks to import_tasks and include_role
to import_role so that the tags in the python_venv_build role
will work.

Change-Id: Ieaec0a12a1ed6ea1f9a98a615fd8c6bff67a9d0c
2019-03-28 15:45:56 +02:00
Andy Smith
cfddca21eb Update to use oslo.messaging service 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 in conf
* Add oslo.messaging to tests inventory and update tests
* Install extra packages for optional drivers
* Add release note

Change-Id: I0612252927f81b3584054f6cd77a2826c5d3fc3b
2018-07-31 08:31:18 +01:00
Christian Zunker
81991f8621 Use coordination to prevent duplicate pricing
Use MySQL as coordination backend for cloudkitty-processors.
Otherwise prices may get calculated multiple times.

Change-Id: I661ca3b7ffb4f64242422297bafc938ca5082a12
Closes-Bug: 1777432
2018-06-18 14:16:16 +02:00
Zuul
8a29e5e319 Merge "Use cloudkitty_collector also for section config" 2018-05-09 10:24:53 +00:00
Christian Zunker
0cc6dff38b Use cloudkitty_collector also for section config
Each collector needs its own config section, so use cloudkitty_collector
to create these sections.

Change-Id: I6bc4c395693265ea08067bb293a99a72b48fe9a6
Closes-Bug: 1769629
2018-05-07 13:25:01 +02:00
Christian Zunker
9b523f9cc9 Use two seperate service variables
Use one variable for collected openstack services and another for
systemd services.

Change-Id: I1946243df319c00638e4ec4a4f1f144fd2131956
Closes-Bug: 1769625
2018-05-07 13:18:53 +02:00
ZhongShengping
9087009185 Deprecate auth_uri option
Option auth_uri from group keystone_authtoken is deprecated[1].
Use option www_authenticate_uri from group keystone_authtoken.

[1]https://review.openstack.org/#/c/508522/

Change-Id: I5e2ac3a6b044515c84695b441602b254f4859bd8
Implements: blueprint deprecate-auth-uri-option
2018-04-03 14:16:52 +08:00
ZhongShengping
1a65676306 Deprecate rpc_backend option
Option "rpc_backend" from group "DEFAULT" is deprecated for removal
(Replaced by [DEFAULT]/transport_url). Its value may be silently
ignored in the future.

Change-Id: Ia352ef7377e6e1f51fffb3181ad5ab422275f39a
Implements: blueprint deprecate-rpc-backend
2017-06-04 22:10:14 +08:00
ZhongShengping
e7b6458d39 Deprecate rabbit_use_ssl option
Option "rabbit_use_ssl" from group "oslo_messaging_rabbit" is deprecated.
Use option "ssl" from group "oslo_messaging_rabbit".

Change-Id: Ic9157cf1eb4d56843dcc4141e49c7a3ec3bcba89
Implements: blueprint deprecate-rabbit-use-ssl
2017-05-23 10:15:36 +08:00
ZhongShengping
4161ba9381 Remove pki support
Change-Id: Ib579885209f447b501fcb338da4d9321c0aa4498
Implements: blueprint remove-pki
2017-01-04 07:54:48 +00:00
Pedro Perez
be53f8eca8 update naming conventions for secret vars
Change-Id: I523b5f1ae56c1ff19ca6bd95e3e0e7f00e282c71
2016-11-18 16:42:48 +01:00
Pedro Perez
abf382bb68 Add rabbit_port to cloudkitty.conf template
Change-Id: I0dc824ccd4e46d9ab76d0908a1f28f3e9b1fe927
Closes-Bug: #1641695
2016-11-14 21:10:36 +01:00
Kevin Carter
1f497eba94 Disable stderr logging
OSLO logging currently defaults the 'use_stderr' option to True
which results duplicate logs in service daemon logs for both
upstart and systemd. To correct this issue the use_stderr
option has been set to false.

Change-Id: I177bcd724433543cb39bce7bce19f43a5675d492
Closes-Bug: 1588051
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-08-04 17:42:26 +00:00
Jimmy McCrory
870f41d21f Make corrections to default variables
Update default variables with a few corrections:
  * Fix name of 'cloudkitty_output_pipeline' variable
  * Change 'cloudkitty_service_type' to 'rating'
  * Remove unnecessary and redundant 'cloudkitty_pip_packages'

Change-Id: I9768471d1f67d074282e63033d9bd626fb4175af
2016-08-02 09:31:30 -07:00
Michael Rice
37165b1458 cloudkitty signing dir
Adds a task to fix the signing dir for cloudkitty
2016-05-18 19:48:47 -05:00
Michael Rice
76075abf71 more kitty changes
The cloudkitty.conf and defaults/main had some
incorrect info in it keeping kitty from working
correctly with keystone v3
2016-05-18 19:46:14 -05:00
Michael Rice
34dbe553d5 fixing up the template
The template for cloudkitty.conf was mostly hard
coded. This change adds the variables to many of
the hard coded things.
2016-05-18 19:46:14 -05:00
Michael Rice
974dbb2fa7 remove the service bit from main task
Removed the service setup from the task
2016-05-18 19:44:59 -05:00
Michael Rice
284c318e6e first commit 2016-05-08 12:03:41 -05:00