request hash is optional
authorTony Mack <tmack@cs.princeton.edu>
Wed, 4 Nov 2009 00:47:44 +0000 (00:47 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Wed, 4 Nov 2009 00:47:44 +0000 (00:47 +0000)
sfa/plc/nodes.py

index 3fb3e98..c057a62 100644 (file)
@@ -114,11 +114,13 @@ class Nodes(SimpleStorage):
         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, request_hash, caller_cred)
+                try:
+                    agg_rspec = aggregates[aggregate].get_resources(credential, hrn, caller_cred)
+                except:
+                    arg_list = [credential, hrn]
+                    request_hash = self.api.key.compute_hash(arg_list)
+                    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')}])