summaryrefslogtreecommitdiffstats
path: root/storperf/fio/fio_invoker.py
diff options
context:
space:
mode:
authormbeierl <mark.beierl@dell.com>2017-02-16 10:40:35 -0500
committermbeierl <mark.beierl@dell.com>2017-02-16 13:16:51 -0500
commitac7b5490cb305468b0bd961fc5caad9c51b8b77b (patch)
tree8c4975a2dab26fc551ce0d933395c37375f5a423 /storperf/fio/fio_invoker.py
parentacfadc79623d9ac6ec0a625ba69b356b71606252 (diff)
Prevent notifications after termination
Changes the event notification logic inside the FIO invoker so that it no longer publishes events after termination. Prevents false reports after steady state has been detected. Change-Id: I694f77b6493b88820fe4f4cc7f634e3e62c45a9a JIRA: STORPERF-105 Signed-off-by: mbeierl <mark.beierl@dell.com>
Diffstat (limited to 'storperf/fio/fio_invoker.py')
-rw-r--r--storperf/fio/fio_invoker.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/storperf/fio/fio_invoker.py b/storperf/fio/fio_invoker.py
index a201802..106696d 100644
--- a/storperf/fio/fio_invoker.py
+++ b/storperf/fio/fio_invoker.py
@@ -21,6 +21,7 @@ class FIOInvoker(object):
self.event_callback_ids = set()
self._remote_host = None
self.callback_id = None
+ self.terminated = False
@property
def remote_host(self):
@@ -51,17 +52,19 @@ class FIOInvoker(object):
json_metric = json.loads(self.json_body)
self.json_body = ""
- for event_listener in self.event_listeners:
- try:
+ if not self.terminated:
+ for event_listener in self.event_listeners:
+ try:
+ self.logger.debug(
+ "Event listener callback")
+ event_listener(
+ self.callback_id, json_metric)
+ except Exception, e:
+ self.logger.exception(
+ "Notifying listener %s: %s",
+ self.callback_id, e)
self.logger.debug(
- "Event listener callback")
- event_listener(self.callback_id, json_metric)
- except Exception, e:
- self.logger.exception(
- "Notifying listener %s: %s",
- self.callback_id, e)
- self.logger.debug(
- "Event listener callback complete")
+ "Event listener callback complete")
except Exception, e:
self.logger.error("Error parsing JSON: %s", e)
except IOError:
@@ -128,6 +131,7 @@ class FIOInvoker(object):
def terminate(self):
self.logger.debug("Terminating fio on " + self.remote_host)
+ self.terminated = True
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())