Skip to content

Commit

Permalink
Merge pull request sonata-nfv#71 from mpeuster/dev
Browse files Browse the repository at this point in the history
Added result overwriting functionality.
  • Loading branch information
Manuel Peuster committed Feb 20, 2019
2 parents 8c9913b + edfe8c5 commit 7471755
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
3 changes: 2 additions & 1 deletion pipeline_local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ set -e

# check style early
flake8 --exclude .eggs --exclude venv --exclude build

# local test
pytest -v
# build container
pipeline/build/build.sh
# run tests
Expand Down
27 changes: 27 additions & 0 deletions src/tngsdk/benchmark/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import logging
import coloredlogs
import time
import shutil
from tngsdk.benchmark.experiment import ServiceExperiment, FunctionExperiment
from tngsdk.benchmark.generator.sonata \
import SonataServiceConfigurationGenerator
Expand Down Expand Up @@ -106,6 +107,7 @@ def run(self):
Run son-profile
:return:
"""
self.check_rd_existence()
self.populate_experiments()
# trigger experiment execution
self.cgen = self.load_generator()
Expand All @@ -115,6 +117,22 @@ def run(self):
self.execute_experiments()
self.process_results()

def check_rd_existence(self):
if os.path.exists(self.args.result_dir):
self.logger.info("Found old results: {}"
.format(self.args.result_dir))
# ask for overwrite (if not -y/--force-yes)
if not self.args.force_yes:
# ask user
ui = input("Do you want to overwrite '{}'? (y/n/default: y)"
.format(self.args.result_dir))
if "n" in ui or "N" in ui:
return
# delte old results
self.logger.info("Overwriting old results: {}"
.format(self.args.result_dir))
shutil.rmtree(self.args.result_dir)

def populate_experiments(self):
if self.args.no_population:
print("Skipping population: --no-population")
Expand Down Expand Up @@ -424,6 +442,15 @@ def parse_args(manual_args=None,
default=None,
dest="ibbd_dir")

parser.add_argument(
"-y",
"--force-yes",
help="Answer all user questions that might appear with: yes.",
required=False,
default=False,
dest="force_yes",
action="store_true")

if manual_args is not None:
return parser.parse_args(manual_args)
return parser.parse_args()
Expand Down

0 comments on commit 7471755

Please sign in to comment.