From: Alina Quereilhac Date: Fri, 31 Oct 2014 08:42:43 +0000 (+0100) Subject: Adding state RELEASED in EC to allow two stage termination from the experiment runner X-Git-Tag: nepi-3.2.0~58 X-Git-Url: http://git.onelab.eu/?p=nepi.git;a=commitdiff_plain;h=d8144cd833c3a8e82d9580655787b491e768e4f8 Adding state RELEASED in EC to allow two stage termination from the experiment runner --- diff --git a/src/nepi/execution/ec.py b/src/nepi/execution/ec.py index 2e573dd9..58ece229 100644 --- a/src/nepi/execution/ec.py +++ b/src/nepi/execution/ec.py @@ -90,7 +90,8 @@ class ECState(object): """ RUNNING = 1 FAILED = 2 - TERMINATED = 3 + RELEASED = 3 + TERMINATED = 4 class ExperimentController(object): """ @@ -1033,6 +1034,9 @@ class ExperimentController(object): :type guids: list """ + if self._state == ECState.RELEASED: + return + if isinstance(guids, int): guids = [guids] @@ -1050,7 +1054,10 @@ class ExperimentController(object): for guid in guids: if self.get(guid, "hardRelease"): - self.remove_resource(guid) + self.remove_resource(guid)\ + + # Mark the EC state as RELEASED + self._state = ECState.RELEASED def shutdown(self): """ Releases all resources and stops the ExperimentController diff --git a/src/nepi/execution/runner.py b/src/nepi/execution/runner.py index 2a78be06..21a20cbd 100644 --- a/src/nepi/execution/runner.py +++ b/src/nepi/execution/runner.py @@ -116,6 +116,7 @@ class ExperimentRunner(object): if run >= min_runs and max_runs > -1 and run >= max_runs : stop = True + ec.shutdown() del ec return run