X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Faggregate_manager.py;fp=sfa%2Fmanagers%2Faggregate_manager.py;h=2ad3f9cc92138cfdabcb77365e7921592d954804;hb=aa9b791a0d1a1537fbeaada81e35f34283a436c0;hp=97b748ef89fd543bc4a5ff521ebbceeb367ddb67;hpb=1c94ff90d9e0063ce7fb3d68aad9e0ae1f4d1b8e;p=sfa.git diff --git a/sfa/managers/aggregate_manager.py b/sfa/managers/aggregate_manager.py index 97b748ef..2ad3f9cc 100644 --- a/sfa/managers/aggregate_manager.py +++ b/sfa/managers/aggregate_manager.py @@ -1,6 +1,8 @@ import socket +import datetime from sfa.util.version import version_core -from sfa.util.xrn import Xrn +from sfa.util.xrn import Xrni +from sfa.util.sfatime import utcpase, adjust_datetime from sfa.util.callids import Callids from sfa.server.api_versions import ApiVersions @@ -87,6 +89,14 @@ class AggregateManager: xrn = Xrn(xrn, 'slice') slice_urn=xrn.get_urn() slice_hrn=xrn.get_hrn() + + if options.get('geni_extend_alap'): + now = datetime.datetime.now() + requested = utcparse(expiration_time) + max = adjust_datetime(now, days=30) + if requested > max: + expiration_time = max + return self.driver.renew_sliver (slice_urn, slice_hrn, creds, expiration_time, options) ### these methods could use an options extension for at least call_id