diff --git a/stress/driver.py b/stress/driver.py
index bdb5d4b..9ab6fb8 100644
--- a/stress/driver.py
+++ b/stress/driver.py
@@ -73,9 +73,8 @@
     nodes = []
     if keypath is None or user is None:
         return nodes
-    lines = utils.util.ssh(keypath, user, controller,
-                     "nova-manage service list | grep ^nova-compute").\
-                     split('\n')
+    cmd = "nova-manage service list | grep ^nova-compute"
+    lines = utils.util.ssh(keypath, user, controller, cmd).split('\n')
     # For example: nova-compute xg11eth0 nova enabled :-) 2011-10-31 18:57:46
     # This is fragile but there is, at present, no other way to get this info.
     for line in lines:
diff --git a/stress/test_floating_ips.py b/stress/test_floating_ips.py
index 536179c..302385a 100755
--- a/stress/test_floating_ips.py
+++ b/stress/test_floating_ips.py
@@ -82,13 +82,13 @@
             conn.close()
             if self.add:
                 self._logger.info('%s added [%.1f secs elapsed]' %
-                          (self.floating_ip.address, self.elapsed()))
+                                  (self.floating_ip.address, self.elapsed()))
                 self.floating_ip.change_pending = False
                 return True
         except:
             if not self.add:
                 self._logger.info('%s removed [%.1f secs elapsed]' %
-                          (self.floating_ip.address, self.elapsed()))
+                                  (self.floating_ip.address, self.elapsed()))
                 self.floating_ip.change_pending = False
                 self.floating_ip.server_id = None
                 return True
