Creation of records table instaed of sfa table handled by sfa.sql.
Corrected slab-import to create the top level certificate.
import sfa.senslab.slabdriver
import sfa.managers.registry_manager_slab
import sfa.managers.slice_manager
-import sfa.managers.aggregate_manager_slab
+#import sfa.managers.aggregate_manager_slab
import sfa.managers.aggregate_manager
class slab (Generic):
from sfa.senslab.slabaggregate import SlabAggregate
import sfa.plc.peers as peers
-from sfa.senslab.slices import SlabSlices
+from sfa.senslab.slabslices import SlabSlices
class AggregateManager:
def __init__ (self, config): pass
from sfa.util.faults import RecordNotFound, AccountNotEnabled, PermissionError, MissingAuthority, \
UnknownSfaType, ExistingRecord
from sfa.util.prefixTree import prefixTree
-from sfa.util.record import SfaRecord
-from sfa.util.table import SfaTable
+from sfa.storage.record import SfaRecord
+from sfa.storage.table import SfaTable
from sfa.util.xrn import Xrn, get_leaf, get_authority, hrn_to_urn, urn_to_hrn
from sfa.util.version import version_core
from sfa.util.config import Config
from sfa.util.plxrn import PlXrn
from sfa.util.xrn import hrn_to_urn, get_authority,Xrn,get_leaf
-from sfa.util.table import SfaTable
-from sfa.util.record import SfaRecord
+from sfa.storage.table import SfaTable
+from sfa.storage.record import SfaRecord
from sfa.trust.hierarchy import Hierarchy
from sfa.trust.certificate import Keypair,convert_public_key
from sfa.trust.gid import create_uuid
AuthHierarchy = Hierarchy()
table = SfaTable()
db = SlabDB()
-if not table.exists():
- table.create()
+
def create_sm_client_record():
parent_hrn = hrn
if not parent_hrn == hrn:
create_top_level_auth_records(parent_hrn)
-
+
+ # enxure key and cert exists:
+ AuthHierarchy.create_top_level_auth(hrn)
+
# create the authority if it doesnt already exist
- if not AuthHierarchy.auth_exists(urn):
- AuthHierarchy.create_auth(urn)
+ #if not AuthHierarchy.auth_exists(urn):
+ #AuthHierarchy.create_auth(urn)
# create the db record if it doesnt already exist
auth_info = AuthHierarchy.get_auth_info(hrn)
#from sfa.rspecs.elements.interface import Interface
#from sfa.rspecs.elements.services import Services
#from sfa.rspecs.elements.pltag import PLTag
-from sfa.util.topology import Topology
+
from sfa.rspecs.version_manager import VersionManager
#from sfa.plc.vlink import get_tc_rate
from sfa.util.sfatime import epochparse
from sfa.util.faults import MissingSfaInfo
from sfa.util.sfalogging import logger
-from sfa.util.table import SfaTable
+from sfa.storage.table import SfaTable
from sfa.util.defaultdict import defaultdict
from sfa.managers.driver import Driver
# UNICODEARRAY not exported yet
psycopg2.extensions.register_type(psycopg2._psycopg.UNICODEARRAY)
from sfa.util.config import Config
-from sfa.util.table import SfaTable
+from sfa.storage.table import SfaTable
from sfa.util.sfalogging import logger
# allow to run sfa2wsdl if this is missing (for mac)
import sys
#Dict holding the columns names of the table as keys
#and their type, used for creation of the table
-slice_table = {'record_id_user':'integer PRIMARY KEY references sfa ON DELETE CASCADE ON UPDATE CASCADE','oar_job_id':'integer DEFAULT -1', 'record_id_slice':'integer', 'slice_hrn':'text NOT NULL'}
+slice_table = {'record_id_user':'integer PRIMARY KEY references X ON DELETE CASCADE ON UPDATE CASCADE','oar_job_id':'integer DEFAULT -1', 'record_id_slice':'integer', 'slice_hrn':'text NOT NULL'}
#Dict with all the specific senslab tables
tablenames_dict = {'slice': slice_table}
def __init__(self):
self.config = Config()
self.connection = None
-
+ self.init_create_query()
+
+ def init_create_query(self):
+ sfatable = SfaTable()
+ slice_table['record_id_user'] = slice_table['record_id_user'].replace("X",sfatable.tablename)
+ print sys.stderr, " \r\n \r\n slice_table %s ",slice_table
+
def cursor(self):
if self.connection is None:
# (Re)initialize database connection