Merge branch 'master' into senslab2
authorSandrine Avakian <sandrine.avakian@inria.fr>
Thu, 1 Dec 2011 14:52:32 +0000 (15:52 +0100)
committerSandrine Avakian <sandrine.avakian@inria.fr>
Thu, 1 Dec 2011 14:52:32 +0000 (15:52 +0100)
1  2 
setup.py
sfa/methods/ListResources.py

diff --combined setup.py
+++ b/setup.py
@@@ -37,6 -37,7 +37,7 @@@ bins = 
  package_dirs = [
      'sfa', 
      'sfa/trust',
+     'sfa/storage',
      'sfa/util', 
      'sfa/client',
      'sfa/server',
@@@ -45,7 -46,6 +46,7 @@@
      'sfa/managers',
      'sfa/importer',
      'sfa/plc',
 +    'sfa/senslab',
      'sfa/rspecs',
      'sfa/rspecs/elements',
      'sfa/rspecs/elements/versions',
@@@ -56,6 -56,8 +57,8 @@@
      ]
  
  
+ initscripts = [ 'sfa', 'sfa-cm' ]
  data_files = [('/etc/sfa/', [ 'config/aggregates.xml',
                                'config/registries.xml',
                                'config/default_config.xml',
@@@ -71,7 -73,9 +74,9 @@@
                              ]),
                ('/etc/sfatables/matches/', glob('sfatables/matches/*.xml')),
                ('/etc/sfatables/targets/', glob('sfatables/targets/*.xml')),
-               ('/etc/init.d/', ['sfa/init.d/sfa', 'sfa/init.d/sfa-cm'])]
+               ('/etc/init.d/', [ "init.d/%s"%x for x in initscripts ]),
+               ('/usr/share/sfa/', [ 'sfa/storage/sfa.sql' ] ),
+               ]
  
  # add sfatables processors as data_files
  processor_files = [f for f in glob('sfatables/processors/*') if os.path.isfile(f)]
@@@ -82,15 -86,13 +87,13 @@@ for d in processor_subdirs
      d_files = [f for f in glob(d + '/*') if os.path.isfile(f)]
      data_files.append((etc_dir, processor_files))
  
- initscripts = [ '/etc/init.d/sfa', '/etc/init.d/sfa-cm' ]
  if sys.argv[1] in ['uninstall', 'remove', 'delete', 'clean']:
      python_path = sys.path
      site_packages_path = [ os.path.join(p,'sfa') for p in python_path if p.endswith('site-packages')]
      site_packages_path += [ os.path.join(p,'sfatables') for p in python_path if p.endswith('site-packages')]
      remove_dirs = ['/etc/sfa/', '/etc/sfatables'] + site_packages_path
      remove_bins = [ '/usr/bin/' + os.path.basename(bin) for bin in bins ]
-     remove_files = remove_bins + initscripts
+     remove_files = remove_bins + [ "/etc/init.d/%s"%x for x in initscripts ]
  
      # remove files   
      for filepath in remove_files:
@@@ -1,10 -1,12 +1,12 @@@
  import zlib
 -
 +import sys
  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.util.faults import SfaInvalidArgument
+ from sfa.trust.credential import Credential
+ from sfa.storage.parameter import Parameter, Mixed
  
  class ListResources(Method):
      """
  
      def call(self, creds, options={}):
          self.api.logger.info("interface: %s\tmethod-name: %s" % (self.api.interface, self.name))
-         
+        
+         # client must specify a version
+         if not options.get('geni_rspec_version'):
+             raise SfaInvalidArgument('Must specify an rspec version option. geni_rspec_version cannot be null')
+  
          # get slice's hrn from options    
          xrn = options.get('geni_slice_urn', '')
          (hrn, _) = urn_to_hrn(xrn)
  
          # get hrn of the original caller 
          origin_hrn = options.get('origin_hrn', None)
 +
          if not origin_hrn:
              origin_hrn = Credential(string=valid_creds[0]).get_gid_caller().get_hrn()
 +        print >>sys.stderr, " \r\n \r\n \t Lsitresources.py call :self.api.interface %s  origin_hrn %s options %s \r\n \t creds %s " %(self.api.interface,origin_hrn,options, creds)          
          rspec = self.api.manager.ListResources(self.api, creds, options)
  
          # filter rspec through sfatables 
@@@ -44,8 -48,7 +50,8 @@@
              chain_name = 'OUTGOING'
          elif self.api.interface in ['slicemgr']: 
              chain_name = 'FORWARD-OUTGOING'
 -        self.api.logger.debug("ListResources: sfatables on chain %s"%chain_name)
 +        self.api.logger.debug("ListResources: sfatables on chain %s"%chain_name)  
 +        print >>sys.stderr, " \r\n \r\n \t Listresources.py call : chain_name %s hrn %s origine_hrn %s " %(chain_name, hrn, origin_hrn)
          filtered_rspec = run_sfatables(chain_name, hrn, origin_hrn, rspec) 
   
          if options.has_key('geni_compressed') and options['geni_compressed'] == True: