From b2a1b57141d2cf647bf3819e0c6ac6cf4110df6a Mon Sep 17 00:00:00 2001 From: Pengju Jiao Date: Thu, 31 Aug 2017 14:46:58 +0800 Subject: [PATCH] Fix restore cinder volume error When doing restore of cinder volume from specify swift container named 'freezer/prefix', it will fail because the wrong usage of swift client. 'freezer' should be container name, 'prefix' should be object prefix. Change-Id: Ib9a8092ac9afb3e3867be91501a198d1ab867efc Closes-Bug:#1714170 --- freezer/openstack/restore.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/freezer/openstack/restore.py b/freezer/openstack/restore.py index 445de253..9502a17b 100644 --- a/freezer/openstack/restore.py +++ b/freezer/openstack/restore.py @@ -46,7 +46,8 @@ class RestoreOs(object): if self.storage.type == "swift": swift = self.client_manager.get_swift() path = "{0}_segments/{1}/".format(self.container, path) - info, backups = swift.get_container(self.container, prefix=path) + container_name, path = self.get_storage_info(path) + info, backups = swift.get_container(container_name, prefix=path) backups = sorted( map(lambda x: int(x["name"].rsplit("/", 1)[-1]), backups)) elif self.storage.type == "s3":