diff --git a/analysis/atuned/collector.py b/analysis/atuned/collector.py index 4749284f848d91e6e5b82bfa9398338f7c20bb62..9a264dd0699ea64e18cb866681c66ee3b2610546 100755 --- a/analysis/atuned/collector.py +++ b/analysis/atuned/collector.py @@ -39,6 +39,15 @@ class Collector(Resource): args = COLLECTOR_POST_PARSER.parse_args() current_app.logger.info(args) n_pipe = get_npipe(args.get("pipe")) + + path = args.get("file") + path = os.path.abspath(path) + if not path.startswith("/var/atune_data/collection/"): + return "Files outside the /var/atune_data/collection/ directory cannot be modified.", 400 + + if os.path.exists(path): + return "File already exists!", 400 + monitors = [] mpis = [] field_name = [] @@ -91,7 +100,6 @@ class Collector(Resource): if n_pipe is not None: n_pipe.close() - path = args.get("file") save_file(path, data, field_name) result = {} result["path"] = path diff --git a/analysis/engine/train.py b/analysis/engine/train.py index 760866049306ba2b4fc9aa4559cce46216383594..462b16c55293ee112ba7436880a843e2ccf3267f 100644 --- a/analysis/engine/train.py +++ b/analysis/engine/train.py @@ -49,8 +49,10 @@ class Training(Resource): return "Illegal model name provide: {}".format(err), 400 characterization = WorkloadCharacterization(model_path) + output_path = TRAINING_MODEL_PATH + model_name + if os.path.exists(output_path): + return "File already exists!", 400 try: - output_path = TRAINING_MODEL_PATH + model_name characterization.retrain(data_path, output_path) except Exception as err: LOGGER.error(err)