### $URL$
#
##
-# Import PLC records into the Geni database. It is indended that this tool be
-# run once to create Geni records that reflect the current state of the
+# Import PLC records into the SFA database. It is indended that this tool be
+# run once to create SFA records that reflect the current state of the
# planetlab database.
#
# The import tool assumes that the existing PLC hierarchy should all be part
import getopt
import sys
import tempfile
-
+import logging.handlers
+import logging
from sfa.util.record import *
-from sfa.util.genitable import GeniTable
-from sfa.util.misc import *
+from sfa.util.table import SfaTable
+from sfa.util.namespace import *
from sfa.util.config import Config
-from sfa.util.report import trace, error
from sfa.trust.certificate import convert_public_key, Keypair
from sfa.trust.trustedroot import *
from sfa.trust.hierarchy import *
from sfa.plc.api import *
-from sfa.util.geniclient import *
from sfa.trust.gid import create_uuid
from sfa.plc.sfaImport import *
-
-
+from sfa.util.report import trace, error
def process_options():
global hrn
f.close()
def main():
+ # setup the logger
+ LOGFILE='/var/log/sfa_import_plc.log'
+ logging.basicConfig(level=logging.INFO,
+ format='%(asctime)s - %(message)s',
+ filename=LOGFILE)
+ rotate_handler = logging.handlers.RotatingFileHandler(LOGFILE, maxBytes=1000000, backupCount=5)
+ logger = logging.getLogger()
+ logger.addHandler(rotate_handler)
+
process_options()
config = Config()
if not config.SFA_REGISTRY_ENABLED:
root_auth = config.SFA_REGISTRY_ROOT_AUTH
level1_auth = config.SFA_REGISTRY_LEVEL1_AUTH
keys_filename = config.config_path + os.sep + 'person_keys.py'
- sfaImporter = sfaImport()
+ sfaImporter = sfaImport(logger)
shell = sfaImporter.shell
plc_auth = sfaImporter.plc_auth
AuthHierarchy = sfaImporter.AuthHierarchy
TrustedRoots = sfaImporter.TrustedRoots
- table = GeniTable()
+ table = SfaTable()
if not table.exists():
table.create()
if not level1_auth or level1_auth in ['']:
level1_auth = None
- print "Import: creating top level authorities"
if not level1_auth:
sfaImporter.create_top_level_auth_records(root_auth)
import_auth = root_auth
sfaImporter.create_top_level_auth_records(level1_auth)
import_auth = level1_auth
- print "Import: adding", import_auth, "to trusted list"
+ trace("Import: adding" + import_auth + "to trusted list", logger)
authority = AuthHierarchy.get_auth_info(import_auth)
TrustedRoots.add_gid(authority.get_gid_object())
continue
if not found:
- trace("Import: Removing %s %s" % (type, record_hrn))
record_object = existing_records[(record_hrn, type)]
sfaImporter.delete_record(record_hrn, type)
# save pub keys
- trace('saving current pub keys')
+ trace('Import: saving current pub keys', logger)
save_keys(keys_filename, person_keys)
if __name__ == "__main__":