aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'rumba/model.py')
-rw-r--r--rumba/model.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/rumba/model.py b/rumba/model.py
index 2749ae7..42112be 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -874,6 +874,10 @@ class Experiment(object):
def prototype_name(self):
raise Exception('prototype_name() method not implemented')
+ @abc.abstractmethod
+ def _terminate_prototype(self):
+ raise Exception('terminate_prototype() method not implemented')
+
def swap_in(self):
# Realize the experiment testbed (testbed-specific)
start = time.time()
@@ -884,6 +888,8 @@ class Experiment(object):
def swap_out(self):
start = time.time()
+ # Terminate prototype gracefully
+ self._terminate_prototype()
for node in self.nodes:
if node.ssh_config.client is not None:
node.ssh_config.client.close()