catch exception in _CreateSliver that otherwise gets discarded
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 6 Jul 2011 15:02:37 +0000 (17:02 +0200)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 6 Jul 2011 15:02:37 +0000 (17:02 +0200)
still need to fix _get_server_version that's an unknown symbol

sfa/managers/slice_manager_pl.py

index 4ac41a4..0ed8f48 100644 (file)
@@ -155,12 +155,13 @@ def ListResources(api, creds, options, call_id):
 def CreateSliver(api, xrn, creds, rspec_str, users, call_id):
 
     def _CreateSliver(server, xrn, credential, rspec, users, call_id):
+        try:
             # Need to call GetVersion at an aggregate to determine the supported 
             # rspec type/format beofre calling CreateSliver at an Aggregate. 
             server_version = _get_server_version(api, server)    
             if 'sfa' not in aggregate_version and 'geni_api' in aggregate_version:
                 # sfa aggregtes support both sfa and pg rspecs, no need to convert
-                # if aggregate supports sfa rspecs. othewise convert to pg rspec
+                # if aggregate supports sfa rspecs. otherwise convert to pg rspec
                 rspec = RSpecConverter.to_pg_rspec(rspec)
             args = [xrn, credential, rspec, users]
             if _call_id_supported(api, server):
@@ -169,6 +170,8 @@ def CreateSliver(api, xrn, creds, rspec_str, users, call_id):
                 return server.CreateSliver(*args)
             except Exception, e:
                 api.logger.warn("CreateSliver failed at %s: %s" %(server.url, str(e)))
+        except: 
+            logger.log_exc('Something wrong in _CreateSliver')
 
     if Callids().already_handled(call_id): return ""
     # Validate the RSpec against PlanetLab's schema --disabled for now