X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Fv2_to_v3_adapter.py;h=8b0ce61bc7054e0e7c9f157fe64bb9dcfe6df8ea;hb=63bb6c04ee9f566071c3211a76e22559595d42e6;hp=15a8cd8376975d3af3107504744ff23c63ddcd5f;hpb=f58accad0a467774fa451ef690147d0b93671f44;p=sfa.git diff --git a/sfa/managers/v2_to_v3_adapter.py b/sfa/managers/v2_to_v3_adapter.py index 15a8cd83..8b0ce61b 100644 --- a/sfa/managers/v2_to_v3_adapter.py +++ b/sfa/managers/v2_to_v3_adapter.py @@ -7,27 +7,21 @@ from sfa.util.xrn import Xrn, urn_to_hrn, hrn_to_urn, get_leaf, get_authority 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 == "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: @@ -59,7 +53,7 @@ class V2ToV3Adapter: 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'] @@ -111,7 +105,7 @@ class V2ToV3Adapter: slice_urn = slice_urn, allocation_state='geni_allocated') - record.sync() + record.sync(self.driver.api.dbsession()) # return manifest @@ -127,6 +121,7 @@ class V2ToV3Adapter: 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' @@ -162,9 +157,10 @@ class V2ToV3Adapter: #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":