swift/swift/container
Tim Burke 83d0161991 Add operator tool to async-delete some or all objects in a container
Adds a tool, swift-container-deleter, that takes an account/container
and optional prefix, marker, and/or end-marker; spins up an internal
client; makes listing requests against the container; and pushes the
found objects into the object-expirer queue with a special
application/async-deleted content-type.

In order to do this enqueuing efficiently, a new internal-to-the-cluster
container method is introduced: UPDATE. It takes a JSON list of object
entries and runs them through merge_items.

The object-expirer is updated to look for work items with this
content-type and skip the X-If-Deleted-At check that it would normally
do.

Note that the target-container's listing will continue to show the
objects until data is actually deleted, bypassing some of the concerns
raised in the related change about clearing out a container entirely and
then deleting it.

Change-Id: Ia13ee5da3d1b5c536eccaadc7a6fdcd997374443
Related-Change: I50e403dee75585fc1ff2bb385d6b2d2f13653cf8
2019-05-22 13:22:50 -07:00
..
__init__.py Initial commit of Swift code 2010-07-12 17:03:45 -05:00
auditor.py Pass logger instances to AccountBroker/ContainerBroker 2019-05-03 01:15:20 +09:00
backend.py Do not use self in classmethod 2019-03-11 14:28:20 +08:00
reconciler.py py3: port the container 2019-02-20 21:30:46 -06:00
replicator.py Pass logger instances to AccountBroker/ContainerBroker 2019-05-03 01:15:20 +09:00
server.py Add operator tool to async-delete some or all objects in a container 2019-05-22 13:22:50 -07:00
sharder.py Fix lower-constraint deps handling 2019-03-22 11:41:56 -07:00
sync.py Pass logger instances to AccountBroker/ContainerBroker 2019-05-03 01:15:20 +09:00
sync_store.py Container-Sync to iterate only over synced containers 2016-01-06 16:46:31 +02:00
updater.py Merge "container-updater: Always report zero objects/bytes used for shards" 2018-06-22 21:45:56 +00:00