diff --git a/stress/driver.py b/stress/driver.py
index 71d02a9..bdb5d4b 100644
--- a/stress/driver.py
+++ b/stress/driver.py
@@ -71,7 +71,7 @@
     nova-manage on the controller.
     """
     nodes = []
-    if keypath == None or user == None:
+    if keypath is None or user is None:
         return nodes
     lines = utils.util.ssh(keypath, user, controller,
                      "nova-manage service list | grep ^nova-compute").\
@@ -206,7 +206,7 @@
                 case = random.choice(cases)
                 logging.debug('Chose %s' % case)
                 retry = case.invoke(manager, state)
-                if retry != None:
+                if retry is not None:
                     retry_list.append(retry)
             else:
                 logging.info('Cooling down...')
diff --git a/stress/pending_action.py b/stress/pending_action.py
index 67eba13..a2d5a6b 100644
--- a/stress/pending_action.py
+++ b/stress/pending_action.py
@@ -31,7 +31,7 @@
         `nova_manager` : Manager object.
         `timeout`   : time before we declare a TimeoutException
         """
-        if timeout == None:
+        if timeout is None:
             timeout = nova_manager.config.compute.build_timeout
         self._manager = nova_manager
         self._logger = logging.getLogger(self.__class__.__name__)
diff --git a/stress/test_floating_ips.py b/stress/test_floating_ips.py
index a2a20db..536179c 100755
--- a/stress/test_floating_ips.py
+++ b/stress/test_floating_ips.py
@@ -32,7 +32,7 @@
         self.server_ids = None
 
     def run(self, manager, state, *pargs, **kwargs):
-        if self.server_ids == None:
+        if self.server_ids is None:
             vms = state.get_instances()
             self.server_ids = [k for k, v in vms.iteritems()]
         floating_ip = random.choice(state.get_floating_ips())
@@ -40,7 +40,7 @@
             return None
         floating_ip.change_pending = True
         timeout = int(kwargs.get('timeout', 60))
-        if floating_ip.server_id == None:
+        if floating_ip.server_id is None:
             server = random.choice(self.server_ids)
             address = floating_ip.address
             self._logger.info('Adding %s to server %s' % (address, server))
