added getCredentialFromReistry() method
[sfa.git] / geni / slicemgr.py
index da49039..9138923 100644 (file)
@@ -58,7 +58,7 @@ class SliceMgr(GeniServer):
         self.nodes = SimpleStorage(nodes_file)
         self.nodes.load()
         
-        slices_file = os.sep.join([self.server_basedir, 'smgr' + self.hrn + '.slices'])
+        slices_file = os.sep.join([self.server_basedir, 'smgr.' + self.hrn + '.slices'])
         self.slices = SimpleStorage(slices_file)
         self.slices.load()
 
@@ -79,22 +79,29 @@ class SliceMgr(GeniServer):
         Attempt to load credential from file if it exists. If it doesnt get
         credential from registry.
         """
-
-        self_cred_filename = self.server_basedir + os.sep + "smgr." + self.hrn + ".cred"
-        ma_cred_filename = self.server_basedir + os.sep + "smgr." + self.hrn + ".sa.cred"
         
         # see if this file exists
+        ma_cred_filename = self.server_basedir + os.sep + "smgr." + self.hrn + ".sa.cred"
         try:
             self.credential = Credential(filename = ma_cred_filename)
         except IOError:
-            # get self credential
-            self_cred = self.registry.get_credential(None, 'ma', self.hrn)
-            self_cred.save_to_file(self_cred_filename, save_parents=True)
+            self.credential = self.getCrednetialFromRegistry()
+            
+        
+    def getCredentialFromRegistry(self):
+        """
+        Get our current credential from the registry.
+        """
+        # get self credential
+        self_cred_filename = self.server_basedir + os.sep + "smgr." + self.hrn + ".cred"
+        self_cred = self.registry.get_credential(None, 'ma', self.hrn)
+        self_cred.save_to_file(self_cred_filename, save_parents=True)
 
-            # get ma credential
-            ma_cred = self.registry.get_credential(self_cred, 'sa', self.hrn)
-            ma_cred.save_to_file(ma_cred_filename, save_parents=True)
-            self.credential = ma_cred
+        # get ma credential
+        ma_cred_filename = self.server_basedir + os.sep + "smgr." + self.hrn + ".sa.cred"
+        ma_cred = self.registry.get_credential(self_cred, 'sa', self.hrn)
+        ma_cred.save_to_file(ma_cred_filename, save_parents=True)
+        return ma_cred        
 
     def connectRegistry(self):
         """
@@ -195,17 +202,15 @@ class SliceMgr(GeniServer):
         for aggregate in aggregates:
             try:
                 # get the rspec from the aggregate
-                agg_server = self.aggregates[aggregate]
                 agg_rspec = self.aggregates[aggregate].list_nodes(self.credential)
-                
                 # extract the netspec from each aggregates rspec
                 rspec.parseString(agg_rspec)
-                networks.extend({'NetSpec': rspec.getDictsByTagName('NetSpec')})
+                networks.extend([{'NetSpec': rspec.getDictsByTagName('NetSpec')}])
             except:
                 # XX print out to some error log
                 print "Error calling list nodes at aggregate %s" % aggregate
                 raise    
-   
+  
         # create the rspec dict
         resources = {'networks': networks, 'start_time': start_time, 'duration': duration}
         resourceDict = {'Rspec': resources}