from sfa.util.cache import Cache
from sfa.rspecs.rspec import RSpec
from sfa.storage.model import SliverAllocation
-from sfa.storage.alchemy import dbsession
class V2ToV3Adapter:
- def __init__ (self, config):
+ def __init__ (self, api):
+ config = api.config
flavour = config.SFA_GENERIC_FLAVOUR
# to be cleaned
- if flavour == "pl":
- from sfa.planetlab.pldriver import PlDriver
- self.driver = PlDriver(config)
- elif flavour == "nitos":
+ if flavour == "nitos":
from sfa.nitos.nitosdriver import NitosDriver
- self.driver = NitosDriver(config)
+ self.driver = NitosDriver(api)
elif flavour == "fd":
from sfa.federica.fddriver import FdDriver
- self.driver = FdDriver(config)
- elif flavour == "dummy":
- from sfa.dummy.dummydriver import DummyDriver
- self.driver = DummyDriver(config)
- elif flavour == "slab":
- from sfa.senslab.slabdriver import SlabDriver
- self.driver = SlabDriver(config)
+ self.driver = FdDriver(api)
else:
- logger.info("DriverV2Adapter unknown flavour !!!\n supported flavours: pl, nitos, fd, dummy, slab")
+ logger.error("V2ToV3Adapter: Unknown Flavour !!!\n Supported Flavours: nitos, fd")
# Caching
if config.SFA_AGGREGATE_CACHING:
else:
constraint = SliverAllocation.sliver_id.in_(urns)
- sliver_allocations = dbsession.query (SliverAllocation).filter (constraint)
+ sliver_allocations = self.driver.api.dbsession().query (SliverAllocation).filter (constraint)
sliver_status = getattr(self.driver, "sliver_status")(slice_urn, slice_hrn)
if 'geni_expires' in sliver_status.keys():
geni_expires = sliver_status['geni_expires']
(slice_urn, rspec_string, expiration, options) = args
slice_hrn, type = urn_to_hrn(slice_urn)
creds = []
- users = options.get('geni_users', [])
+ users = options.get('sfa_users', [])
manifest_string = getattr(self.driver, "create_sliver")(slice_urn, slice_hrn, creds, rspec_string, users, options)
# slivers allocation
slice_urn = slice_urn,
allocation_state='geni_allocated')
- record.sync()
+ record.sync(self.driver.api.dbsession())
# return manifest
else:
constraint = SliverAllocation.sliver_id.in_(urns)
+ dbsession = self.driver.api.dbsession()
sliver_allocations = dbsession.query (SliverAllocation).filter(constraint)
for sliver_allocation in sliver_allocations:
sliver_allocation.allocation_state = 'geni_provisioned'
#SliverAllocation
constraints = SliverAllocation.slice_urn.in_(urns)
+ dbsession = self.driver.api.dbsession()
sliver_allocations = dbsession.query(SliverAllocation).filter(constraints)
sliver_ids = [sliver_allocation.sliver_id for sliver_allocation in sliver_allocations]
- SliverAllocation.delete_allocations(sliver_ids)
+ SliverAllocation.delete_allocations(sliver_ids, dbsession)
elif name == "renew":
else:
- # same as v2 (list_resources and registry methods)
+ # same as v2 ( registry methods)
result=getattr(self.driver, name)(*args, **kwds)
return result
return func