Commit Graph

404 Commits

Author SHA1 Message Date
Zuul b9fbaf8126 Merge "Adopt for usage openstack_resources role" 2024-02-02 21:26:08 +00:00
Dmitriy Rabotyagov 9ab52c9d2a Adopt for usage openstack_resources role
With efforts to create a resources in same, unified way,
we convert tempest role to use openstack_resources
for creating and managing openstack resources, like projects, flavors,
networks, images, etc. This should reduce maintenance costs
in case of futher collection updates and unify approach.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/878794
Change-Id: I848ab09f8b6c81681f0ce0b5c0cc53b5653791c5
2023-11-10 13:12:57 +00:00
Dmitriy Rabotyagov d1d727c752 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: I78c71cb33f456cfd8d255446d708a1a957e32440
2023-10-20 14:00:32 +02:00
Dmitriy Rabotyagov 05964887b8 Define constraints file for docs and renos
Right now we are not using any constraints for docs and releasenotes builds.
This has resulted in docs job failures once Sphinx 7.2.0 has been released.

The patch will ensure that constraints are used an we should not face
simmilar issue again.

TOX_CONSTRAINTS_FILE is updated by Release bot once new branch is created,
so it should always track relevant constraints.

Some extra syntax-related changes can apply, since patch is being passed
through ConfigParser, that does not preserve comments and align indenting.


Change-Id: I8c1c5c930a72ffd0d79ffeab46421c04b7ced0ca
2023-08-17 16:32:26 +02:00
Dmitriy Rabotyagov 045f45c12c Fix linters and metadata
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.

With that we also update metdata to reflect current state.

Depends-On: https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/888223
Change-Id: Iaab0ad50fd65287094522f77283a0112859d7730
2023-07-14 20:58:47 +02:00
Zuul c012c28a96 Merge "Add TLS support to trove backends" 2023-05-03 11:07:22 +00:00
Damian Dabrowski 2d1f4b405b Add TLS support to trove backends
By overriding the variable `trove_backend_ssl: True` HTTPS will
be enabled, disabling HTTP support on the trove backend api.

The ansible-role-pki is used to generate the required TLS
certificates if this functionality is enabled.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879085
Change-Id: I15223354a28f0cc6c203f0cb3a19b9af834d4158
2023-04-29 18:44:15 +02:00
Dmitriy Rabotyagov 1899934345 Add variables for rabbitmq ssl configuration
Change-Id: I53f50f5c7e56bdadd0456bfdeee1900a5fc91a89
2023-04-18 17:25:26 +02:00
Dmitriy Rabotyagov 62977e30f6 Ensure service is restarted on unit file changes
At the moment we don't restart services if systemd unit file is changed.

We knowingly prevent systemd_service role handlers to execute
by providing `state: started` as otherwise service will be restarted twice.
With that now  we ensure that role handlers will also listen for systemd
unit changes.

Change-Id: I5ba33177a121d75e92a929e5bd81cfd4872ef406
2023-04-11 14:32:33 +00:00
Dmitriy Rabotyagov 7b326d50c7 Adopt project_info fetch to collection 2.0
With ansible-collection version 2.0 return of project_info module
has changed. We need to adopt usage of module return to the new format.

Change-Id: Ib4f3ced7f2175e5187f8c16f88fbfbcb3a472d0b
2023-04-10 18:30:47 +02:00
OpenStack Release Bot fde458164b Update master for stable/zed
Add file to the reno documentation build to show release notes for
stable/zed.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.

Sem-Ver: feature
Change-Id: I7cd73a8e8eccf28e3991913a35aa3ac9e847774f
2022-12-13 13:21:58 +00:00
Dmitriy Rabotyagov 27880b4b50 Change networks_info output structure
With commit [1] to collection output structure of networks_info module
has been changed. With that we adpot to the new format.

[1] 9272146cf7

Change-Id: Ia0d50b96a4af59352a89c566137d8b0208338b6b
2022-08-29 20:16:49 +02:00
Dmitriy Rabotyagov 3ddd45d335 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: I7b01de89b459b4992ed9531e6c81259af21ba997
2022-06-15 19:37:00 +02:00
Dmitriy Rabotyagov 6dff6afa76 Switch sphinx language to en
With sphinx release of 5.0.0, they changed default for language variable
to 'en' from None. With that current None valuable is not valid and should
not be used.


Change-Id: Iabdc99ad150ea318263b4c384b26160c4b6c816a
2022-05-30 16:01:46 +02:00
OpenStack Proposal Bot 86770fd249 Updated from OpenStack Ansible Tests
Change-Id: Id0a07d09b1029edc1b57f1dcab5a5be91e077107
2022-03-31 20:15:39 +00:00
Marc Gariepy a78e9bcde7 Cleanup setup.py config
Change-Id: I852dfddbf8aac10d31fbaff4561cb159bd6bdc06
2022-03-31 10:40:49 -04:00
Jonathan Rosser 9762f84a34 Remove legacy policy.json cleanup handler
Change-Id: I0078082f2701f4bec072c0c931996c2ee8c4af76
2022-02-02 04:24:32 -05:00
Zuul 735f536e01 Merge "Use common service setup tasks from a collection rather than in-role" 2022-01-13 13:16:54 +00:00
Jonathan Rosser a0710f538e Use common service setup tasks from a collection rather than in-role
Change-Id: I02152618bd19800316b875f04da9e907f3446510
2022-01-12 17:21:32 +00:00
Jonathan Rosser 910fd589b7 Refactor use of include_vars
Use a first_found lookup instead of a with_first_found loop so that
the 'paths' parameter can be used.

This ensures that only vars from the role are included, and not vars
from a parent calling role. This can happen when a parent role has
a higher priority vars file available for inclusion than the role
it calls.

Change-Id: I41a360e6f99ecd0ca5e4c13888bff4f363d8bc33
2022-01-12 08:07:10 +00:00
OpenStack Proposal Bot 609edcc0e6 Updated from OpenStack Ansible Tests
Change-Id: I9a40cfff39ae1cd4c53e5f783b620298c1fa93b2
2021-12-17 16:48:48 +00:00
OpenStack Proposal Bot e19e27133b Updated from OpenStack Ansible Tests
Change-Id: I0e76cf0c6060dbd14707fb8d4b8a4ff993ab20c1
2021-12-04 17:41:51 +00:00
Damian Dabrowski ebc07a44e7 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: Ie9591c96d1e5c8f4dcf04524c04056934ceb00db
2021-12-02 19:21:50 +01:00
Dmitriy Rabotyagov d1e1b65144 Use config_template as a collection
Since we still use ceph-ansible that has their own implementation of
config_template module it's worth to use mentioned module as a collection
explicitly.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/819814



Change-Id: I377c7b182861a8c53c3ab43690c2bed0d648f3ae
2021-11-30 15:17:28 +02:00
Zuul b681a87ffe Merge "Drop config_template from role" 2021-11-26 15:47:15 +00:00
Dmitriy Rabotyagov 7163615111 Drop config_template from role
Change-Id: Ie9778bbd241805b81699d447247a04a0a7323a6b
2021-11-23 19:29:51 +02:00
Dmitriy Rabotyagov 8e72167d70 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: I27bbc7b97a2fec235d43b4ca502a3667450dc1fa
2021-09-21 17:28:49 +03:00
likui 717d0eeab9 Changed minversion in tox to 3.18.0
The patch bumps min version of tox to 3.18.0 in order to
replace tox's whitelist_externals by allowlist_externals option:
https://github.com/tox-dev/tox/blob/master/docs/changelog.rst#v3180-2020-07-23

Change-Id: I84c80aa01542eef2904c8a620ed929b13963d7f2
2021-07-03 21:22:42 +08:00
Dmitriy Rabotyagov 9f1416dd12 Replace linters test with integarted one
We've created integrated linters check job a while back and it's successfully
working for several releases. At the moment we experience difficulties
with future maintenance of the linters check from the openstack-ansible-tests
repo. So instead of fixing current one, we replace it with modern version of
the test.


Change-Id: I2587d1c6ec05d5a31a69143eecc16f7b84dce669
2021-05-21 16:07:05 +03:00
Zuul 6900ab9bf4 Merge "Do not override service project description" 2021-04-29 09:50:13 +00:00
Dmitriy Rabotyagov 21619ca389 Adjust service restart handlers
We should make service restart handlers more universal, since
there might be cases where api and taskmanager are placed on different
hosts. So we should restart services only when they are present, and
filtered_trove_services helps us here as defines only services that
should exist on the host.

This also align handler with other services and fix taskmanager restart
as it is missing now but conductor is restarted twice instead.

Change-Id: Ia5c92f312a773c88563c61bba327f07ef369d62c
2021-04-26 12:39:46 +03:00
Dmitriy Rabotyagov 390989cfc7 Do not override service project description
By default OSA shares `service` project across services. So we should
not override _project_description with services

Change-Id: I0e194c5bf0ae4de1c9dd906c36955b6217d3f601
2021-04-23 10:35:25 +03:00
Zuul 2a4ec0de84 Merge "[doc] Document how to use separate RabbitMQ cluster" 2021-04-22 16:01:33 +00:00
Zuul 418be1cebe Merge "Update trove configuration" 2021-04-22 16:01:27 +00:00
Zuul eca0398277 Merge "Updated from OpenStack Ansible Tests" 2021-04-19 15:55:28 +00:00
OpenStack Proposal Bot 10ae1b5f20 Updated from OpenStack Ansible Tests
Change-Id: Ib09b4341ebfe263490c9dde65ed7d0253e3ea170
2021-04-19 10:00:18 +00:00
Dmitriy Rabotyagov 9b8e916d19 [doc] Document how to use separate RabbitMQ cluster
Since Trove requires guest network to be passed to the rabbitmq it makes
sense to use standalone rabbitmq cluster and instruction about how to do
might be useful

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/784780
Change-Id: Ibbc6faa2a5d5b3af39db9ae214ba9087a777a0eb
2021-04-14 13:26:05 +00:00
Dmitriy Rabotyagov c92b99d3f4 Update trove configuration
We haven't payed attention to the trove for a while and we need to
align configuration with current state of the service.
trove-conductor and trove-taskmanager configs are not
loaded by trove services anymore (at least by default), so we merge all
options into trove.conf

Also defaults and deprecated options are dropped from the config.

We implement bunch of new variables to cover missed logic and
some usecases.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/784565
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/784113
Change-Id: I2ba758de38ed3fee10fe1485aa25621eddbf9046
2021-04-14 10:18:29 +00:00
Dmitriy Rabotyagov 0de33a0243 Use uWSGI for trove-api
This migrate trove-api to usage of the uwsgi from native service to
align with other service way of deployment and since that's how service
is tested in devstack.

Change-Id: I83ad3af282942ff9714757e863f393894ac35f45
2021-04-14 13:17:44 +03:00
Zuul a260062504 Merge "Change default pool subnet" 2021-04-13 14:46:43 +00:00
Zuul ec9de1702a Merge "Use ansible_facts[] instead of fact variables" 2021-04-13 11:26:45 +00:00
Dmitriy Rabotyagov c99957f375 Change default pool subnet
To match documentation and general pattern of service networks,
we change default subnets that will be used by trove instances.

Change-Id: I7a0f23b0cdd314206f299a860685e2f96ac3f625
2021-04-08 09:09:25 +00:00
Dmitriy Rabotyagov 875954ef3c Add image upload option
Allow deployers to manage trove guestimages with trove role. This will
allow us to correctly test role with tempest, since we were not able to
upload images with tags otherwise

Change-Id: If2f550ef09cd01ec5eab485f0d81ecfaf32f924f
2021-04-08 09:09:06 +00:00
Zuul f2e346cfce Merge "[reno] Stop publishing release notes" 2021-04-06 19:36:27 +00:00
Zuul d87107621a Merge "[goal] Deprecate the JSON formatted policy file" 2021-04-06 14:01:14 +00:00
Dmitriy Rabotyagov eccf80bb7f [goal] Deprecate the JSON formatted policy file
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to replace policy.json to
policy.yaml and remove deprecated policy.json.

config_template has been choosen instead of the copy, since it can
properly handle content that has been lookuped.

We make a separate task not to restart service when it's not needed.

[1] https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html

Change-Id: I866fea573429ddcedf1547d9fa8a7caae448eca2
2021-03-30 16:54:44 +00:00
OpenStack Proposal Bot 2624effcaa Updated from OpenStack Ansible Tests
Change-Id: I5d12c7a1d5dbaa39175ffe318f998c43db9c8181
2021-03-25 10:20:40 +00:00
dmitriy 1ebe2de5e7 [reno] Stop publishing release notes
Since we copy all release notes to the integrated repo there is not need
in publishing release notes for each repository. We should only verify their
validity and linting.


Change-Id: I760b42b9f2c80932e3286d8c686d10b90f3f03b5
2021-03-25 10:20:14 +00:00
Jonathan Rosser f67c296bff Use ansible_facts[] instead of fact variables
See https://github.com/ansible/ansible/issues/73654

Change-Id: I29de46e830e0a63c1da90043ec08c5dcc56b7e3e
2021-03-25 10:20:05 +00:00
Dmitriy Rabotyagov d14cd8cea4 Retry on creating trove network
For pretty weird reason, first request to create a network to the neutron
fails with 500 without reasonable stack trace. Re-running request succeeds.
So we adding retries to the task which resolves metnioned issue.

Change-Id: I5b09dc3bc52d98df756cdc60c5e94cd1e7344e9a
2021-03-24 18:18:22 +00:00