298 Commits

Author SHA1 Message Date
Takashi Kajinami
b816669b3e cache: Support options for SASL mechanism in memcached
Note:
The trove::cache class was added during this cycle so we skip adding
a release note file.

Depends-on: https://review.opendev.org/910122
Change-Id: I697f956af1ee8f2fa058e2bb4a577f2c9ab11dee
2024-03-05 13:27:44 +09:00
Takashi Kajinami
06b384e84d Support healthcheck middleware options
Trove introduced the healthcheck middleware during this cycle. This
introduces the new class to support the middleware options.

Depends-on: https://review.opendev.org/c/openstack/trove/+/910117
Change-Id: I5baf1e07078cb904d0c1ca17874c2639620e5e4f
2024-02-28 11:12:11 +09:00
Zuul
1ceca6c229 Merge "quota: Stop overriding defaults" 2024-02-05 22:18:56 +00:00
Takashi Kajinami
65214a004a Add support for caching options
Trove supports caching using the oslo.cache library. This add support
for customizing caching options.

Change-Id: Ic4f8b9dc285efb4cd983cc6ba8a9eeaedd188456
2024-02-04 01:37:31 +09:00
Takashi Kajinami
2db61dcc98 quota: Stop overriding defaults
... and use the service defaults instead. Current values are based on
the old default values in trove but these were changed in trove some
time ago[1].

[1] 9e3860d54cc0fea59e80b1705c02c78cca8e1953

Change-Id: If6ba170457ca11cbd0531ff8ea1e87346b43dcc2
2024-02-03 16:44:56 +09:00
Takashi Kajinami
0a832b7a06 Add support for volume options
This introduces a few new parameters to customize volume creation for
database instances.

Depends-on: https://review.opendev.org/c/openstack/trove/+/823164
Change-Id: Ie5b862422567083802a86fabeee11d5c80b8f396
2023-12-27 10:44:15 +09:00
Zuul
4c87eadbd3 Merge "Use new openstackclient tag" 2023-11-20 18:21:36 +00:00
Takashi Kajinami
fd985c46f5 Use new openstackclient tag
This looses dependency using the new openstackclient tag, which
requires only packages actually related to openstack CLI.

Also, the troveclient package is required by trove so updating it
should restart the services.

Depends-on: https://review.opendev.org/899594
Change-Id: I52bf30c3ce857509ff1463abb7a493eb8dd48b97
2023-11-20 01:18:17 +09:00
Takashi Kajinami
d1d0a1ebc5 Use :commands interface for trove-manage
The trove_manage function is quite redundant because it requires
the full argument even including the trove-manage command itself.

This refactors the function using the :commands definition.

Change-Id: Icce7f9a984484c64fe4fec63cfaa93b50d3b4f14
2023-11-16 16:24:20 +09:00
Takashi Kajinami
428129c2e1 Remove usage of deleted manifest_dir
Recent update in rspec-puppet removed some of the config interfaces for
old puppet versions[1]. This drops usage of these interfaces to resolve
the following error in unit tests.

```
An error occurred while loading ./spec/unit/provider/manila_spec.rb.
Failure/Error: c.manifest_dir = File.join(fixture_path, 'manifests')

NoMethodError:
  undefined method `manifest_dir='...
```

This also removes explicit setting of mock module. The definition is
no longer required since we bumped puppetlabs_spec_helper to v 5.0.0.

[1] 316d95923c

Change-Id: I0d6dc19fe8c34c89cdbbde3770f99d4d1da6e9a2
2023-10-11 12:10:33 +09:00
Takashi Kajinami
b7f441682a RabbitMQ: Add support for quorum queue options
Depends-on: https://review.opendev.org/894866
Change-Id: Ib1ec7e7e3d39c58f3645ea934080b3389484a1ea
2023-09-15 13:50:09 +09:00
Takashi Kajinami
3504c344c0 Fix ignored rabbit_heartbeat_in_pthread
... and adds support for a few more heartbeat options.

Change-Id: Id5c84897cea25de95b5382cd2b6b9719e2cc9892
2023-09-15 13:48:38 +09:00
Tobias Urdin
160b0b18d1 Add per module policy service refresh
Updating the policies for this project should only
refresh the services that reads it.

Change-Id: I4733a5d445621ff1cb270fa3be3811b531b9a7b8
2023-06-26 00:06:31 +02:00
Takashi Kajinami
75feab0b22 Stop hard-coding default of service_type options
... because the values are exactly same as the service defaults.

Change-Id: Ibb1da63bccd0abaf90a81cdc0461e32747f24c6b
2023-06-21 15:26:25 +09:00
Takashi Kajinami
0c3ce23124 Add support for [DEFAULT] glance_url
Change-Id: I641f6e0c0e496d2dfd163318ca02fd12cf7767ec
2023-06-21 13:37:45 +09:00
Takashi Kajinami
80bd5e8abf Replace unnecessary usage of false
We currently accept false for some parameters, as an indicator to
purge options but this can be replaced by the os_service_default fact.

Change-Id: Ie6632c21b5723d1db73cfae9fa52b543fd91a605
2023-06-21 10:23:06 +09:00
Takashi Kajinami
505c5dbbe4 Replace legacy facts and use fact hash
... because the latest lint no longer allows usage of legacy facts and
top scope fact.

This also fixes the wrong wsgi script name introduced by [1] to fix
broken litmus jobs.

[1] d7a1ea5fb7632e58a69f7dead32c28f1a9419a2e

Change-Id: Idb7d655242ccd6f785ea4dfbb94d8ff3ad961b03
2023-03-02 13:53:25 +09:00
Zuul
c9da126ea7 Merge "Support running trove-api using httpd+mod_wsgi" 2023-02-24 09:03:46 +00:00
Zuul
b092381c59 Merge "trove_datastore_version: Validate status" 2023-02-24 08:57:05 +00:00
Zuul
bdb3712b89 Merge "trove_datastore: Make version optional" 2023-02-24 08:57:03 +00:00
Takashi Kajinami
0541ab7507 trove_datastore_version: Validate status
The status argument of datastore_version update command accepts only
0 or 1. This ensures a correct value is used by property validation
instead of attempting to execute the command with an invalid value.

Change-Id: I3eeace41c677157d6b5913a7ab9092e3456106a7
2023-02-24 03:24:07 +09:00
Takashi Kajinami
ead07878ba trove_datastore: Make version optional
datastore version can't be used until the version is registered but we
can't register the version before we register datastore before applying
catalog. This makes version optional to avoid that dependency look.

Partial-Bug: #2007961
Change-Id: Ieba9c10b49f41980555e2734bb29415fcf0b585f
2023-02-23 17:47:22 +00:00
Takashi Kajinami
d7a1ea5fb7 Support running trove-api using httpd+mod_wsgi
This change introduces support for running trove-api using httpd and
mod_wsgi, in addition to the existing method using the standalone
eventlet service.

Change-Id: I5eaaed5b0963c392070586ec7eb133603c7c0dfd
2023-02-21 16:44:02 +09:00
Takashi Kajinami
12131677e9 Support mysql/mariadb options
This change introduces the new class to manage [mysql] options and
[mariadb] options so that users can configure behavior of the guest
agent to launch and manage mysql instances and mariadb instances.

This also introduces support for options to manage container registry
used to pull container images.

Change-Id: Ic7b1d555cf2090f7278980edf226ddf318be489f
2023-02-20 20:02:56 +09:00
Zuul
0ca65d22c5 Merge "Replace mocha by rspec-mocks" 2023-01-31 15:35:13 +00:00
Takashi Kajinami
57b862412e Replace mocha by rspec-mocks
puppetlabs_spec_helper recommends rspec-mocks instead of mocha[1] and
it uses rspec-mocks by default instead of mocha since v 5.0.0[2]

This is the prep work to adapt to that migration.

[1] https://github.com/puppetlabs/puppetlabs_spec_helper/#mock_with
[2] 493f0cbc1c

Closes-Bug: #2004135
Change-Id: Iff0c788f58592a24dcd6ad4cca7e46468fa82d00
2023-01-30 13:24:42 +09:00
Takashi Kajinami
b30bd92450 Expose policy_default_rule
The option has been managed by the underlying puppet-oslo module but
has not been configurable. This introduces the parameter to customize
the option.

Change-Id: I865d24997e2cc78c1c5ce7ff5c36cf4af72867a1
2023-01-23 14:56:08 +09:00
Takashi Kajinami
2808913067 Enable memcached in acceptance tests
... because it is required as cache backend.

Change-Id: I7b9cf3581c427f5a7332d27a26568a63d26e9864
2022-09-07 01:02:13 +09:00
Zuul
bf850af7af Merge "Revert "CentOS 9: Disable unit tests dependent on puppet-postgresql"" 2022-07-25 23:39:58 +00:00
Zuul
41323ef4ad Merge "Remove resource types for per-daemon config files" 2022-07-25 16:03:11 +00:00
Takashi Kajinami
89a5440fd4 Revert "CentOS 9: Disable unit tests dependent on puppet-postgresql"
This reverts commit d07a47d2cbc51456a89936c3751013297fac96e9.

Reason for revert:
puppet-postgresql 8.1.0 was released and now the module supports RHEL 9
(and CentOS 9 effectively).

Note:
This change adds the service_provider fact in test fact data because
it is required by puppet-postgresql.

Depends-on: https://review.opendev.org/850705
Change-Id: Ib3e5b82c9685505465d19ab5b12987f020f74076
2022-07-24 01:02:16 +09:00
Zuul
dd4cefe338 Merge "Add acceptance tests for config management resources" 2022-07-15 19:37:27 +00:00
Takashi Kajinami
4d59d16be5 Remove resource types for per-daemon config files
Since yoga relase, this module no longer uses separate config files for
individual daemons but use the single trove.conf [1].

This change removes the remaining resource types for the separate
.conf files, which should have been removed by the cleanup patch[2].

[1] f1c11c68d56e4f1ad5125fa0df04ab91d929cd33
[2] 4d87fa2c694adb33607fa33273faa849792351b1

Change-Id: I66c1ccedc2ef1a73b5ee3f053b843e97be0d59b4
2022-07-15 18:05:59 +09:00
Takashi Kajinami
f2896b839f Fix wrong test description
The value with a white space should be accepted instead of being
rejected. This change fixes the wrong test case description and makes
sure the description explains what is actually tested.

Change-Id: I98236e30f7f5f267dd1476adb73bdb6ecaeaf521
2022-07-15 11:56:21 +09:00
Takashi Kajinami
ff05673016 Add acceptance tests for config management resources
Change-Id: I27c052e8e937f4775695ed44e14a9788677c2867
2022-07-10 12:55:55 +09:00
Zuul
8b7be73088 Merge "api: Remove redundant default values" 2022-06-28 14:37:55 +00:00
Zuul
0dbb89d797 Merge "Avoid hard-coding default of http_*_rate parameters" 2022-06-28 14:23:57 +00:00
Takashi Kajinami
f28094de53 api: Remove redundant default values
These default values are same as the actual default values in Trove,
thus we can replace these by $::os_service_default. This saves us
from maintaining our own default.

Change-Id: I557a919be3496d5314baec303764b7e8b99ed2de
2022-06-24 18:20:25 +09:00
Takashi Kajinami
df1c3e258e Avoid hard-coding default of http_*_rate parameters
The current hard-coded default values are exactly same as the default
values in Trove, thus can be replaced by $::os_service_default.

Change-Id: I241355d278f23ac05f42ef0150f41cc2a5795abb
2022-06-24 18:15:18 +09:00
Takashi Kajinami
74881548a4 Rename default_neutron_networks
... because the parameter was deprecated in favor of renaming to
the management_networks[1].

Also, allow usage of an Array value because the parameter is ListOpt.

[1] 44fbcfaaa608aba9184bd8757ba60c6a8155bae1

Change-Id: I4f8215995d098654d9303b54b5687552e94b23b7
2022-05-21 06:48:52 +00:00
Takashi Kajinami
18a4e46704 Remove use_neutron parameter
... because it was deprecated during Yoga cycle[1] and has had no
effect since then.

[1] ddb0f14f95156c483c499fe95982d2e5777b236f

Change-Id: Ib9eab7d3c174c11932afb05c66138dfe3cbf5a7c
2022-05-21 12:24:20 +09:00
Takashi Kajinami
4d87fa2c69 Clean up deprecated items related to conductor/taskmanager
This change removes deprecated parmaeters and classes related to
trove-conductor and trove-taskmanager. These were deprecated during
past cycles and are ready to be removed.

Depends-on: https://review.opendev.org/839061
Change-Id: I250fb4cd098b7aaa6f4b9488e7226ffb27355046
2022-04-22 13:42:46 +00:00
Zuul
59b44a838d Merge "Avoid testing details of oslo::messaging(::*)" 2022-03-18 21:50:08 +00:00
Takashi Kajinami
9d0381ab81 Avoid testing details of oslo::messaging(::*)
... so that any change in puppet-oslo would not directly break unit
tests.

Change-Id: Iba0599ff4485668ace1b044e6a922b2dafec6d3b
2022-03-18 13:50:07 +09:00
Takashi Kajinami
4c6e5c9d76 Disable trove-guestagent service by default
The trove-guestagent service should be run in instances instead of
OpenStack hosts. This change disables the service by default because
we expect these modules are used to deploy hosts, and we don't expect
any use case where this puppet module is used to build the trove guest
image.

Closes-Bug: #1965228
Closes-Bug: #1485397
Change-Id: I57aa6ecd008f1a7a271e7baafc95cd75bf700f54
2022-03-17 15:23:59 +09:00
Takashi Kajinami
f35dc66ff3 Globally support system scope credentials
After spending huge effort to understand the exact requirements to
enforce SRBAC, we learned it's very difficult to find the required
scope in each credential. This requires understanding implementation of
client-side as well as server-side, and requirement might be different
according to the deployment architecture or features used.

Instead of implementing support based on the actual implementation,
this introduces support for system scope credentials to all places
where keystone user credential is defined, and make all credential
configurations consistent.

Change-Id: I5cad33c4caf1e3b3408dba5328c8b2f67a85b555
2022-03-11 05:17:13 +00:00
Takashi Kajinami
967522885a Clean up deprecated keystone v2 parameters
... and automated detection of auth_url parameter.

These were deprecated during the Ussuri cycle[1].

[1] 1d3bffd18b903aba95e5590b3c8444334d21a656

Depends-on: https://review.opendev.org/823886
Change-Id: I8304a0fd3bcabaf236a03c98f368b35842c7bff1
2022-03-11 05:17:03 +00:00
Zuul
9032b00c28 Merge "Deprecate the use_neutron parameter" 2022-03-11 00:46:22 +00:00
Zuul
32d22efab5 Merge "Use single trove.conf for api, conductor and taskmanager" 2022-03-11 00:46:20 +00:00
Takashi Kajinami
ddb0f14f95 Deprecate the use_neutron parameter
... because nova-network was removed a while ago and now neutron should
be used always.

Change-Id: Icc23d46b18c0bdc0564219d3773f2a3b5d99a829
2022-03-07 23:57:24 +00:00