removed another bunch of references to geni
[sfa.git] / sfa / plc / nodes.py
index c3f6a26..f80bd1a 100644 (file)
@@ -7,7 +7,7 @@ import datetime
 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 *
@@ -20,7 +20,7 @@ from sfa.server.aggregate import Aggregates
 
 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
@@ -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.origin_hrn = origin_hrn
 
 
     def refresh(self):
@@ -110,17 +110,13 @@ class Nodes(SimpleStorage):
         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:
-                    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)
+                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')}])
@@ -207,7 +203,7 @@ class Nodes(SimpleStorage):
             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']:
@@ -215,7 +211,7 @@ class Nodes(SimpleStorage):
         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:
@@ -224,7 +220,7 @@ class Nodes(SimpleStorage):
             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
@@ -237,7 +233,7 @@ class Nodes(SimpleStorage):
                 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