diff --git a/common/remote_client.py b/common/remote_client.py
index f0405b8..c8c4f95 100644
--- a/common/remote_client.py
+++ b/common/remote_client.py
@@ -10,7 +10,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import cStringIO
 import re
 import select
 import socket
@@ -34,7 +33,7 @@
         self.password = password
         if isinstance(pkey, six.string_types):
             pkey = paramiko.RSAKey.from_private_key(
-                cStringIO.StringIO(str(pkey)))
+                six.moves.cStringIO(str(pkey)))
         self.pkey = pkey
         self.look_for_keys = look_for_keys
         self.key_filename = key_filename
diff --git a/common/test.py b/common/test.py
index a7aa039..ed1e254 100644
--- a/common/test.py
+++ b/common/test.py
@@ -15,13 +15,13 @@
 import re
 import subprocess
 import time
-import urllib
 
 import fixtures
 from heatclient import exc as heat_exceptions
 from oslo_log import log as logging
 from oslo_utils import timeutils
 import six
+from six.moves import urllib
 import testscenarios
 import testtools
 
@@ -111,7 +111,7 @@
     def check_connectivity(self, check_ip):
         def try_connect(ip):
             try:
-                urllib.urlopen('http://%s/' % ip)
+                urllib.request.urlopen('http://%s/' % ip)
                 return True
             except IOError:
                 return False
