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):
credential = self.api.getCredential()
for aggregate in aggregates:
try:
+ caller_cred = self.caller_cred
+ cred_str = credential.save_to_string(save_parents=True)
+ arg_list = [cred_str, 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(cred_str, 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}
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):
"""