diff --git a/swift/container/server.py b/swift/container/server.py index d396bda9f1..3cc960b2a8 100644 --- a/swift/container/server.py +++ b/swift/container/server.py @@ -308,7 +308,9 @@ class ContainerController(BaseStorageServer): elif requested_policy_index is not None: # validate requested policy with existing container if requested_policy_index != broker.storage_policy_index: - raise HTTPConflict(request=req) + raise HTTPConflict(request=req, + headers={'x-backend-storage-policy-index': + broker.storage_policy_index}) broker.update_put_timestamp(timestamp) if broker.is_deleted(): raise HTTPConflict(request=req) diff --git a/test/unit/container/test_server.py b/test/unit/container/test_server.py index 42f1fc257e..d42a8945ca 100644 --- a/test/unit/container/test_server.py +++ b/test/unit/container/test_server.py @@ -476,6 +476,9 @@ class TestContainerController(unittest.TestCase): }) resp = req.get_response(self.controller) self.assertEquals(resp.status_int, 409) + self.assertEquals( + resp.headers.get('X-Backend-Storage-Policy-Index'), + str(policy.idx)) # and make sure there is no change! req = Request.blank('/sda1/p/a/c')