Propagated changes from database handling (sfa.storage).
authorSandrine Avakian <sandrine.avakian@inria.fr>
Thu, 22 Dec 2011 15:34:42 +0000 (16:34 +0100)
committerSandrine Avakian <sandrine.avakian@inria.fr>
Thu, 22 Dec 2011 15:34:42 +0000 (16:34 +0100)
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
sfa/managers/aggregate_manager_slab.py
sfa/managers/registry_manager_slab.py
sfa/senslab/slab-import.py
sfa/senslab/slabaggregate.py
sfa/senslab/slabdriver.py
sfa/senslab/slabpostgres.py

index 046fe9d..eb99708 100644 (file)
@@ -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):
     
index c9ebc06..7a483d3 100644 (file)
@@ -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
index c35175e..2e85f0d 100644 (file)
@@ -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
 
index 8ff065e..62690aa 100644 (file)
@@ -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)
index 9a3b16c..2266377 100644 (file)
@@ -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
index 5f3dc8f..f03c9f2 100644 (file)
@@ -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
index ac9f994..aaaf5ca 100644 (file)
@@ -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