Commit Graph

597 Commits

Author SHA1 Message Date
Zuul 4105195a3b Merge "disk: Expose more options" 2024-02-29 18:30:49 +00:00
Zuul 93fa8870db Merge "ext4: Sync interface with xfs" 2024-02-29 18:25:41 +00:00
Zuul dd5ebbb3f3 Merge "xfs: Support mount by label" 2024-02-29 15:40:00 +00:00
Zuul 1e4265cc29 Merge "Add data type validation for device handling" 2024-02-29 09:33:29 +00:00
Takashi Kajinami e888e9c0d3 disk: Expose more options
... so that users can use this wrapper with more flexible customization
about filesystems and mounts. Also, this introduces the new filesystem
type parameter so that this common implementation can be used when ext4
is used.

Change-Id: Ib60576fc593f36c36a0e0bd03611a568e21913e9
2024-02-27 09:24:20 +09:00
Takashi Kajinami 5d955ed003 ext4: Sync interface with xfs
This fixes the inconsistent interfaces between swift::storage::ext4 and
swift::storage::xfs, so that users can use both implementations more
easily without looking into actual interfaces in detail.

Change-Id: I708e57d2904499613c85e720f75919483e80aaee
2024-02-27 00:19:42 +00:00
Takashi Kajinami 9efd303bcb xfs: Support mount by label
... in addition to uuid and device name, as a more static but more
flexible way to assign devices to mount points.

Change-Id: I92e3f5d09c071c48e8b51026a2cda2394cbe33cf
2024-02-27 00:19:35 +00:00
Takashi Kajinami 8af5b43b1e Add data type validation for device handling
... and also makes behavior of the `device` parameters consistent.

Change-Id: I5f34a91aa4c9f3bebf6e41b19fbf5d41eb7ecf17
2024-02-27 09:19:22 +09:00
Zuul 5e07964327 Merge "Support object-relinker" 2024-02-22 14:24:45 +00:00
Zuul d876d9249c Merge "Add more log options" 2024-02-22 14:24:44 +00:00
Zuul 511b1da6f3 Merge "Add support for read_only middleware" 2024-02-21 18:42:59 +00:00
Takashi Kajinami e768302b78 Support object-relinker
This introduces the config entries for object-relinker, which is a CLI
tool used to increase part power.

Change-Id: Ied52845c6b3b30a6aa6744c6a9c599bbd81b6e9e
2024-02-20 16:06:28 +09:00
Takashi Kajinami dde528e8f5 Add more log options
This adds a few new log options for object-expirer and
container-reconciler so that users can set consistent logging options.

The default log level of container-reconciler is effectively changed
from local0 to local2, to use the consistent log facility in all
services.

Change-Id: If5c287d8fd1325b08705133756eece6e41cfdc5f
2024-02-20 13:53:41 +09:00
Thomas Goirand 43035bc12e Per daemon log name
Currently, puppet-swift can only set log_name. However, it's possible
with swift to have each daemon log with a different name, making it
possible to have logging for each daemon in a separate file, which is
often a way more convenient for operators.

This patch sets a different log_name for each daemon if set to true.
The default behavior is left unchanged.

Change-Id: I27386f6ac00b2efcfa5fc4f5ed3b86efc49c17fc
2024-02-20 12:06:01 +09:00
Takashi Kajinami 1b5eceeb36 Add support for read_only middleware
Change-Id: I82726ab76587a134f9267521821b48e8a1a05936
2024-02-18 14:09:56 +09:00
Zuul 7a6179dad9 Merge "storage: support timeout parameters" 2024-01-22 17:29:57 +00:00
Zuul 526258d596 Merge "updater/reaper: Support interval option" 2024-01-22 17:20:01 +00:00
Takashi Kajinami 7021ac5ddb storage: support timeout parameters
This introduces support for the following these two options for various
services.
 conn_timeout: connection timeout
 node_timeout: request timeout

Change-Id: I318c8db8c564e86b33597d13e0b50da03aa9f16e
2024-01-20 00:10:53 +09:00
Takashi Kajinami 1218a17d9b updater/reaper: Support interval option
... similarly to the interval option for replicators.

Change-Id: Id3eb05a647d4a141ab47222197540bb3e61ba8de
2024-01-19 19:37:05 +09:00
Zuul fed53e4471 Merge "Fix handling of cors options" 2024-01-12 18:00:45 +00:00
Takashi Kajinami 185fe9b25e Fix handling of cors options
The strict_cors_mode option should be set independently from
the cors_allow_origin, for example in case when strict mode is
disabled.

Also the current description about the strict_cors_mode is completely
incorrect.

This fixes these problems, and also allows usage of an array value
for cors_allow_origin so that users can compose a value to be passed
to the parameter more easily.

NOTE:
The strict_cors_mode option defaults to true in swift, thus its default
is replaced by the os_service_default fact.

Closes-Bug: #2048840
Change-Id: I59317519e31349d0b0b7efafae3a0a8a44d81d37
2024-01-10 15:50:33 +09:00
Zuul 26270f6a3e Merge "Support allowed_digests options" 2024-01-02 17:03:21 +00:00
Zuul bc3749e1e4 Merge "ceilometer: Remove redundant default of nonblocking_notify" 2024-01-02 17:03:19 +00:00
Zuul 19b1d5b2ed Merge "ceilometer: Purge topic and control_exchange by default" 2024-01-02 17:03:17 +00:00
Takashi Kajinami 385c66d388 Support allowed_digests options
... which were added as part of deprecation of sha1 signatures[1].

[1] 2d063cd61f6915579840a41ac0248a26085e0245

Change-Id: I8a27cebecbf1c47b2aeb8c1f1f00b1f1c90011d1
2023-12-27 00:05:28 +00:00
Takashi Kajinami a312a03bb8 ceilometer: Remove redundant default of nonblocking_notify
Change-Id: Id83695510c574fc8e9b16fe6b9bd4568461705a0
2023-12-24 23:07:32 +09:00
Takashi Kajinami 3244a67f56 ceilometer: Purge topic and control_exchange by default
... instead of leaving these options unmanaged.

Change-Id: I89350c9daafeedc1b1736e4dc67f6918a2e8a666
2023-12-24 16:00:36 +09:00
Zuul 0e3f254347 Merge "Replace deprecated `stub` from rspec-mocks" 2023-12-05 15:19:03 +00:00
Takashi Kajinami 55df880f95 Replace deprecated `stub` from rspec-mocks
... according to the following warning.

Using `stub` from rspec-mocks' old `:should` syntax without explicitly
enabling the syntax is deprecated. Use the new `:expect` syntax or
explicitly enable `:should` instead.

Change-Id: I45564a4bc3346037265a3363b3bd635b4c9f53e1
2023-12-04 23:53:24 +09:00
Takashi Kajinami 53198ba274 container-reconciler: Support more tunables
Change-Id: Ie2b54782e3f80d6c64bfb0ac9d2cb9afc65abbc2
2023-12-04 23:27:39 +09:00
Takashi Kajinami 5611ed75f5 container-reconciler: Enable cache middleware by default
The chache middleware is now enabled by default in most of the services
but only container-reconciler disables it by default, though the sample
config container-reconciler config file in the swift repository enables
the middleware.

This updates the default value so that the default pipeline is
consistent among services, and is aligned with the sample files in
swift.

Change-Id: Ifcb4d241de14a9e0b7e3afb79e73b9a57acc9d9e
2023-12-04 23:26:31 +09:00
Takashi Kajinami d0b20eb5d9 Drop redundant default of cache_tls_enabled
The tls_enabled option defaults to false, so we don't have to make
the class parameter default to false explicitly but can use the service
default.

Change-Id: I023855904460280e86073c0301e420255b25e6f2
2023-12-04 21:38:25 +09:00
Takashi Kajinami 9c10d867f3 Fix incomplete unit tests for swift::objectexpirer
This fixes some of the logics which do not actually enable unit tests,
to keep appropriate test coverage.

Change-Id: I02d7f2a21d0b2a3c09f622caf11041a6dd9d0f83
2023-12-04 19:44:06 +09:00
Takashi Kajinami 4ae639589e Fix incomplete unit tests for swift::containerreconciler
This fixes some of the logics which do not actually enable unit tests,
to keep appropriate test coverage.

Change-Id: I27ffddfe37d6801df7b4b2caf7becd7d92773ddc
2023-12-04 15:42:25 +09:00
Takashi Kajinami f0a77d2cc2 Remove redundant hardcoded default of log_headers
The log_headers option defaults to no (which is effectively same as
False), so we don't have to explicitly set this option.

Change-Id: I0463331018dd1ff844caf0bc54f9abfe4627420e
2023-12-01 15:53:21 +09:00
Takashi Kajinami 300802a79d Make log_udp_port optional
The [DEFAULT] log_udp_port option defaults to syslog udp port in case
it's not set, so users don't have to set this option explicitly.

Change-Id: I274271fd5bbcbac830d119797a0895f8651ba9df
2023-12-01 15:53:13 +09:00
Takashi Kajinami 9325297393 object-expirer: Remove deprecated auto_create_account_prefix
This parameter was deprecated a few cycles ago[1].

[1] 7d220dd934

Change-Id: Ic2f5d11453bd4403ace59ee7245cdd999c6dc51f
2023-11-26 20:23:38 +09:00
Zuul 0f7f6bdee8 Merge "Move out swift client from service packages" 2023-11-20 18:43:32 +00:00
Takashi Kajinami 0a2d1a26a1 Move out swift client from service packages
The swiftclient package is not required by swift itself, thus we don't
have to install it along with the other swift packages.

Change-Id: If241e635109f5970e725d7776026f0d7b4951024
2023-11-20 00:30:12 +09:00
Takashi Kajinami e6f5b32303 keymaster: Ensure options are purged by default
... instead of being left unmanaged.

Change-Id: I68706ca07c9d3491c0f762ec102a722a23db28ec
2023-10-17 13:49:45 +09:00
Takashi Kajinami e46f3b4af3 Drop default password
The default password was deprecated some time ago[1].

[1] 2df992faf3

Change-Id: I517fc45081015156e71cd0c77fd2992876e1a22e
2023-10-17 13:49:19 +09:00
Takashi Kajinami 4d8816e804 Fix ignored unit tests for swift::keymaster
Change-Id: Ib2a42ed012aef7f11c061387d85957c31672e3f4
2023-10-17 12:15:14 +09:00
Takashi Kajinami c9161c04d7 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: I2f104030c57f2680fef70afa72dc332be8d36885
2023-10-11 12:09:51 +09:00
Zuul cf2494555e Merge "replace validate_legacy" 2023-09-20 17:01:40 +00:00
Takashi Kajinami 0f7bdd733a replace validate_legacy
the validate_legacy function is marked for deprecation in
v9.0.0 from puppetlabs-stdlib.

Change-Id: I920294342c9c2c0567796f345cbfa9e39bb1f1d3
2023-09-19 13:33:00 +00:00
Takashi Kajinami 3c89736ffe Restart only specific services after config change
Currently we restart all swift services regardless of the config file
being updated. This is very redundant, because some config files affect
only specific services (eg. account-server.conf is used only by
account-* daemons).

This introduces new "sub" tags such as swift-account-service and limit
the services being restarted.

Change-Id: Idfa09b63d291b0f71686554cb7c7b0597cb8842c
2023-07-24 15:07:50 +09:00
Takashi Kajinami d26e4f4127 Load libraries in a single place
This change refactors how the dependent libraries are loaded during
unit tests, and load the libraries in the base spec_helper to avoid
duplicate and redundant implementations.

Change-Id: I1ea3c36b077b6c58dea2f4db73e1442610b4ffbc
2023-07-12 16:53:34 +00:00
David Hill de05151b9c Expose hosts_allow/deny for rsyncd configuration.
This introduces the hosts_allow parameter and the hosts_deny parameter
so that users can limit access to the rsync server.

Change-Id: I2bf7240f8c52aef8b4dd74ce5af12056377ab227
2023-06-26 08:48:53 +00:00
Takashi Kajinami 209a71a016 Refactor unit tests of swift::storage::all
Change-Id: I0938d0525e0639d1647c4a86998240c41b7140f6
2023-06-26 11:13:26 +09:00
Takashi Kajinami 6a998659f0 Fix wrong indent for rsync_module_per_device tests
Change-Id: I8fa8f89b71a5a128bc7a01a7356498f023073e5a
2023-06-26 11:04:00 +09:00