import sys
import traceback
-from sfa.util.misc import *
+from sfa.util.namespace import *
from sfa.util.rspec import *
from sfa.util.specdict import *
from sfa.util.faults import *
class Nodes(SimpleStorage):
- def __init__(self, api, ttl = 1, caller_cred=None):
+ def __init__(self, api, ttl = 1, origin_hrn=None):
self.api = api
self.ttl = ttl
self.threshold = None
SimpleStorage.__init__(self, self.nodes_file)
self.policy = Policy(api)
self.load()
- self.caller_cred=caller_cred
+ self.origin_hrn = origin_hrn
def refresh(self):
rspecs = {}
networks = []
rspec = RSpec()
- credential = self.api.getCredential()
+ credential = self.api.getCredential()
+ origin_hrn = self.origin_hrn
for aggregate in aggregates:
if aggregate not in [self.api.auth.client_cred.get_gid_caller().get_hrn()]:
try:
- caller_cred = self.caller_cred
# get the rspec from the aggregate
- try:
- request_hash=None
- agg_rspec = aggregates[aggregate].get_resources(credential, hrn, request_hash, 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)
+ agg_rspec = aggregates[aggregate].get_resources(credential, hrn, origin_hrn)
# extract the netspec from each aggregates rspec
rspec.parseString(agg_rspec)
networks.extend([{'NetSpec': rspec.getDictsByTagName('NetSpec')}])
elif self.api.plshell_version in ['4.3']:
interface_ids.extend(node['interface_ids'])
else:
- raise GeniAPIError, "Unsupported plcapi version ", \
+ raise SfaAPIError, "Unsupported plcapi version ", \
self.api.plshell_version
if self.api.plshell_version in ['4.2']:
elif self.api.plshell_version in ['4.3']:
interfaces = self.api.plshell.GetInterfaces(self.api.plauth, interface_ids)
else:
- raise GeniAPIError, "Unsupported plcapi version ", \
+ raise SfaAPIError, "Unsupported plcapi version ", \
self.api.plshell_version
interface_dict = {}
for interface in interfaces:
elif self.api.plshell_version in ['4.3']:
interface_dict[interface['interface_id']] = interface
else:
- raise GeniAPIError, "Unsupported plcapi version", \
+ raise SfaAPIError, "Unsupported plcapi version", \
self.api.plshell_version
# join nodes with thier interfaces
for interface_id in node['interface_ids']:
node['interfaces'].append(interface_dict[interface_id])
else:
- raise GeniAPIError, "Unsupported plcapi version", \
+ raise SfaAPIError, "Unsupported plcapi version", \
self.api.plshell_version
# convert and threshold to ints