diff --git a/kong/openstack.py b/kong/openstack.py
index 3575a8c..59d581d 100644
--- a/kong/openstack.py
+++ b/kong/openstack.py
@@ -5,11 +5,9 @@
 class Manager(object):
     """Top-level object to access OpenStack resources."""
 
-    def __init__(self):
-        self.config = kong.config.StackConfig()
-        self.nova = kong.nova.API(self.config.nova.host,
-                                    self.config.nova.port,
-                                    self.config.nova.base_url,
-                                    self.config.nova.username,
-                                    self.config.nova.api_key,
-                                    self.config.nova.project_id)
+    def __init__(self, nova):
+        self.nova = kong.nova.API(nova['host'],
+                                  nova['port'],
+                                  nova['ver'],
+                                  nova['user'],
+                                  nova['key'])
diff --git a/kong/tests/test_flavors.py b/kong/tests/test_flavors.py
index e5ab762..0fb3258 100644
--- a/kong/tests/test_flavors.py
+++ b/kong/tests/test_flavors.py
@@ -8,7 +8,7 @@
 class FlavorsTest(tests.FunctionalTest):
     def setUp(self):
         super(FlavorsTest, self).setUp()
-        self.os = openstack.Manager()
+        self.os = openstack.Manager(self.nova)
 
     def _index_flavors(self):
         url = '/flavors'
diff --git a/kong/tests/test_images.py b/kong/tests/test_images.py
index 2fc0b61..0b43182 100644
--- a/kong/tests/test_images.py
+++ b/kong/tests/test_images.py
@@ -9,7 +9,7 @@
 
     def setUp(self):
         super(ImagesTest, self).setUp()
-        self.os = openstack.Manager()
+        self.os = openstack.Manager(self.nova)
 
         host = self.os.config.nova.host
         port = self.os.config.nova.port
diff --git a/kong/tests/test_server_actions.py b/kong/tests/test_server_actions.py
index aace609..e2190cf 100644
--- a/kong/tests/test_server_actions.py
+++ b/kong/tests/test_server_actions.py
@@ -16,7 +16,7 @@
 
     def setUp(self):
         super(ServerActionsTest, self).setUp()
-        self.os = openstack.Manager()
+        self.os = openstack.Manager(self.nova)
 
         self.image_ref = self.os.config.env.image_ref
         self.image_ref_alt = self.os.config.env.image_ref_alt
diff --git a/kong/tests/test_server_addresses.py b/kong/tests/test_server_addresses.py
index b76718c..96d66b8 100644
--- a/kong/tests/test_server_addresses.py
+++ b/kong/tests/test_server_addresses.py
@@ -12,7 +12,7 @@
     @classmethod
     def setUpClass(self):
         super(ServerAddressesTest, self).setUp()
-        self.os = openstack.Manager()
+        self.os = openstack.Manager(self.nova)
         self.image_ref = self.os.config.env.image_ref
         self.flavor_ref = self.os.config.env.flavor_ref
 
diff --git a/kong/tests/test_server_meta.py b/kong/tests/test_server_meta.py
index eb870a0..44630bc 100644
--- a/kong/tests/test_server_meta.py
+++ b/kong/tests/test_server_meta.py
@@ -9,7 +9,7 @@
     @classmethod
     def setUpClass(self):
         super(ServersMetadataTest, self).setUp()
-        self.os = openstack.Manager()
+        self.os = openstack.Manager(self.nova)
         self.image_ref = self.os.config.env.image_ref
         self.flavor_ref = self.os.config.env.flavor_ref
 
diff --git a/kong/tests/test_servers.py b/kong/tests/test_servers.py
index f98ab0a..fa2eae6 100644
--- a/kong/tests/test_servers.py
+++ b/kong/tests/test_servers.py
@@ -14,7 +14,7 @@
     @classmethod
     def setUpClass(self):
         super(ServersTest, self).setUp()
-        self.os = openstack.Manager()
+        self.os = openstack.Manager(self.nova)
         self.image_ref = self.os.config.env.image_ref
         self.flavor_ref = self.os.config.env.flavor_ref
         self.ssh_timeout = self.os.config.nova.ssh_timeout
