Index: fedd/federation/allocate_project.py
===================================================================
--- fedd/federation/allocate_project.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/allocate_project.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -102,5 +102,5 @@
 	    try:
 		read_simple_accessdb(access_db, self.auth, 'allocate')
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Error reading accessDB %s: %s" % (access_db, e))
@@ -132,5 +132,5 @@
 		self.log.debug("[allocation]: Read state from %s" % \
 			self.state_filename)
-	    except IOError, e:
+	    except EnvironmentError, e:
 		self.log.warning(("[allocation]: No saved state: " +\
 			"Can't open %s: %s") % (self.state_filename, e))
@@ -154,5 +154,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))
@@ -195,5 +195,5 @@
 	try:
 	    dnull = open("/dev/null", "w")
-	except IOError:
+	except EnvironmentError:
 	    self.log.warn("[run_cmd]: failed to open /dev/null for redirect")
 	    dnull = None
Index: fedd/federation/deter_impl.py
===================================================================
--- fedd/federation/deter_impl.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/deter_impl.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -64,5 +64,5 @@
 		try:
 		    read_simple_accessdb(access_db, self.auth)
-		except IOError, e:
+		except EnvironmentError, e:
 		    raise RuntimeError(
 			    "Error reading accessDB %s: %s" % (access_db, e))
Index: fedd/federation/deter_internal_access.py
===================================================================
--- fedd/federation/deter_internal_access.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/deter_internal_access.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -220,5 +220,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))
@@ -241,5 +241,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))
@@ -422,5 +422,5 @@
 		print >>f, alloc_cert
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Can't open %s/%s : %s" % (self.certdir, aid, e))
Index: fedd/federation/dragon_access.py
===================================================================
--- fedd/federation/dragon_access.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/dragon_access.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -219,5 +219,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))
@@ -240,5 +240,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))
@@ -414,5 +414,5 @@
 		print >>f, alloc_cert
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Can't open %s/%s : %s" % (self.certdir, aid, e))
@@ -711,5 +711,5 @@
 		call(cmd, cwd=self.cli_dir, stdout=f, stderr=f, close_fds=True)
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Failed to open /dev/null: %s" % e)
Index: fedd/federation/emulab_access.py
===================================================================
--- fedd/federation/emulab_access.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/emulab_access.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -335,5 +335,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))
@@ -362,5 +362,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))
@@ -566,5 +566,5 @@
 	    cf = open(conffilename, "w")
 	    os.chmod(conffilename, stat.S_IRUSR | stat.S_IWUSR)
-	except IOError, e:
+	except EnvironmentError, e:
 	    raise service_error(service_error.internal, 
 		    "Cannot create user configuration data")
@@ -572,5 +572,5 @@
 	try:
 	    dev_null = open("/dev/null", "a")
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("export_userconf: can't open /dev/null: %s" % e)
 
@@ -908,5 +908,5 @@
 		print >>f, alloc_cert
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Can't open %s/%s : %s" % (self.certdir, aid, e))
@@ -1186,5 +1186,5 @@
 			(lproj, leid, secretkey_base)
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Can't write protal config %s: %s" % (cfn, e))
@@ -1212,5 +1212,5 @@
 		print >>f, "SEERBase: True"
 	    f.close()
-	except IOError, e:
+	except EnvironmentError, e:
 	    raise service_error(service_error.internal,
 		    "Cannot write client.conf: %s" %s)
@@ -1364,5 +1364,5 @@
 	    print >>f, expfile
 	    f.close()
-	except IOError:
+	except EnvironmentError:
 	    raise service_error(service_error.internal,
 		    "Cannot write experiment file %s: %s" % (expfn,e))
@@ -1482,5 +1482,5 @@
 			get_url(u, tn, tmpdir, "userconf")
 			self.log.debug("Got userconf info: %s" % u)
-		    except IOError, e:
+		    except EnvironmentError, e:
 			raise service_error(service.error.internal, 
 				"Cannot create temp file for " + 
@@ -1603,5 +1603,5 @@
 	    softdir = "%s/software" % tmpdir
 	    os.mkdir(softdir)
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal, "Cannot create tmp dir")
 
Index: fedd/federation/experiment_control.py
===================================================================
--- fedd/federation/experiment_control.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ 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)
Index: fedd/federation/fedid.py
===================================================================
--- fedd/federation/fedid.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/fedid.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -170,5 +170,5 @@
 	    else:
 		return (None, None)
-	except IOError, e:
+	except EnvironmentError, e:
 	    raise e
     finally:
Index: fedd/federation/local_emulab_segment.py
===================================================================
--- fedd/federation/local_emulab_segment.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/local_emulab_segment.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -42,5 +42,5 @@
 	try:
 	    dnull = open("/dev/null", "w")
-	except IOError:
+	except EnvironmentError:
 	    self.log.debug("[cmd_with_timeout]: failed to open /dev/null " + \
 		    "for redirect")
@@ -107,5 +107,5 @@
 	try:
 	    dev_null = open("/dev/null", "a")
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("[get_state]: can't open /dev/null: %s" %e)
 
@@ -149,5 +149,5 @@
 	try:
 	    dev_null = open("/dev/null", "a")
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("[get_state]: can't open /dev/null: %s" %e)
 
@@ -225,5 +225,5 @@
 		print >>f, self.null
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Cannot stage null.tcl: %s" % e.strerror)
@@ -266,5 +266,5 @@
 			self.copy_file("%s/%s" % (lsoftdir, f), 
 				"%s/%s" % (softdir, f))
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("Error copying file: %s" %e)
 	    return False
Index: fedd/federation/ns2topdl.py
===================================================================
--- fedd/federation/ns2topdl.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/ns2topdl.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -55,5 +55,5 @@
 	    try:
 		read_simple_accessdb(access_db, self.auth, 'ns2topdl')
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Error reading accessDB %s: %s" % (access_db, e))
@@ -86,5 +86,5 @@
 	try:
 	    tmpdir = tempfile.mkdtemp(prefix="ns2topdl-")
-	except IOError:
+	except EnvironmentError:
 	    raise service_error(service_error.internal, "Cannot create tmp dir")
 
@@ -108,5 +108,5 @@
 		    f.write(file_content)
 		    f.close()
-		except IOError:
+		except EnvironmentError:
 		    raise service_error(service_error.internal,
 			    "Cannot write temp experiment description")
Index: fedd/federation/protogeni_access.py
===================================================================
--- fedd/federation/protogeni_access.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/protogeni_access.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -261,5 +261,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))
@@ -282,5 +282,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))
@@ -437,5 +437,5 @@
 	    cf = open(conffilename, "w")
 	    os.chmod(conffilename, stat.S_IRUSR | stat.S_IWUSR)
-	except IOError, e:
+	except EnvironmentError, e:
 	    raise service_error(service_error.internal, 
 		    "Cannot create user configuration data")
@@ -443,5 +443,5 @@
 	try:
 	    dev_null = open("/dev/null", "a")
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("export_userconf: can't open /dev/null: %s" % e)
 
@@ -596,5 +596,5 @@
 		print >>f, alloc_cert
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal, 
 			"Can't open %s/%s : %s" % (self.certdir, aid, e))
@@ -827,5 +827,5 @@
 			secretkey_base
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Can't write protal config %s: %s" % (cfn, e))
@@ -841,5 +841,5 @@
 		    print >>f, "ExperimentID: %s" % mexp
 		    f.close()
-		except IOError, e:
+		except EnvironmentError, e:
 		    raise service_error(service_error.internal, 
 			    "Can't write seer.conf: %s" %e)
@@ -858,5 +858,5 @@
 		    # print >>f, "ExperimentID: %s/%s" % (mproj, meid)
 		    f.close()
-		except IOError, e:
+		except EnvironmentError, e:
 		    raise service_error(service_error.internal,
 			    "Cannot write client.conf: %s" %s)
@@ -971,5 +971,5 @@
             tmpdir = tempfile.mkdtemp(prefix="access-")
 	    softdir = "%s/software" % tmpdir
-        except IOError:
+        except EnvironmentError:
             raise service_error(service_error.internal, "Cannot create tmp dir")
 
@@ -1044,5 +1044,5 @@
 			    tf.close()
 			    get_url(u, tn, tmpdir, "userconf")
-			except IOError, e:
+			except EnvironmentError, e:
 			    raise service_error(service.error.internal, 
 				    "Cannot create temp file for " + 
Index: fedd/federation/proxy_emulab_segment.py
===================================================================
--- fedd/federation/proxy_emulab_segment.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/proxy_emulab_segment.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -45,5 +45,5 @@
 	try:
 	    dev_null = open("/dev/null", "a")
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("[get_state]: can't open /dev/null: %s" %e)
 
@@ -92,5 +92,5 @@
 	try:
 	    dev_null = open("/dev/null", "a")
-	except IOError, e:
+	except EnvironmentError, e:
 	    self.log.error("[get_mapping]: can't open /dev/null: %s" %e)
 
@@ -172,5 +172,5 @@
 		print >>f, self.null
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Cannot stage tarfile/rpm: %s" % e.strerror)
@@ -200,5 +200,5 @@
 	    sf, scriptname = tempfile.mkstemp()
 	    scriptfile = os.fdopen(sf, 'w')
-	except IOError:
+	except EnvironmentError:
 	    return False
 
Index: fedd/federation/proxy_protogeni_segment.py
===================================================================
--- fedd/federation/proxy_protogeni_segment.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/proxy_protogeni_segment.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -262,5 +262,5 @@
 			secretkey_base
 		f.close()
-	    except IOError, e:
+	    except EnvironmentError, e:
 		raise service_error(service_error.internal,
 			"Can't write protal config %s: %s" % (cfn, e))
@@ -280,5 +280,5 @@
 			print >>f, "SEERBase: True"
 		    f.close()
-		except IOError, e:
+		except EnvironmentError, e:
 		    raise service_error(service_error.internal,
 			    "Cannot write client.conf: %s" %s)
@@ -499,5 +499,5 @@
 	    sf, scriptname = tempfile.mkstemp()
 	    scriptfile = os.fdopen(sf, 'w')
-	except IOError:
+	except EnvironmentError:
 	    return False
 
Index: fedd/federation/proxy_segment.py
===================================================================
--- fedd/federation/proxy_segment.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/proxy_segment.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -38,5 +38,5 @@
 	try:
 	    dnull = open("/dev/null", "w")
-	except IOError:
+	except EnvironmentError:
 	    self.log.debug("[ssh_file]: failed to open " + \
 		    "/dev/null for redirect")
@@ -64,5 +64,5 @@
 	try:
 	    dnull = open("/dev/null", "w")
-	except IOError:
+	except EnvironmentError:
 	    self.log.debug("[ssh_cmd]: failed to open /dev/null " + \
 		    "for redirect")
Index: fedd/federation/server.py
===================================================================
--- fedd/federation/server.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/server.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -145,5 +145,5 @@
 		    f = open(fname, "rb")
 		    size = os.path.getsize(fname)
-		except IOError, e:
+		except EnvironmentError, e:
 		    code = 404
 		    size = 0
Index: fedd/federation/util.py
===================================================================
--- fedd/federation/util.py	(revision da2208aafe4314bd80bf00197865c62e9833aff6)
+++ fedd/federation/util.py	(revision d3c8759502763e1a406b71e373ebea94021c6a05)
@@ -165,5 +165,5 @@
 def copy_file(src, dest, size=1024):
     """
-    Exceedingly simple file copy.  Throws an IOError if there's a problem.
+    Exceedingly simple file copy.  Throws an EnvironmentError if there's a problem.
     """
     s = open(src,'r')
@@ -203,5 +203,5 @@
 	    lf.close()
 	    ok = True
-	except IOError, e:
+	except EnvironmentError, e:
 	    failed_excpetion = e
 	    retries += 1
