Index: fedd/federation/experiment_control.py
===================================================================
--- fedd/federation/experiment_control.py	(revision 139e2e2c2d03ba105d55945932f30e1b3e8cbf02)
+++ fedd/federation/experiment_control.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -321,5 +321,5 @@
                 self.ssh_pubkey = f.read()
                 f.close()
-            except IOError:
+            except EnvironmentError:
                 raise service_error(service_error.internal,
                         "Cannot read sshpubkey")
@@ -402,5 +402,5 @@
             f = open(self.state_filename, 'w')
             pickle.dump(self.state, f)
-        except IOError, e:
+        except EnvironmentError, e:
             self.log.error("Can't write file %s: %s" % \
                     (self.state_filename, e))
@@ -452,5 +452,5 @@
             self.log.debug("[read_state]: Read state from %s" % \
                     self.state_filename)
-        except IOError, e:
+        except EnvironmentError, e:
             self.log.warning("[read_state]: No saved state: Can't open %s: %s"\
                     % (self.state_filename, e))
@@ -528,5 +528,5 @@
                 self.log.warn("[experiment_control] Error parsing access " +\
                         "db %s at line %d" %  (accessdb_file, lineno))
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal,
                     ("Error opening/reading %s as experiment " +\
@@ -560,5 +560,5 @@
                     self.log.warn("[read_mapdb] Ignored bad line (%d) in " +\
                             "map db: %s %s" % (lineno, line, e))
-        except IOError, e:
+        except EnvironmentError, e:
             self.log.warning("[read_mapdb]: No saved map database: Can't " +\
                     "open %s: %s" % (file, e))
@@ -571,5 +571,5 @@
 	    self.log.debug("[read_store]: Read store from %s" % \
                     self.store_filename)
-        except IOError, e:
+        except EnvironmentError, e:
 	    self.log.warning("[read_store]: No saved store: Can't open %s: %s"\
                     % (self.state_filename, e))
@@ -602,5 +602,5 @@
         try:
 	    self.synch_store.save(self.store_filename)
-        except IOError, e:
+        except EnvironmentError, e:
             self.log.error("Can't write file %s: %s" % \
                     (self.store_filename, e))
@@ -622,5 +622,5 @@
         try:
             trace = open("/dev/null", "w")
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal,
                     "Cannot open /dev/null??");
@@ -748,5 +748,5 @@
             df, dotname = tempfile.mkstemp()
             dotfile = os.fdopen(df, 'w')
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal,
                     "Failed to open file in genviz")
@@ -754,5 +754,5 @@
         try:
             dnull = open('/dev/null', 'w')
-        except IOError:
+        except EnvironmentError:
             service_error(service_error.internal,
                     "Failed to open /dev/null in genviz")
@@ -773,5 +773,5 @@
             raise service_error(service_error.internal,
                     "Single endpoint link in vtopo")
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal, "Cannot write dot file")
 
@@ -1454,5 +1454,5 @@
 	try:
 	    os.makedirs(softdir)
-	except IOError, e:
+	except EnvironmentError, e:
 	    raise service_error(
 		    "Cannot create software directory: %s" % e)
@@ -1520,5 +1520,5 @@
         try:
             tmpdir = tempfile.mkdtemp(prefix="split-")
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal, "Cannot create tmp dir")
 
@@ -1607,5 +1607,5 @@
             tmpdir = tempfile.mkdtemp(prefix="split-")
             os.mkdir(tmpdir+"/keys")
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal, "Cannot create tmp dir")
 
@@ -1635,5 +1635,5 @@
                     f.write(file_content)
                     f.close()
-                except IOError:
+                except EnvironmentError:
                     raise service_error(service_error.internal,
                             "Cannot write temp experiment description")
@@ -1748,5 +1748,5 @@
 		f.write('\n'.join(hosts))
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Cannot write hosts file: %s" % e)
@@ -1756,5 +1756,5 @@
 		copy_file("%s" % gw_secretkey, "%s/%s" % \
 			(configdir, gw_secretkey_base))
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Cannot copy keyfiles: %s" % e)
