adding new config variables to config utility
[sfa.git] / config / sfa-config-tty
index 348b921..2e0e1ed 100755 (executable)
@@ -15,34 +15,44 @@ import sys
 import os
 import re
 import readline
-import traceback
 import distutils.file_util
 from optparse import OptionParser
 
-from geni.util.config import Config
-from geni.util.hierarchy import *
-from geni.util.misc import *
+from sfa.util.config import Config
+from sfa.trust.hierarchy import *
+from sfa.util.misc import *
 
 
-all_variables   = ["GENI_REGISTRY_ROOT_AUTH",
-                   "GENI_REGISTRY_LEVEL1_AUTH",
-                   "GENI_REGISTRY_ENABLED",
-                   "GENI_REGISTRY_HOST", 
-                   "GENI_REGISTRY_PORT",
-                   "GENI_AGGREGATE_ENABLED",
-                   "GENI_AGGREGATE_HOST",
-                   "GENI_AGGREGATE_PORT",
-                   "GENI_SM_ENABLED",
-                   "GENI_SM_HOST",
-                   "GENI_SM_PORT",
-                   "GENI_PLC_USER",
-                   "GENI_PLC_PASSWORD",    
-                   "GENI_PLC_URL",
+all_variables   = ["SFA_REGISTRY_ROOT_AUTH",
+                   "SFA_REGISTRY_LEVEL1_AUTH",
+                   "SFA_REGISTRY_ENABLED",
+                   "SFA_REGISTRY_HOST", 
+                   "SFA_REGISTRY_PORT",
+                  "SFA_REGISTRY_TYPE",
+                   "SFA_AGGREGATE_ENABLED",
+                   "SFA_AGGREGATE_HOST",
+                   "SFA_AGGREGATE_PORT",
+                  "SFA_AGGREGATE_TYPE",
+                   "SFA_SM_ENABLED",
+                   "SFA_SM_HOST",
+                   "SFA_SM_PORT",
+                  "SFA_SM_TYPE",
+                   "SFA_PLC_USER",
+                   "SFA_PLC_PASSWORD",    
+                   "SFA_PLC_URL",
+                   "SFA_PLC_DB_NAME",
+                   "SFA_PLC_DB_HOST",
+                   "SFA_PLC_DB_PORT",
+                   "SFA_PLC_DB_USER",
+                   "SFA_PLC_DB_PASSWORD",
                    ]
-usual_variables = ["GENI_REGISTRY_ROOT_AUTH",
-                   "GENI_REGISTRY_LEVEL1_AUTH",
-                   "GENI_PLC_USER",
-                   "GENI_PLC_PASSWORD",    
+usual_variables = ["SFA_REGISTRY_ROOT_AUTH",
+                   "SFA_REGISTRY_LEVEL1_AUTH",
+                   "SFA_PLC_USER",
+                   "SFA_PLC_PASSWORD",
+                   "SFA_PLC_DB_HOST",
+                   "SFA_PLC_DB_USER",
+                   "SFA_PLC_DB_PASSWORD",
                    ]
 
 
@@ -106,50 +116,36 @@ def validate(changes):
 
     defaults = get_defaults()
     
-    # GENI_INTERFACE_HRN is GENI_REGISTRY_LEVEL1_AUTH, if thats blank it
-    # then defaults to GENI_REGISTRY_ROOT_AUTH 
-    # GENI_REGISTRY_LEVEL1_AUTH, so if either of these are present we must 
-    # update GENI_INTERFACE_HRN
-    if 'GENI_REGISTRY_ROOT_AUTH' in changes:
-        root_auth = changes['GENI_REGISTRY_ROOT_AUTH']
+    # SFA_INTERFACE_HRN is SFA_REGISTRY_LEVEL1_AUTH, if thats blank it
+    # then defaults to SFA_REGISTRY_ROOT_AUTH 
+    # SFA_REGISTRY_LEVEL1_AUTH, so if either of these are present we must 
+    # update SFA_INTERFACE_HRN
+    if 'SFA_REGISTRY_ROOT_AUTH' in changes:
+        root_auth = changes['SFA_REGISTRY_ROOT_AUTH']
     else:
-        root_auth = defaults['GENI_REGISTRY_ROOT_AUTH']
+        root_auth = defaults['SFA_REGISTRY_ROOT_AUTH']
              
-    if 'GENI_REGISTRY_LEVEL1_AUTH' in changes:
-        level1_auth = changes['GENI_REGISTRY_LEVEL1_AUTH']
+    if 'SFA_REGISTRY_LEVEL1_AUTH' in changes:
+        level1_auth = changes['SFA_REGISTRY_LEVEL1_AUTH']
     else:
-        level1_auth = defaults['GENI_REGISTRY_LEVEL1_AUTH']
+        level1_auth = defaults['SFA_REGISTRY_LEVEL1_AUTH']
                 
     if level1_auth:
         interface_hrn = level1_auth
     else:
         interface_hrn = root_auth
-    changes['GENI_INTERFACE_HRN'] = interface_hrn
+    changes['SFA_INTERFACE_HRN'] = interface_hrn
     return changes                            
 
 def get_defaults():
     sfa_config = Config()
-    plc_vars = {'PLC_API_MAINTENANCE_PASSWORD': 'GENI_PLC_PASSWORD',
-                'PLC_API_MAINTENANCE_USER': 'GENI_PLC_USER'
-               }
-    try:
-        from geni.util.config import plcConfig
-        plc_config = plcConfig
-    except:
-        plc_config = None
     
     defaults = {}
     for var in dir(sfa_config):
-        if var.startswith('GENI'):
+        if var.startswith('SFA'):
             value = eval("sfa_config.%s" % var)
             defaults[var] = value
 
-    # some defaults come from plc_config
-    for var in dir(plc_config):
-        if var in plc_vars:
-            value = eval("plc_config.%s" % var)
-            defaults[plc_vars[var]] = value
-
     return defaults       
 
 def prompt_variable(variable, default_config):
@@ -214,8 +210,8 @@ def mainloop (default_config, config_file):
                     raise
         elif (answer in ["e","E"]):
             try:
-                prompt_variable (cdef,cread,cwrite,category,variable,
-                                 show_comments,False)
+                for varname in all_variables:
+                    changes[varname] = prompt_variable(varname, default_config)
             except Exception, inst:
                 if (str(inst) != 'BailOut'):
                     raise
@@ -237,7 +233,7 @@ def mainloop (default_config, config_file):
     return result
     
 def setup_server_key(config_dict):
-    hrn = config_dict.get('GENI_INTERFACE_HRN')
+    hrn = config_dict.get('SFA_INTERFACE_HRN')
     if not hrn: return
    
     # Get the path to the authorities directory hierarchy
@@ -264,9 +260,9 @@ def setup_server_key(config_dict):
     try:
         distutils.file_util.copy_file(src=new_server_key, dst=old_server_key, verbose=1)
         print "\t\t%(old_server_key)s\ncopied from\t%(new_server_key)s" % locals()
-    # this is expected when running this tool for the first time (before gimport.py)
+    # this is expected when running this tool for the first time (before sfa-import-plc.py)
     except:
-        print "Could not create %(old_server_key)s - ignore if you haven't run gimport yet"%locals()
+        print "Could not create %(old_server_key)s - ignore if you haven't run sfa-import-plc.py yet"%locals()
     
     
 
@@ -277,7 +273,7 @@ def main ():
     argv = sys.argv[1:]
     save = True
     parser = OptionParser(usage=command_usage, version="%prog 1.0")
-    parser.set_defaults(config_dir="/etc/geni",
+    parser.set_defaults(config_dir="/etc/sfa",
                         usual_variables=[])
     parser.add_option("","--configdir",dest="config_dir",action="append", help="specify configuration directory")
     parser.add_option("","--usual_variable",dest="usual_variables",action="append", help="add a usual variable")