using sfa.util.namespace instead of sfa.util.misc
[sfa.git] / sfa / server / sfa_component_setup.py
index fe60df1..728c433 100755 (executable)
@@ -5,7 +5,7 @@ import tempfile
 from optparse import OptionParser
 from sfa.util.config import Config
 import sfa.util.xmlrpcprotocol as xmlrpcprotocol
-import sfa.util.misc as misc
+from sfa.util.namepace import *
 from sfa.trust.certificate import Keypair, Certificate
 from sfa.trust.credential import Credential
 from sfa.trust.gid import GID
@@ -50,8 +50,8 @@ def get_node_key(registry=None, verbose=False):
     # this call requires no authentication, 
     # so we can generate a random keypair here
     subject="component"
-    keyfile = tempfile.mktemp()
-    certfile = tempfile.mktemp()
+    (kfd, keyfile) = tempfile.mkstemp()
+    (cfd, certfile) = tempfile.mkstemp()
     key = Keypair(create=True)
     key.save_to_file(keyfile)
     cert = Certificate(subject=subject)
@@ -75,7 +75,7 @@ def create_server_keypair(keyfile=None, certfile=None, hrn="component", verbose=
     cert.sign()
     cert.save_to_file(certfile, save_parents=True)       
         
-def get_credential(registry=None, verbose=False):
+def get_credential(registry=None, force=False, verbose=False):
     config = Config()
     hierarchy = Hierarchy()
     key_dir= hierarchy.basedir
@@ -83,7 +83,7 @@ def get_credential(registry=None, verbose=False):
     config_dir = config.config_path
     credfile = data_dir + os.sep + 'node.cred'
     # check for existing credential
-    if os.path.exists(credfile):
+    if not force and os.path.exists(credfile):
         if verbose:
             print "Loading Credential from %(credfile)s " % locals()  
         cred = Credential(filename=credfile).save_to_string(save_parents=True)
@@ -142,7 +142,7 @@ def get_trusted_certs(registry=None, verbose=False):
     for gid_str in trusted_certs:
         gid = GID(string=gid_str)
         gid.decode()
-        relative_filename = gid.get_hrn + ".gid"
+        relative_filename = gid.get_hrn() + ".gid"
         trusted_gid_names.append(relative_filename)
         gid_filename = trusted_certs_dir + os.sep + relative_filename
         if verbose:
@@ -185,8 +185,8 @@ def get_gids(registry=None, verbose=False):
     from sfa.plc.api import ComponentAPI
     api = ComponentAPI()
     slicenames = api.nodemanager.GetXIDs().keys()   
-    slicename_to_hrn = lambda name: ".".join([interface_hrn, name.replace('_', '.')])
-    hrns = map(slicename_to_hrn, slicenames)
+    hrns = [slicename_to_hrn(interface_hrn, slicename) for slicename in slicenames]
+        
 
     if verbose:
         print "Getting gids for slices on this node from registry"  
@@ -197,7 +197,7 @@ def get_gids(registry=None, verbose=False):
         # if this isnt a slice record skip it
         if not record['type'] == 'slice':
             continue
-        slicename = misc.hrn_to_pl_slicename(record['hrn'])
+        slicename = hrn_to_pl_slicename(record['hrn'])
         # if this slice isnt really instatiated skip it
         if not os.path.exists("/vservers/%(slicename)s" % locals()):
             continue