from sfa.trust.trustedroots import TrustedRoots
from sfa.trust.hierarchy import Hierarchy
from sfa.trust.gid import create_uuid
-from sfa.storage.persistentobjs import RegRecord
+from sfa.storage.model import RegRecord, RegAuthority, RegUser
from sfa.storage.alchemy import dbsession
def _un_unicode(str):
# create interface records
self.logger.info("Import: creating interface records")
+# xxx authority+ turning off the creation of authority+*
+# in fact his is required - used in SfaApi._getCredentialRaw
+# that tries to locate 'authority+sa'
self.create_interface_records()
# add local root authority's cert to trusted list
self.AuthHierarchy.create_top_level_auth(hrn)
# create the db record if it doesnt already exist
auth_info = self.AuthHierarchy.get_auth_info(hrn)
- auth_record = RegRecord("authority", hrn=hrn, gid=auth_info.get_gid_object(),
- authority=get_authority(hrn))
- self.logger.info("Import: importing auth %s " % auth_record)
+ auth_record = RegAuthority()
+ auth_record.type='authority'
+ auth_record.hrn=hrn
+ auth_record.gid=auth_info.get_gid_object()
+ auth_record.authority=get_authority(hrn)
+ auth_record.just_created()
dbsession.add (auth_record)
dbsession.commit()
+ self.logger.info("Import: imported authority (parent) %s " % auth_record)
def create_sm_client_record(self):
"""
self.AuthHierarchy.create_auth(urn)
auth_info = self.AuthHierarchy.get_auth_info(hrn)
- user_record = RegRecord("user", hrn=hrn, gid=auth_info.get_gid_object(), \
- authority=get_authority(hrn))
- self.logger.info("Import: importing user %s " % user_record)
+ user_record = RegUser()
+ user_record.type='user'
+ user_record.hrn=hrn
+ user_record.gid=auth_info.get_gid_object()
+ user_record.authority=get_authority(hrn)
+ user_record.just_created()
dbsession.add (user_record)
dbsession.commit()
+ self.logger.info("Import: importing user (slicemanager) %s " % user_record)
def create_interface_records(self):
"""
Create a record for each SFA interface
"""
# just create certs for all sfa interfaces even if they
- # arent enabled
+ # aren't enabled
hrn = self.config.SFA_INTERFACE_HRN
- interfaces = ['authority+sa', 'authority+am', 'authority+sm']
auth_info = self.AuthHierarchy.get_auth_info(hrn)
pkey = auth_info.get_pkey_object()
- for interface in interfaces:
- urn = hrn_to_urn(hrn, interface)
+ for type in [ 'authority+sa', 'authority+am', 'authority+sm', ]:
+ urn = hrn_to_urn(hrn, type)
gid = self.AuthHierarchy.create_gid(urn, create_uuid(), pkey)
- interface_record = RegRecord(interface, hrn=hrn, gid = gid,
- authority=get_authority(hrn))
- self.logger.info("Import: importing %s " % interface_record)
+ # xxx this should probably use a RegAuthority, or a to-be-defined RegPeer object
+ # but for now we have to preserve the authority+<> stuff
+ interface_record = RegAuthority()
+ interface_record.type=type
+ interface_record.hrn=hrn
+ interface_record.gid= gid
+ interface_record.authority=get_authority(hrn)
+ interface_record.just_created()
dbsession.add (interface_record)
dbsession.commit()
+ self.logger.info("Import: imported authority (%s) %s " % (type,interface_record))
def delete_record(self, hrn, type):
# delete the record
for rec in dbsession.query(RegRecord).filter_by(type=type,hrn=hrn):
- del rec
+ dbsession.delete(rec)
dbsession.commit()