Changed Rspec --> RSpec throughout.
[sfa.git] / sfa / plc / nodes.py
index 7706763..3fb3e98 100644 (file)
@@ -31,7 +31,7 @@ class Nodes(SimpleStorage):
         SimpleStorage.__init__(self, self.nodes_file)
         self.policy = Policy(api)
         self.load()
-       self.caller_cred=caller_cred
+        self.caller_cred=caller_cred
 
 
     def refresh(self):
@@ -49,7 +49,7 @@ class Nodes(SimpleStorage):
                 self.refresh_nodes_smgr()
 
     def refresh_nodes_aggregate(self):
-        rspec = Rspec()
+        rspec = RSpec()
         rspec.parseString(self.get_rspec())
         
         # filter nodes according to policy
@@ -109,24 +109,27 @@ class Nodes(SimpleStorage):
         aggregates = Aggregates(self.api)
         rspecs = {}
         networks = []
-        rspec = Rspec()
+        rspec = RSpec()
         credential = self.api.getCredential() 
         for aggregate in aggregates:
             try:
+                caller_cred = self.caller_cred
+                arg_list = [credential, hrn]
+                request_hash = self.api.key.compute_hash(arg_list)
+                
                 # get the rspec from the aggregate
-                agg_rspec = aggregates[aggregate].get_resources(credential, hrn, caller_cred=self.caller_cred)
+                agg_rspec = aggregates[aggregate].get_resources(credential, hrn, request_hash, caller_cred)
                 # extract the netspec from each aggregates rspec
                 rspec.parseString(agg_rspec)
                 networks.extend([{'NetSpec': rspec.getDictsByTagName('NetSpec')}])
             except:
                 # XX print out to some error log
-                print >> log, "Error calling list nodes at aggregate %s" % aggregate
+                print >> log, "Error getting resources at aggregate %s" % aggregate
                 traceback.print_exc(log)
-                exc_type, exc_value, exc_traceback = sys.exc_info()
-                print exc_type, exc_value, exc_traceback
+                print >> log, "%s" % (traceback.format_exc())
         # create the rspec dict
         resources = {'networks': networks, 'start_time': start_time, 'duration': duration}
-        resourceDict = {'Rspec': resources}
+        resourceDict = {'RSpec': resources}
         # convert rspec dict to xml
         rspec.parseDict(resourceDict)
         return rspec
@@ -162,8 +165,8 @@ class Nodes(SimpleStorage):
 
     def get_rspec_smgr(self, hrn = None):
         
-       rspec = self.get_remote_resources(hrn)
-       return rspec.toxml()
+        rspec = self.get_remote_resources(hrn)
+        return rspec.toxml()
 
     def get_rspec_aggregate(self, hrn = None):
         """
@@ -254,9 +257,9 @@ class Nodes(SimpleStorage):
         resources = {'networks': networks, 'start_time': start_time, 'duration': duration}
 
         # convert the plc dict to an rspec dict
-        resourceDict = RspecDict(resources)
+        resourceDict = RSpecDict(resources)
         # convert the rspec dict to xml
-        rspec = Rspec()
+        rspec = RSpec()
         rspec.parseDict(resourceDict)
         return rspec.toxml()