group db-related stuff in sfa/storage
Thierry Parmentelat [Tue, 29 Nov 2011 11:01:06 +0000 (12:01 +0100)]
47 files changed:
setup.py
sfa/client/sfadump.py
sfa/client/sfi.py
sfa/importer/sfa-import-plc.py
sfa/importer/sfa-nuke-plc.py
sfa/importer/sfaImport.py
sfa/managers/registry_manager.py
sfa/methods/CreateGid.py
sfa/methods/CreateSliver.py
sfa/methods/DeleteSliver.py
sfa/methods/GetCredential.py
sfa/methods/GetGids.py
sfa/methods/GetSelfCredential.py
sfa/methods/GetTicket.py
sfa/methods/GetVersion.py
sfa/methods/List.py
sfa/methods/ListResources.py
sfa/methods/ListSlices.py
sfa/methods/RedeemTicket.py
sfa/methods/Register.py
sfa/methods/Remove.py
sfa/methods/RenewSliver.py
sfa/methods/Resolve.py
sfa/methods/ResolveGENI.py
sfa/methods/Shutdown.py
sfa/methods/SliverStatus.py
sfa/methods/Start.py
sfa/methods/Stop.py
sfa/methods/Update.py
sfa/methods/UpdateSliver.py
sfa/methods/get_key_from_incoming_ip.py
sfa/methods/get_trusted_certs.py
sfa/methods/reset_slice.py
sfa/plc/pldriver.py
sfa/server/sfa-ca.py
sfa/server/sfa-clean-peer-records.py
sfa/server/sfa-start.py
sfa/server/sfaapi.py
sfa/storage/PostgreSQL.py [moved from sfa/util/PostgreSQL.py with 100% similarity]
sfa/storage/filter.py [moved from sfa/util/filter.py with 98% similarity]
sfa/storage/parameter.py [moved from sfa/util/parameter.py with 100% similarity]
sfa/storage/record.py [moved from sfa/util/record.py with 99% similarity]
sfa/storage/row.py [moved from sfa/util/row.py with 100% similarity]
sfa/storage/table.py [moved from sfa/util/table.py with 96% similarity]
sfa/util/method.py
tests/testRecord.py
wsdl/sfa2wsdl.py

index 0222695..c0a8b9e 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -37,6 +37,7 @@ bins = [
 package_dirs = [
     'sfa', 
     'sfa/trust',
+    'sfa/storage',
     'sfa/util', 
     'sfa/client',
     'sfa/server',
index 52a9105..c45f771 100755 (executable)
@@ -8,11 +8,13 @@ import xmlrpclib
 from types import StringTypes, ListType
 from optparse import OptionParser
 
+from sfa.util.sfalogging import logger
+
 from sfa.trust.certificate import Certificate
 from sfa.trust.credential import Credential
 from sfa.trust.gid import GID
-from sfa.util.record import SfaRecord
-from sfa.util.sfalogging import logger
+
+from sfa.storage.record import SfaRecord
 
 def determine_sfa_filekind(fn):
 
index 6299ce2..421ff10 100755 (executable)
@@ -25,14 +25,15 @@ from sfa.util.xrn import get_leaf, get_authority, hrn_to_urn
 from sfa.util.config import Config
 from sfa.util.version import version_core
 from sfa.util.cache import Cache
-from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord
+
+from sfa.storage.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord
 
 from sfa.rspecs.rspec import RSpec
 from sfa.rspecs.rspec_converter import RSpecConverter
 from sfa.rspecs.version_manager import VersionManager
-from sfa.client.return_value import ReturnValue
 
 import sfa.client.xmlrpcprotocol as xmlrpcprotocol
+from sfa.client.return_value import ReturnValue
 from sfa.client.client_helper import pg_users_arg, sfa_users_arg
 
 AGGREGATE_PORT=12346
index dad723b..4594534 100755 (executable)
@@ -18,12 +18,13 @@ import os
 import getopt
 import sys
 
-from sfa.util.table import SfaTable
 from sfa.util.xrn import get_leaf, get_authority
 from sfa.util.plxrn import hostname_to_hrn, slicename_to_hrn, email_to_hrn, hrn_to_pl_slicename
 from sfa.util.config import Config
 from sfa.util.xrn import Xrn
 
+from sfa.storage.table import SfaTable
+
 from sfa.importer.sfaImport import sfaImport
 
 def process_options():
index be7b0c1..5450a20 100755 (executable)
@@ -11,9 +11,10 @@ import sys
 import os
 from optparse import OptionParser
 
-from sfa.util.table import SfaTable
 from sfa.util.sfalogging import logger
 
+from sfa.storage.table import SfaTable
+
 def main():
    usage="%prog: trash the registry DB (the 'sfa' table in the 'planetlab5' database)"
    parser = OptionParser(usage=usage)
index 082d3ed..3f054ba 100644 (file)
@@ -9,17 +9,18 @@
 ##
 
 from sfa.util.sfalogging import _SfaLogger
-
-from sfa.util.record import SfaRecord
-from sfa.util.table import SfaTable
 from sfa.util.xrn import get_authority, hrn_to_urn
 from sfa.util.plxrn import email_to_hrn
 from sfa.util.config import Config
+
 from sfa.trust.certificate import convert_public_key, Keypair
 from sfa.trust.trustedroots import TrustedRoots
 from sfa.trust.hierarchy import Hierarchy
 from sfa.trust.gid import create_uuid
 
+from sfa.storage.record import SfaRecord
+from sfa.storage.table import SfaTable
+
 
 def _un_unicode(str):
    if isinstance(str, unicode):
index a1b7b1a..93d2ea8 100644 (file)
@@ -8,8 +8,6 @@ import commands
 from sfa.util.faults import RecordNotFound, AccountNotEnabled, PermissionError, MissingAuthority, \
     UnknownSfaType, ExistingRecord, NonExistingRecord
 from sfa.util.prefixTree import prefixTree
-from sfa.util.record import SfaRecord
-from sfa.util.table import SfaTable
 from sfa.util.xrn import Xrn, get_authority, hrn_to_urn, urn_to_hrn
 from sfa.util.plxrn import hrn_to_pl_login_base
 from sfa.util.version import version_core
@@ -20,6 +18,9 @@ from sfa.trust.credential import Credential
 from sfa.trust.certificate import Certificate, Keypair, convert_public_key
 from sfa.trust.gid import create_uuid
 
+from sfa.storage.record import SfaRecord
+from sfa.storage.table import SfaTable
+
 class RegistryManager:
 
     def __init__ (self): pass
index db69acd..eb001a1 100644 (file)
@@ -1,7 +1,8 @@
 
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
+from sfa.storage.parameter import Parameter, Mixed
 from sfa.trust.credential import Credential
 
 class CreateGid(Method):
index 218986e..fb1a292 100644 (file)
@@ -1,9 +1,12 @@
 from sfa.util.faults import SfaInvalidArgument
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
 from sfa.util.sfatablesRuntime import run_sfatables
+
 from sfa.trust.credential import Credential
+
+from sfa.storage.parameter import Parameter, Mixed
+
 from sfa.rspecs.rspec import RSpec
 
 class CreateSliver(Method):
index fe07b6a..6be2bc4 100644 (file)
@@ -1,6 +1,6 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+from sfa.storage.parameter import Parameter, Mixed
 from sfa.trust.auth import Auth
 from sfa.trust.credential import Credential
 
index d966dd3..50525c2 100644 (file)
@@ -1,8 +1,10 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
 class GetCredential(Method):
     """
     Retrive a credential for an object
index 5c1470b..f67f5d4 100644 (file)
@@ -1,8 +1,10 @@
 from sfa.util.faults import RecordNotFound
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
 class GetGids(Method):
     """
     Get a list of record information (hrn, gid and type) for 
index efad180..fd87ca0 100644 (file)
@@ -2,10 +2,12 @@
 from sfa.util.faults import RecordNotFound, ConnectionKeyGIDMismatch
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
-from sfa.util.record import SfaRecord
+
 from sfa.trust.certificate import Certificate
 
+from sfa.storage.parameter import Parameter, Mixed
+from sfa.storage.record import SfaRecord
+
 class GetSelfCredential(Method):
     """
     Retrive a credential for an object
index b1d8f87..2223e37 100644 (file)
@@ -1,10 +1,11 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
 from sfa.util.sfatablesRuntime import run_sfatables
 
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
 class GetTicket(Method):
     """
     Retrieve a ticket. This operation is currently implemented on PLC
index 801b339..9dc586f 100644 (file)
@@ -1,5 +1,6 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter
+
+from sfa.storage.parameter import Parameter
 
 
 class GetVersion(Method):
index 55dd7dd..bbd3e47 100644 (file)
@@ -1,10 +1,12 @@
 
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
-from sfa.util.record import SfaRecord
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+from sfa.storage.record import SfaRecord
+
 class List(Method):
     """
     List the records in an authority. 
index 6b1e785..65fd819 100644 (file)
@@ -2,10 +2,12 @@ import zlib
 
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
-from sfa.trust.credential import Credential
 from sfa.util.sfatablesRuntime import run_sfatables
 
+from sfa.trust.credential import Credential
+
+from sfa.storage.parameter import Parameter, Mixed
+
 class ListResources(Method):
     """
     Returns information about available resources or resources allocated to this slice
index eed408f..e14c9b6 100644 (file)
@@ -1,7 +1,9 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
  
+from sfa.storage.parameter import Parameter, Mixed
+
 class ListSlices(Method):
     """
     List the slices instantiated at this interface       
index c6a75e2..522ff12 100644 (file)
@@ -1,5 +1,6 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
+from sfa.storage.parameter import Parameter, Mixed
 
 class RedeemTicket(Method):
     """
index 2d9cbfd..87f9a0f 100644 (file)
@@ -1,7 +1,9 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
 class Register(Method):
     """
     Register an object with the registry. In addition to being stored in the
index 1804fd9..ee650f1 100644 (file)
@@ -1,8 +1,10 @@
 from sfa.util.xrn import Xrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
 class Remove(Method):
     """
     Remove an object from the registry. If the object represents a PLC object,
index 48d6493..a380d99 100644 (file)
@@ -3,10 +3,12 @@ import datetime
 from sfa.util.faults import InsufficientRights
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter
-from sfa.trust.credential import Credential
 from sfa.util.sfatime import utcparse
 
+from sfa.trust.credential import Credential
+
+from sfa.storage.parameter import Parameter
+
 class RenewSliver(Method):
     """
     Renews the resources in a sliver, extending the lifetime of the slice.    
index 094500f..9a6dd47 100644 (file)
@@ -2,9 +2,11 @@ import types
 
 from sfa.util.xrn import Xrn, urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
-from sfa.util.record import SfaRecord
+
+from sfa.storage.parameter import Parameter, Mixed
+from sfa.storage.record import SfaRecord
 
 class Resolve(Method):
     """
index 7c9cc14..e32bf6d 100644 (file)
@@ -1,5 +1,6 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter
+
+from sfa.storage.parameter import Parameter
 
 class ResolveGENI(Method):
     """
index 9788608..273b991 100644 (file)
@@ -1,4 +1,5 @@
-from sfa.util.parameter import Parameter
+from sfa.storage.parameter import Parameter
+
 from sfa.methods.Stop import Stop
 
 class Shutdown(Stop):
index 2a0ac5d..f722c7c 100644 (file)
@@ -1,6 +1,7 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
+from sfa.storage.parameter import Parameter, Mixed
 
 class SliverStatus(Method):
     """
index 7f8aefd..1412222 100644 (file)
@@ -1,8 +1,10 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
 class Start(Method):
     """
     Start the specified slice      
index 48974ab..0d80282 100644 (file)
@@ -1,8 +1,10 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.credential import Credential
  
+from sfa.storage.parameter import Parameter, Mixed
+
 class Stop(Method):
     """
     Stop the specified slice      
index 7643302..e0b1003 100644 (file)
@@ -1,7 +1,9 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter
+
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter
+
 class Update(Method):
     """
     Update an object in the registry. Currently, this only updates the
index 245b207..3302b56 100644 (file)
@@ -1,4 +1,5 @@
-from sfa.util.parameter import Parameter, Mixed
+from sfa.storage.parameter import Parameter, Mixed
+
 from sfa.methods.CreateSliver import CreateSliver
 
 class UpdateSliver(CreateSliver):
index c7abb75..5887f99 100644 (file)
@@ -1,7 +1,8 @@
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter
 from sfa.util.sfalogging import logger
 
+from sfa.storage.parameter import Parameter
+
 class get_key_from_incoming_ip(Method):
     """
     Generate a new keypair and gid for requesting caller (component/node).     
index 460ab4d..7a4e1c5 100644 (file)
@@ -1,9 +1,9 @@
-#from sfa.util.faults import *
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
 from sfa.trust.auth import Auth
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
 
 class get_trusted_certs(Method):
     """
index 387981d..c3975ff 100644 (file)
@@ -1,6 +1,7 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+
+from sfa.storage.parameter import Parameter, Mixed
 
 class reset_slice(Method):
     """
index a93ebd5..d5d5bf9 100644 (file)
@@ -1,12 +1,13 @@
 #
 from sfa.util.faults import MissingSfaInfo, UnknownSfaType
 from sfa.util.sfalogging import logger
-from sfa.util.table import SfaTable
 from sfa.util.defaultdict import defaultdict
-
 from sfa.util.xrn import hrn_to_urn, get_leaf
 from sfa.util.plxrn import slicename_to_hrn, hostname_to_hrn, hrn_to_pl_slicename, hrn_to_pl_login_base
 
+# one would think the driver should not need to mess with the SFA db, but..
+from sfa.storage.table import SfaTable
+
 # the driver interface, mostly provides default behaviours
 from sfa.managers.driver import Driver
 
@@ -418,8 +419,6 @@ class PlDriver (Driver, PlShell):
         # we obtain
         
         # get the sfa records
-        # xxx thgen fixme - use SfaTable hardwired for now 
-        # table = self.SfaTable()
         table = SfaTable()
         person_list, persons = [], {}
         person_list = table.find({'type': 'user', 'pointer': person_ids})
index 0fbe140..b87e119 100755 (executable)
@@ -23,11 +23,12 @@ import sys
 from optparse import OptionParser
 
 from sfa.util.config import Config
-from sfa.util.table import SfaTable
 
 from sfa.trust.gid import GID, create_uuid
 from sfa.trust.hierarchy import Hierarchy
 
+from sfa.storage.table import SfaTable
+
 def main():
     args = sys.argv
     script_name = args[0]
index 0d99e98..62acb4b 100644 (file)
@@ -5,17 +5,19 @@ import os
 import traceback
 import socket
 
-import sfa.client.xmlrpcprotocol as xmlrpcprotocol 
-from sfa.util.table import SfaTable
 from sfa.util.prefixTree import prefixTree
 from sfa.util.config import Config
 
-from sfa.generic import Generic
-
 from sfa.trust.certificate import Keypair
 from sfa.trust.hierarchy import Hierarchy
 from sfa.server.registry import Registries
 
+from sfa.storage.table import SfaTable
+
+import sfa.client.xmlrpcprotocol as xmlrpcprotocol 
+
+from sfa.generic import Generic
+
 def main():
     config = Config()
     if not config.SFA_REGISTRY_ENABLED:
index dbd5e4f..6c05060 100755 (executable)
@@ -136,8 +136,8 @@ def update_cert_records(gids):
     Removes old records from the db.
     """
     # import SfaTable here so this module can be loaded by PlcComponentApi
-    from sfa.util.table import SfaTable
-    from sfa.util.record import SfaRecord
+    from sfa.storage.table import SfaTable
+    from sfa.storage.record import SfaRecord
     if not gids:
         return
     table = SfaTable()
index 9afe9b4..79a5540 100644 (file)
@@ -2,18 +2,21 @@ import os, os.path
 import datetime
 
 from sfa.util.faults import SfaFault, SfaAPIError
+from sfa.util.genicode import GENICODE
 from sfa.util.config import Config
 from sfa.util.cache import Cache
 from sfa.trust.auth import Auth
+
 from sfa.trust.certificate import Keypair, Certificate
 from sfa.trust.credential import Credential
 from sfa.trust.rights import determine_rights
+
 from sfa.server.xmlrpcapi import XmlrpcApi
-from sfa.util.genicode import GENICODE
+
 from sfa.client.return_value import ReturnValue
 
 # thgen xxx fixme this is wrong all right, but temporary, will use generic
-from sfa.util.table import SfaTable
+from sfa.storage.table import SfaTable
 
 ####################
 class SfaApi (XmlrpcApi): 
similarity index 98%
rename from sfa/util/filter.py
rename to sfa/storage/filter.py
index 8f037ca..afe425d 100644 (file)
@@ -1,16 +1,9 @@
 from types import StringTypes
-try:
-    set
-except NameError:
-    from sets import Set
-    set = Set
-
-try: import pgdb
-except: pass
+import pgdb
  
 from sfa.util.faults import SfaInvalidArgument
-from sfa.util.parameter import Parameter, Mixed, python_type
 
+from sfa.storage.parameter import Parameter, Mixed, python_type
 
 class Filter(Parameter, dict):
     """
similarity index 99%
rename from sfa/util/record.py
rename to sfa/storage/record.py
index 7ebf379..46c6699 100644 (file)
@@ -8,9 +8,9 @@ from types import StringTypes
 
 from sfa.trust.gid import GID
 
-from sfa.util.parameter import Parameter
+from sfa.storage.parameter import Parameter
 from sfa.util.xrn import get_authority
-from sfa.util.row import Row
+from sfa.storage.row import Row
 from sfa.util.xml import XML 
 
 class SfaRecord(Row):
similarity index 100%
rename from sfa/util/row.py
rename to sfa/storage/row.py
similarity index 96%
rename from sfa/util/table.py
rename to sfa/storage/table.py
index 5fdafef..3c69fda 100644 (file)
@@ -6,10 +6,11 @@
 from types import StringTypes
 
 from sfa.util.config import Config
-from sfa.util.parameter import Parameter
-from sfa.util.filter import Filter
-from sfa.util.PostgreSQL import PostgreSQL
-from sfa.util.record import SfaRecord, AuthorityRecord, NodeRecord, SliceRecord, UserRecord
+
+from sfa.storage.parameter import Parameter
+from sfa.storage.filter import Filter
+from sfa.storage.PostgreSQL import PostgreSQL
+from sfa.storage.record import SfaRecord, AuthorityRecord, NodeRecord, SliceRecord, UserRecord
 
 class SfaTable(list):
 
index 97ddb39..4bfeb9b 100644 (file)
@@ -7,10 +7,10 @@ import time
 from types import IntType, LongType, StringTypes
 import textwrap
 
-
 from sfa.util.sfalogging import logger
 from sfa.util.faults import SfaFault, SfaInvalidAPIMethod, SfaInvalidArgumentCount, SfaInvalidArgument
-from sfa.util.parameter import Parameter, Mixed, python_type, xmlrpc_type
+
+from sfa.storage.parameter import Parameter, Mixed, python_type, xmlrpc_type
 
 class Method:
     """
index 0eff8e8..329d84e 100755 (executable)
@@ -2,7 +2,7 @@ import unittest
 import xmlrpclib
 from sfa.trust.gid import *
 from sfa.util.config import *
-from sfa.util.record import *
+from sfa.storage.record import *
 
 class TestRecord(unittest.TestCase):
     def setUp(self):
index de44628..e794e89 100755 (executable)
@@ -16,7 +16,7 @@ import inspect
 from types import *
 from optparse import OptionParser
 
-from sfa.util.parameter import Parameter,Mixed
+from sfa.storage.parameter import Parameter,Mixed
 
 import globals