From 857ecb2ae15bd2ffb6cc9563b3d5c17769d91b51 Mon Sep 17 00:00:00 2001 From: Sandrine Avakian Date: Thu, 22 Dec 2011 16:34:42 +0100 Subject: [PATCH] Propagated changes from database handling (sfa.storage). Creation of records table instaed of sfa table handled by sfa.sql. Corrected slab-import to create the top level certificate. --- sfa/generic/slab.py | 2 +- sfa/managers/aggregate_manager_slab.py | 2 +- sfa/managers/registry_manager_slab.py | 4 ++-- sfa/senslab/slab-import.py | 16 +++++++++------- sfa/senslab/slabaggregate.py | 2 +- sfa/senslab/slabdriver.py | 2 +- sfa/senslab/slabpostgres.py | 12 +++++++++--- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/sfa/generic/slab.py b/sfa/generic/slab.py index 046fe9d5..eb997084 100644 --- a/sfa/generic/slab.py +++ b/sfa/generic/slab.py @@ -4,7 +4,7 @@ import sfa.server.sfaapi 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): diff --git a/sfa/managers/aggregate_manager_slab.py b/sfa/managers/aggregate_manager_slab.py index c9ebc06f..7a483d31 100644 --- a/sfa/managers/aggregate_manager_slab.py +++ b/sfa/managers/aggregate_manager_slab.py @@ -19,7 +19,7 @@ from sfa.server.sfaapi import SfaApi 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 diff --git a/sfa/managers/registry_manager_slab.py b/sfa/managers/registry_manager_slab.py index c35175e2..2e85f0d4 100644 --- a/sfa/managers/registry_manager_slab.py +++ b/sfa/managers/registry_manager_slab.py @@ -5,8 +5,8 @@ import sys 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 diff --git a/sfa/senslab/slab-import.py b/sfa/senslab/slab-import.py index 8ff065e5..62690aae 100644 --- a/sfa/senslab/slab-import.py +++ b/sfa/senslab/slab-import.py @@ -9,8 +9,8 @@ from sfa.senslab.slabpostgres import SlabDB 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 @@ -22,8 +22,7 @@ TrustedR = TrustedRoots(Config.get_trustedroots_dir(config)) AuthHierarchy = Hierarchy() table = SfaTable() db = SlabDB() -if not table.exists(): - table.create() + def create_sm_client_record(): @@ -77,10 +76,13 @@ def create_top_level_auth_records(hrn): 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) diff --git a/sfa/senslab/slabaggregate.py b/sfa/senslab/slabaggregate.py index 9a3b16cb..22663773 100644 --- a/sfa/senslab/slabaggregate.py +++ b/sfa/senslab/slabaggregate.py @@ -25,7 +25,7 @@ from sfa.rspecs.elements.node import Node #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 diff --git a/sfa/senslab/slabdriver.py b/sfa/senslab/slabdriver.py index 5f3dc8fd..f03c9f2f 100644 --- a/sfa/senslab/slabdriver.py +++ b/sfa/senslab/slabdriver.py @@ -2,7 +2,7 @@ import sys 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 diff --git a/sfa/senslab/slabpostgres.py b/sfa/senslab/slabpostgres.py index ac9f9943..aaaf5ca8 100644 --- a/sfa/senslab/slabpostgres.py +++ b/sfa/senslab/slabpostgres.py @@ -4,7 +4,7 @@ psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) # 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 @@ -13,7 +13,7 @@ except: print >> sys.stderr, "WARNING, could not import pgdb" #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} @@ -22,7 +22,13 @@ class SlabDB: 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 -- 2.43.0