use context manager for stdin files and use _put_file_shell
[yardstick.git] / yardstick / benchmark / scenarios / availability / monitor / monitor_general.py
index 359cde6..461a2de 100644 (file)
@@ -48,13 +48,15 @@ class GeneralMonitor(basemonitor.BaseMonitor):
 
     def monitor_func(self):
         if "parameter" in self._config:
-            exit_status, stdout, stderr = self.connection.execute(
-                self.cmd_param,
-                stdin=open(self.monitor_script, "r"))
+            with open(self.monitor_script, "r") as stdin_file:
+                exit_status, stdout, stderr = self.connection.execute(
+                    self.cmd_param,
+                    stdin=stdin_file)
         else:
-            exit_status, stdout, stderr = self.connection.execute(
-                "/bin/bash -s ",
-                stdin=open(self.monitor_script, "r"))
+            with open(self.monitor_script, "r") as stdin_file:
+                exit_status, stdout, stderr = self.connection.execute(
+                    "/bin/bash -s ",
+                    stdin=stdin_file)
 
         if exit_status:
             return False