added comments
[sfa.git] / geni / registry.py
index e792c55..574f8f7 100644 (file)
@@ -113,7 +113,6 @@ class Registry(GeniServer):
         self.registry_info = XmlStorage(registries_file, {'registries': {'registry': [connection_dict]}})
         self.registry_info.load()
         self.connectRegistry()
-        self.loadCredential()
         self.connectRegistries()
         
  
@@ -156,7 +155,9 @@ class Registry(GeniServer):
         """
 
         # see if this file exists
-        ma_cred_filename = self.server_basedir + os.sep + "reg." + self.hrn + ".sa.cred"
+        # XX This is really the aggregate's credential. Using this is easier than getting
+        # the registry's credential from iteslf (ssl errors).   
+        ma_cred_filename = self.server_basedir + os.sep + "agg." + self.hrn + ".ma.cred"
         try:
             self.credential = Credential(filename = ma_cred_filename)
         except IOError:
@@ -765,8 +766,16 @@ class Registry(GeniServer):
 
     def resolve(self, cred, name):
         self.decode_authentication(cred, "resolve")
+        
+        try:
+            records = self.resolve_raw("*", name)
+        except:
+            records = []
+            for registry in self.registries:
+                if name.startswith(registry):
+                    records = self.registries[registry].resolve(self.credential, name)
+                
 
-        records = self.resolve_raw("*", name)
         dicts = []
         for record in records:
             dicts.append(record.as_dict())
@@ -931,7 +940,7 @@ class Registry(GeniServer):
 
     def get_credential(self, cred, type, name):
         if not cred:
-            return get_self_credential(self, type, name)
+            return self.get_self_credential(type, name)
 
         self.decode_authentication(cred, "getcredential")