Jelajahi Sumber

Made Swift client be instantiated from existing Session object in OpenStack Export Provider.

Nashwan Azhari 9 tahun lalu
induk
melakukan
6325f24d33

+ 0 - 8
coriolis/providers/openstack/common.py

@@ -8,7 +8,6 @@ import uuid
 
 from oslo_log import log as logging
 from oslo_utils import units
-from swiftclient import client as swift_client
 
 from coriolis import exception
 from coriolis import utils
@@ -285,10 +284,3 @@ def find_volume_backups(cinder, volume_id=None, container=None):
 @utils.retry_on_error()
 def get_instance_volumes(nova, instance_id):
     return nova.volumes.get_server_volumes(instance_id)
-
-
-def get_swift_client(session):
-    preauthurl = session.get_endpoint(service_type="object-store")
-    preauthtoken = session.get_token()
-    return swift_client.Connection(preauthurl=preauthurl,
-                                   preauthtoken=preauthtoken)

+ 2 - 1
coriolis/providers/openstack/exp.py

@@ -12,6 +12,7 @@ from novaclient import client as nova_client
 from oslo_config import cfg
 from oslo_log import log as logging
 from oslo_utils import units
+from swiftclient import client as swift_client
 
 from coriolis import constants
 from coriolis import events
@@ -322,7 +323,7 @@ class ExportProvider(base.BaseExportProvider, base.BaseReplicaExportProvider):
         session = keystone.create_keystone_session(ctxt, connection_info)
         cinder = cinder_client.Client(common.CINDER_API_VERSION,
                                       session=session)
-        swift = common.get_swift_client(session)
+        swift = swift_client.Connection(session=session)
 
         ip = target_conn_info["ip"]
         port = target_conn_info.get("port", 22)

+ 1 - 1
requirements.txt

@@ -25,7 +25,7 @@ python-keystoneclient
 python-neutronclient
 python-novaclient
 python-barbicanclient
-python-swiftclient
+python-swiftclient>=3.2
 pyVmomi
 pywinrm
 PyYAML