Clay Gerrard 2ff66a532c Fix object replicator partition cleanup
Probetests discovered two issues with the current state of the
object-replicator as a result of the attempts to clean up changes
related to efficient cross-region replication.

Known failures are:

  * rsync replication when configured with no sync_method in the config
    fails to clean up a handoff partition
  * ssync replication when there is only one region fails to cleanup a
    handoff partition

In both cases the path resulting in the failure moved through the
implicit else clause (dangling elif) of the partition cleanup code path.
In the ssync case the failure came form a miss on the first if branch
when delete_objs would be None if there is no remote regions.  In the
rsync case the failure came from a miss on the second elif condition
when looking for an entry in the conf dict and not setting a default.

This change adds unittests for both failures that should fail in a
reasonable way against master without requiring a probetest run against
other configs, as well as rephrasing the logic in the partition cleanup
handling to try and make the logic flow more explicit.

Change-Id: Ic59d998a3e36a3eb3e509d9fdf7096e812281357
2015-02-26 18:31:41 -08:00
..
2015-02-13 16:55:45 -08:00