swift/swift/common
Matthew Oliver fb186f6710 Add a config file option to swift-manage-shard-ranges
While working on the shrinking recon drops, we want to display numbers
that directly relate to how tool should behave. But currently all
options of the s-m-s-r tool is driven by cli options.

This creates a disconnect, defining what should be used in the sharder
and in the tool via options are bound for failure. It would be much
better to be able to define the required default options for your
environment in one place that both the sharder and tool could use.

This patch does some refactoring and adding max_shrinking and
max_expanding options to the sharding config. As well as adds a
--config option to the tool.

The --config option expects a config with at '[container-sharder]'
section. It only supports the shard options:
 - max_shrinking
 - max_expanding
 - shard_container_threshold
 - shard_shrink_point
 - shard_merge_point

The latter 2 are used to generate the s-m-s-r's:
 - shrink_threshold
 - expansion_limit
 - rows_per_shard

Use of cli arguments take precedence over that of the config.

Change-Id: I4d0147ce284a1a318b3cd88975e060956d186aec
2021-03-12 10:49:46 +11:00
..
middleware Merge "Plumb sharding stats though recon middleware" 2021-02-26 18:42:21 +00:00
ring ring: Prevent IndexErrors in calc_replica_count 2021-01-22 14:06:02 -08:00
__init__.py Start using Hacking 2013-07-15 11:41:58 +02:00
base_storage_server.py Allow replication servers to handle all request methods 2020-07-23 09:11:07 -07:00
bufferedhttp.py py3: stop barfing on message/rfc822 Content-Types 2020-03-26 12:55:54 -07:00
constraints.py Deprecate per-service auto_create_account_prefix 2020-01-05 09:53:30 -06:00
container_sync_realms.py Python3: Fix test/unit/common/test_container_sync_realms.py 2019-01-29 09:04:36 -06:00
daemon.py Optimize obj replicator/reconstructor healthchecks 2020-04-01 08:03:32 -04:00
db.py Do not delete root_path on ContainerBroker.delete_db 2021-02-04 10:15:30 +00:00
db_replicator.py Continue logging deprecation warnings for run_pause 2020-11-05 22:15:57 +00:00
direct_client.py Plumb sharding stats though recon middleware 2021-02-26 15:51:06 +00:00
exceptions.py Let developers/operators add watchers to object audit 2020-12-26 17:16:14 -06:00
header_key_dict.py py3: Fix s3api header casing 2019-11-20 12:14:35 -08:00
http.py s3api: Better handle 498/429 responses 2019-12-05 09:42:33 -08:00
internal_client.py Allow direct and internal clients to use the replication network 2020-08-04 21:22:04 +00:00
linkat.py pep8: Turn on E305 2020-04-03 21:22:38 +02:00
manager.py swift-init: Re-enable targeted configs 2021-01-15 13:00:24 -08:00
memcached.py Merge "memcache: Log errors encountered when setting keys" 2021-01-26 22:29:56 +00:00
request_helpers.py Use cached shard ranges for container GETs 2021-01-06 16:28:49 +00:00
splice.py pep8: Turn on E305 2020-04-03 21:22:38 +02:00
storage_policy.py Update hacking for Python3 2020-04-03 21:21:07 +02:00
swob.py Simplify wsgify() 2020-05-27 03:19:13 +00:00
utils.py Add a config file option to swift-manage-shard-ranges 2021-03-12 10:49:46 +11:00
wsgi.py Avoid loops when gathering container listings from shards 2021-01-06 16:22:26 +00:00