from optparse import OptionParser
from geni.util.config import Config
+from geni.util.hierarchy import *
+from geni.util.misc import *
+
usual_variables = ["GENI_REGISTRY_ROOT_AUTH",
"GENI_REGISTRY_LEVEL1_AUTH",
if not changes:
return
- # GENI_INTERFACE_HRN is generated by combining GENI_REGISTRY_ROOT_AUTH and
+ # 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:
else:
level1_auth = default['GENI_REGISTRY_LEVEL1_AUTH']
- interface_hrn = ".".join([root_auth, level1_auth])
+ if level1_auth:
+ interface_hrn = level1_auth
+ else:
+ interface_hrn = root_auth
changes['GENI_INTERFACE_HRN'] = interface_hrn
return changes
def get_defaults():
geni_config = Config()
plc_vars = {'PLC_API_MAINTENANCE_PASSWORD': 'GENI_PLC_PASSWORD',
- 'PLC_API_MAINTENCE_USER': 'GENI_PLC_USER'
+ 'PLC_API_MAINTENANCE_USER': 'GENI_PLC_USER'
}
try:
from geni.util.config import plcConfig
else:
print ("Unknown command >%s< -- use h for help" % answer)
+ result = {}
+ result.update(defaults)
+ result.update(changes)
+ return result
+
+def setup_server_key(config_dict):
+ hrn = config_dict.get('GENI_INTERFACE_HRN')
+ print "updating server key ...",
+ if not hrn: print "nothing to do"
+
+ # Get the path to the authorities directory hierarchy
+ hierarchy = Hierarchy()
+ path = hierarchy.basedir
+ auth_path = hrn.replace(".", os.sep)
+
+ # define some useful variables
+ key = 'server.key'
+ cert = 'server.cert'
+ hrn_leaf = get_leaf(hrn)
+ if not hrn_leaf:
+ hrn_leaf = hrn
+ new_server_key = os.sep.join([path, auth_path, hrn_leaf])
+ old_server_key = os.sep.join([path, key])
+ old_server_cert = os.sep.join([path, cert])
+
+ # remove old key/cert
+ for fd in [old_server_key, old_server_cert]:
+ if os.path.isfile(fd):
+ os.remove(fd)
+
+ # create new server.key
+ #os.copy(new_server_key, old_server_key)
+ print "%(old_server_key)s copied from %(new_server_key)s" % locals()
+
+
+
####################
def main ():
# if -d is specified dont prompt, just configure with defaults
if '-d' in argv:
save_config(defaults, config_file)
+ results = defaults
else:
- mainloop (defaults, config_file)
+ results = mainloop (defaults, config_file)
+ setup_server_key(results)
return 0
if __name__ == '__main__':