From 899018dc3319904f364ad450338ad504254e6c72 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 24 Jan 2012 14:38:51 +0100 Subject: [PATCH] reviewed openstack importer --- sfa/importer/sfa-import-openstack.py | 28 ++++++++++++++++------------ sfa/importer/sfa-import-plc.py | 12 ++++++------ 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/sfa/importer/sfa-import-openstack.py b/sfa/importer/sfa-import-openstack.py index ae3d8975..cb4873e7 100755 --- a/sfa/importer/sfa-import-openstack.py +++ b/sfa/importer/sfa-import-openstack.py @@ -23,17 +23,16 @@ from sfa.util.xrn import Xrn, get_leaf, get_authority, hrn_to_urn from sfa.util.plxrn import hostname_to_hrn, slicename_to_hrn, email_to_hrn, hrn_to_pl_slicename from sfa.util.sfalogging import logger +from sfa.trust.gid import create_uuid from sfa.trust.certificate import convert_public_key, Keypair -from sfa.trust.gid import create_uuid from sfa.openstack.openstack_shell import OpenstackShell from sfa.storage.alchemy import dbsession -from sfa.storage.persistentobjs import RegRecord +from sfa.storage.persistentobjs import RegRecord, RegAuthority, RegUser, RegSlice, RegNode from sfa.importer.sfaImport import sfaImport, _cleanup_string - def process_options(): (options, args) = getopt.getopt(sys.argv[1:], '', []) @@ -85,7 +84,7 @@ def main(): persons = shell.user_get_all() persons_dict = {} keys_filename = config.config_path + os.sep + 'person_keys.py' - old_person_keys = load_keys(keys_filename) + old_person_keys = load_keys(keys_filename) person_keys = {} for person in persons: hrn = config.SFA_INTERFACE_HRN + "." + person.id @@ -110,11 +109,14 @@ def main(): logger.warn("Import: person %s does not have a PL public key"%hrn) pkey = Keypair(create=True) person_gid = sfaImporter.AuthHierarchy.create_gid(urn, create_uuid(), pkey) - person_record = RegRecord("user", hrn=hrn, gid=person_gid, - authority=get_authority(hrn)) - logger.info("Import: importing %s " % person_record) + person_record = RegUser () + person_record.type='user' + person_record.hrn=hrn + person_record.gid=person_gid + person_record.authority=get_authority(hrn) dbsession.add(person_record) dbsession.commit() + logger.info("Import: imported person %s" % person_record) # Get all projects projects = shell.project_get_all() @@ -127,12 +129,14 @@ def main(): pkey = Keypair(create=True) urn = hrn_to_urn(hrn, 'slice') project_gid = sfaImporter.AuthHierarchy.create_gid(urn, create_uuid(), pkey) - project_record = RegRecord("slice", hrn=hrn, gid=project_gid, - authority=get_authority(hrn)) - projects_dict[project_record.hrn] = project_record - logger.info("Import: importing %s " % project_record) + project_record = RegSlice () + project_record.type='slice' + project_record.hrn=hrn + project_record.gid=project_gid + project_record.authority=get_authority(hrn) dbsession.add(project_record) dbsession.commit() + logger.info("Import: imported slice: %s" % project_record) # remove stale records system_records = [interface_hrn, root_auth, interface_hrn + '.slicemanager'] @@ -154,7 +158,7 @@ def main(): continue record_object = existing_records[ (record_hrn, type) ] - logger.info("Import: removing %s " % record.summary_string()) + logger.info("Import: removing %s " % record) dbsession.delete(record_object) dbsession.commit() diff --git a/sfa/importer/sfa-import-plc.py b/sfa/importer/sfa-import-plc.py index e10e572d..8a9e13df 100755 --- a/sfa/importer/sfa-import-plc.py +++ b/sfa/importer/sfa-import-plc.py @@ -72,22 +72,20 @@ def main(): process_options() config = Config() + sfaImporter = sfaImport() + logger=sfaImporter.logger + logger.setLevelFromOptVerbose(config.SFA_API_LOGLEVEL) if not config.SFA_REGISTRY_ENABLED: sys.exit(0) root_auth = config.SFA_REGISTRY_ROOT_AUTH interface_hrn = config.SFA_INTERFACE_HRN - keys_filename = config.config_path + os.sep + 'person_keys.py' - sfaImporter = sfaImport() - sfaImporter.create_top_level_records() - logger=sfaImporter.logger - logger.setLevelFromOptVerbose(config.SFA_API_LOGLEVEL) shell = PlShell (config) + sfaImporter.create_top_level_records() # create dict of all existing sfa records existing_records = {} existing_hrns = [] key_ids = [] - person_keys = {} for record in dbsession.query(RegRecord): existing_records[ (record.hrn, record.type,) ] = record existing_hrns.append(record.hrn) @@ -113,7 +111,9 @@ def main(): keys_dict[key['key_id']] = key['key'] # create a dict of person keys keyed on key_id + keys_filename = config.config_path + os.sep + 'person_keys.py' old_person_keys = load_keys(keys_filename) + person_keys = {} for person in persons: pubkeys = [] for key_id in person['key_ids']: -- 2.45.2