Commit Graph

45 Commits

Author SHA1 Message Date
Corey Bryant 8045849848 Add 2023.2 Bobcat support
* sync charm-helpers to classic charms
* change openstack-origin/source default to bobcat
* add mantic to metadata series
* align testing with bobcat
* add new bobcat bundles
* add bobcat bundles to tests.yaml
* add bobcat tests to osci.yaml
* update build-on and run-on bases
* drop kinetic
* update charmcraft_channel to 2.x/stable

Change-Id: I3dd29fd9d9e5e7057dc50b03a4a3945d1c7178d2
2023-08-02 14:19:09 -04:00
Zuul eb1980f0e3 Merge "conntrack: set sane sysctl defaults" 2023-05-26 14:13:26 +00:00
Corey Bryant 545dfc167a Add Antelope support
* sync charm-helpers to classic charms
* change openstack-origin/source default to antelope
* align testing with antelope
* add new antelope bundles
* add antelope bundles to tests.yaml
* add antelope tests to osci.yaml and .zuul.yaml
* update build-on and run-on bases

Change-Id: I940bf81b4dfaa57df6bf194d40d8a28b01aeb7e5
2023-03-07 21:49:27 +00:00
Zuul 2f0f5f10ff Merge "Add Kinetic and Zed support" 2022-09-29 01:37:25 +00:00
Corey Bryant db60b2c03d Add Kinetic and Zed support
* sync charm-helpers to classic charms
* change openstack-origin/source default to zed
* align testing with zed
* add new zed bundles
* add zed bundles to tests.yaml
* add zed tests to osci.yaml and .zuul.yaml
* update build-on and run-on bases
* add bindep.txt for py310
* sync tox.ini and requirements.txt for ruamel
* use charmcraft_channel 2.0/stable
* drop reactive plugin overrides
* move interface/layer env vars to charmcraft.yaml

Change-Id: I93da9ce52bed2b3e8a467491d2a61bfd2ed4ea7d
Depends-On: https://review.opendev.org/c/openstack/charm-swift-proxy/+/847513
2022-09-26 21:08:53 +00:00
Zuul 34b00a0530 Merge "Add vm.watermark_scale_factor tuning" 2022-09-12 10:03:29 +00:00
Brett Milford c6b0d798b7 Add vm.watermark_scale_factor tuning
Depends: https://github.com/juju/charm-helpers/pull/609
Implements: spec memory-fragmentation-tuning
Change-Id: I0195d5f65f36442abf1355dd5150d48a37184e97
2022-09-02 08:53:06 +10:00
James Page d9a8025ac3 conntrack: set sane sysctl defaults
swift-storage is often deployed alongside nova-compute where it
inherits some sane defaults for sysctl values, specifically around
conntrack configuration.

If its deployed standalone it does not recieve the same tuning,
but its very much applicable as access between swift-storage nodes
for rsync traffic is firewall limited so makes a high demand
on conntrack on the server.

Lift and shift the defaults from the nova-compute charm.

Change-Id: Iedd27a51ff93fd1670a418e1434c94875fe21643
Closes-Bug: 1879121
2022-07-11 14:40:52 +01:00
Francesco de Simone 98c67e4d92 Changes to the default inode size
As per the bug report, the xfs-inode-size default value is in contradiction with the current upstream advice.
This patch removes the default value and accept the filesystem defaults for mkfs.xfs inode sizes.

Closes-Bug: #1879423
Change-Id: I9effc6052524ead9817454912284e3c48ce55901
2022-07-04 15:57:30 +00:00
Alex Kavanagh c40f1d531b Updates to enable jammy and finalise charmcraft builds
- Add 22.04 to charmcraft.yaml
- Update metadata to include jammy
- Remove impish from metadata
- Update osci.yaml to include py3.10 default job
- Modify tox.ini to remove py35,py36,py37 tox target and add py310
  target.
- ensure that the openstack-origin is yoga
- charmhelpers sync

Change-Id: Ie37826e7803659f2f40eaac5f8d539cce5ef145b
2022-04-07 12:31:59 +01:00
Andrea Ieri 66c14b2aff Ensure lockup_timeout is never < 2*rsync_timeout
Change-Id: Id0afc210b7be8ac7c740753ef06b51db0bae410c
Closes-Bug: 1888725
2020-07-23 15:57:46 -04:00
Zuul f57587b2ff Merge "Add config option for fallocate_reserve" 2020-07-23 16:03:44 +00:00
Drew Freiberger d31095d482 Add config option for fallocate_reserve
In order to prevent disks from filling up, add the option to configure
fallocate_reserve parameter in account-server.conf,
container-server.conf, and object-server.conf, as described in
https://docs.openstack.org/swift/latest/admin_guide.html#preventing-disk-full-scenarios

This change adds the config option file-allocation-reserve with a
default of 0.

Change-Id: Ib396a151250bb8d1733f9b5b9cab7eb506c9f6c6
Closes-Bug: 1872069
2020-07-22 17:30:18 -04:00
Drew Freiberger 74daa465d6 Add monitoring for object-replicator logs disappearing
As noted in lp#1691570, there is an issue with storage I/O during
coro-thread cleanup that affects the swift-object-replicator's ability
to complete replication successfully.  This is most easily witnessed by
the lack of the every 5 minute replicated percentage complete messages
that should come from the swift-object-replicator daemon to syslog.
This patch monitors for and alerts on the condition of the "replicated"
line missing from syslog within the past 15 minutes.

Change-Id: Ieb15da3f3f67fa9bcad03151e36c70faae4c36c9
Closes-Bug: 1691570
2020-07-21 15:31:06 -05:00
Edward Hope-Morley 2c7acd2dfc Allow configuring node_timeout
Swift default is used if no config provided.
As per swift docs, if node_timeout is set,
http_timeout ensured to be greater than
node_timeout.

Change-Id: Idf5945a6c2f64fcad8f2ab7cb137f1ce1f1dc424
Closes-Bug: #1878657
2020-06-08 19:59:06 +01:00
Drew Freiberger 9809a3b347 Add support for object replication handoffs_first
In extreme cases of object rebalance or node failure, swift environments
with millions of objects may have a hard time with objects landing in
handoff or misplaced partitions and the operator of the cloud may need
to prioritize migrating data in handoff partitions back to primary
partitions over the 3 primary partitions replicating amongst each other.

To allow for this, the object-server.conf [object-replicator]
configuration can have handoffs_first set to True which will force
the object-replicators to focus on handoff partitions before syncing
primary partitions for any given object partition.

Change-Id: I8b44c287567a0e6d634def0b13baf0fe4ad4aa7b
Closes-Bug: 1878087
2020-05-11 15:01:22 -05:00
Tytus Kurek fc261a5adc Swift Global Cluster
This patchset adds a support for Swift Global Cluster feature as
described at:

https://docs.openstack.org/swift/latest/overview_global_cluster.html

It allows specifying 'region' config option as part of the deployment.
Theregion is reflected later on in the Swift rings.

Change-Id: I11b6c7802e5bfbd61b06e4d11c65804a165781b6
Partial-Bug: 1815879
Needed-By: I406445493e2226aa5ae40a09c9053ac8633a46e9
2019-12-17 10:08:13 +00:00
Tytus Kurek dfc0e8bfe2 Make XFS inode size configurable
Make XFS inode size configurable, so that it could be set to the
desired value, if different than default 1024.

Change-Id: If621587a02746876ee6c35d7af2e878dbc2ac8ef
Closes-Bug: 1826552
2019-07-01 11:21:55 +00:00
James Page 591c084532 Add support for block device encryption
Add new secrets-storage relation to vault, supporting the
use of block device encryption using dm-crypt/vaultlocker.

Prepared devices are now recorded in the local unit kv
store; this information is used to provide a list of
configured block devices to the swift-proxy charm,
rather than the previous best guess provided by
determine_block_devices.  This allows us to use the
dm-crypt device name, rather than the underlying
block device.

Encrypted block devices are unlocked on boot using
vaultlocker-decrypt systemd units (enabled by vaultlocker);
/etc/fstab entries for such devices make use of a
x-systemd.requires option to ensure that the block device
is unlocked prior to attempting to mount it.

Add new storage binding to allow charm to be used with
Juju storage.

Add new ephemeral-unmount configuration option to allow
cloud ephemeral storage to be used for testing purposes;
update functional testing to use this option.  The behaviour
of 'overwrite' was changed to accomodate the use of
encrypted block devices.

Change-Id: I9b3f8cd2de412ee96e0139dba4d4abdf998ecaf2
2018-05-08 12:52:37 +01:00
David Ames 18d0a891db Allow GRE traffic in converged architecture
In a converged architecture with storage and compute on the same
host, UFW can get in the way of tunneled traffic interpreting it as
INVALID. UFW makes solving this more difficult than it needs to be.
See http://northernmost.org/blog/gre-tunnels-and-ufw/index.html for
context.

This change updates /etc/ufw/before.rules to add GRE as an allowed
input.

Also, guarantee ufw is installed for LP #1763716

Please review and merge charm-helpers first:
https://github.com/juju/charm-helpers/pull/170

Change-Id: I789854c33e3af12f7412633dbf7c921beb0ed2b5
Closes-Bug: #1757564
Closes-Bug: #1763716
2018-05-03 21:42:46 +02:00
David Ames 5368af6302 Swift storage ACLs
Ensure that only the swift-proxy units and swift-storage peers have
access to direct communication with swift storage daemons.

Charm-helpers sync to include ufw module and the ingress_address and
iter_units_for_relation_name functions.

Please review and merge first:
https://github.com/juju/charm-helpers/pull/35

Closes-Bug: #1727463

Change-Id: Id5677edbc40b0b891cbe66867d39d076a94c5436
2017-11-07 10:24:53 -08:00
James Hebden 0876b4fb73 Add statsd metrics support to the swift-storage charm
By default, statsd metrics can be sent by the swift account,
container and object storage services for diagnostic and
monitoring purposes, but are disabled by default. This change exposes
charm config settings that allow it to be enabled by setting
'statsd_host' to a non-empty value. 'statsd_port' and
'statsd_sample_rate' are also supported for changing the destination
port and rate at which metrics are collected.

Closes-Bug: #1729770

Change-Id: If1bf3ced8a9ed07af81f352eb0263659d147e3aa
2017-11-05 15:23:38 +11:00
Billy Olsen 9b7f3201c4 Specify units on object-rsync-timeout config opt
The units for the object-rsync-timeout config option are not clear.
This commit clarifies that the specified value is in seconds.

Change-Id: I4d4492ee5590b8fbf02bbae4acaf1cceeb454c0c
2017-08-16 14:36:25 -07:00
Xav Paice 18419a87c5 Add object-rsync-timeout option
Adds the rsync_timeout option to to object-server.conf, so we can adjust
it away from the default of 900s.

If there are a number of large partitions needing replication,
occasionally one needs to adjust the timeout in order to allow the rsync
to complete rather than timeout and retry.

Change-Id: I2d895741cb0528836a675deb6399005a5bf59ab5
Closes-bug: 1702039
2017-07-04 07:57:22 +12:00
Chris MacNaughton 58c92e15b1 Add config for sysctl
Allows the administrator to set custom sysctls on the storage
nodes. This is especially useful for setting kernel.pid_max.

Change-Id: Id902f799796a121578eba10de22e0eb9cc627b9d
Closes-bug: 1396613
2017-02-02 07:56:53 -05:00
Billy Olsen 97180d7100 Change worker-multiplier to float
Change the worker-multiplier to a floating point config option type
instead of integer. This allows users to specify workers to be less
than the number of CPUs, which is useful in deployments with multiple
services deployed into containers on top of bare metal.

The fix is to simply change the config option type and to sync in
the necessary update from lp:charm-helpers.

Partial-Bug: #1602444

Change-Id: I31d7652e7ad5db0185b78e2c4c2c1d2ddba05be2
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2016-07-12 17:06:46 -07:00
Edward Hope-Morley 6ab28b3639 Add hardening support
Add charmhelpers.contrib.hardening and calls to install,
config-changed, upgrade-charm and update-status hooks.
Also add new config option to allow one or more hardening
modules to be applied at runtime.

Change-Id: If0d1e10b58ed506e0aca659f30120b8d5c96c04f
2016-03-24 11:11:58 +00:00
David Ames 72b2507f6c Action Managed Upgrades 2015-09-22 15:58:18 -07:00
Edward Hope-Morley 7cd7571364 [trivial] Cleanup config.yaml
Partially-Closes-Bug: 1473426
2015-07-10 15:13:35 +01:00
Brad Marshall 5f01ea94cf [bradm] Add nagios_servicegroups config option 2015-02-19 15:35:32 +10:00
root 5727c68515 [bradm] Adding nrpe checks, handle rsyncd config fragments 2014-10-30 00:52:15 -05:00
James Page a04de8cd91 [mthaddon,r=james-page] Add configuration options for tuning worker thread counts. 2014-10-06 22:45:39 +01:00
Edward Hope-Morley 7f8806bf7d Fixed minor typo in config.yaml 2014-09-25 17:43:29 +01:00
Edward Hope-Morley 88a114bdff [hopem]
Adds ipv6 privacy extensions deploy note to config.yaml
2014-09-25 17:32:16 +01:00
Tom Haddon 6391ad523b Add config options for max connections in rsync stanzas and concurrency of object replicator 2014-09-12 10:17:27 +01:00
Hui Xiang e8638d90e6 Support swift-storage for IPv6. 2014-08-13 14:50:51 +08:00
James Page f715cbacbb [mthaddon,r=james-page] Add configuration for worker and per disk thread pool sizes
Make the number of workers for account, container and object servers a multiplier of the number of CPUs, and default to a sensible setting per recommendations in http://docs.openstack.org/developer/swift/deployment_guide.html#general-service-tuning. Also, add in a tunable option for object server threads_per_disk and tune default to recommendations from http://docs.openstack.org/developer/swift/deployment_guide.html#object-server-configuration.
2014-06-19 09:40:58 +01:00
Tom Haddon 89cac18e1f Add in a tunable option for object server threads_per_disk and tune default to recommendations from http://docs.openstack.org/developer/swift/deployment_guide.html#object-server-configuration 2014-06-18 11:48:24 +01:00
Tom Haddon ee219bdd38 Make the number of workers for account, container and object servers a multiplier of the number of CPUs, and default to a sensible setting per recommendations in http://docs.openstack.org/developer/swift/deployment_guide.html#general-service-tuning 2014-06-18 11:18:02 +01:00
Adam Gandelman e4663129d4 Add some more to config.yaml wrt block-device setting. 2012-12-19 15:09:13 -08:00
Adam Gandelman bcad5ae6f4 Add note about zone config option. 2012-12-14 18:22:10 -08:00
Adam Gandelman f276179bf0 Checkin openstack-common. 2012-12-14 15:54:00 -08:00
Adam Gandelman dfa2d5a4fc Checkin openstack-common library, use it for repo setup. 2012-12-06 11:17:35 -08:00
Adam Gandelman a91a2e8dc0 config.yaml: Update use of 'str' to 'string' 2011-09-07 14:56:48 -07:00
Adam Gandelman 51a5219265 Added config yamls 2011-08-23 14:16:47 -07:00