From 26418140108281ae5ac11004ebf33b7b3e08c74d Mon Sep 17 00:00:00 2001 From: Matthew Oliver Date: Wed, 2 May 2018 10:47:51 +0100 Subject: Add sharder daemon, manage_shard_ranges tool and probe tests The sharder daemon visits container dbs and when necessary executes the sharding workflow on the db. The workflow is, in overview: - perform an audit of the container for sharding purposes. - move any misplaced objects that do not belong in the container to their correct shard. - move shard ranges from FOUND state to CREATED state by creating shard containers. - move shard ranges from CREATED to CLEAVED state by cleaving objects to shard dbs and replicating those dbs. By default this is done in batches of 2 shard ranges per visit. Additionally, when the auto_shard option is True (NOT yet recommeneded in production), the sharder will identify shard ranges for containers that have exceeded the threshold for sharding, and will also manage the sharding and shrinking of shard containers. The manage_shard_ranges tool provides a means to manually identify shard ranges and merge them to a container in order to trigger sharding. This is currently the recommended way to shard a container. Co-Authored-By: Alistair Coles Co-Authored-By: Tim Burke Co-Authored-By: Clay Gerrard Change-Id: I7f192209d4d5580f5a0aa6838f9f04e436cf6b1f --- setup.cfg | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'setup.cfg') diff --git a/setup.cfg b/setup.cfg index 7ed7f1ec1..bc6b1a07c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -36,6 +36,7 @@ scripts = bin/swift-container-info bin/swift-container-replicator bin/swift-container-server + bin/swift-container-sharder bin/swift-container-sync bin/swift-container-updater bin/swift-container-reconciler @@ -71,6 +72,9 @@ keystone = keystonemiddleware>=4.17.0 [entry_points] +console_scripts = + swift-manage-shard-ranges = swift.cli.manage_shard_ranges:main + paste.app_factory = proxy = swift.proxy.server:app_factory object = swift.obj.server:app_factory -- cgit v1.2.1