From 3e3426f2cc0e44f4048d058b227fab2c9db3e5b9 Mon Sep 17 00:00:00 2001
From: panghao1 <shamrock.pang@huawei.com>
Date: Tue, 30 Jun 2015 04:10:11 +0000
Subject: Fix yardstick.out overwritten bug

The output of scenarios will be appended to the yardstick.out file.

JIRA: YARDSTICK-45

Change-Id: I185c6d2a8a534c8bb2b731bb84c47bdf4bad4427
Signed-off-by: panghao1 <shamrock.pang@huawei.com>
---
 yardstick/benchmark/runners/base.py | 2 +-
 yardstick/cmd/commands/task.py      | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/yardstick/benchmark/runners/base.py b/yardstick/benchmark/runners/base.py
index badc33565..30fa07639 100644
--- a/yardstick/benchmark/runners/base.py
+++ b/yardstick/benchmark/runners/base.py
@@ -25,7 +25,7 @@ def _output_serializer_main(filename, queue):
     Use of this process enables multiple instances of a scenario without
     messing up the output file.
     '''
-    with open(filename, 'w') as outfile:
+    with open(filename, 'a+') as outfile:
         while True:
             # blocks until data becomes available
             record = queue.get()
diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py
index d562256ba..8b9f269c5 100644
--- a/yardstick/cmd/commands/task.py
+++ b/yardstick/cmd/commands/task.py
@@ -10,6 +10,7 @@
 """ Handler for yardstick command 'task' """
 
 import sys
+import os
 import yaml
 import atexit
 import pkg_resources
@@ -47,6 +48,9 @@ class TaskCommands(object):
         if args.parse_only:
             sys.exit(0)
 
+        if os.path.isfile(args.output_file):
+            os.remove(args.output_file)
+
         for context in Context.list:
             context.deploy()
 
-- 
cgit