diff options
author | 2017-09-28 09:28:41 +0000 | |
---|---|---|
committer | 2017-09-28 09:28:41 +0000 | |
commit | 61820ee85c967d90021e4089c6a7907046685639 (patch) | |
tree | 0c3f23e2146f0855fb5be0ff55343d59e3a9c9ab /cvp/update/update_api.py | |
parent | 0cc2fdefa9e6e959e7c69beede736738f339f636 (diff) | |
parent | 0cf6b232ac9cf128ee9183a27c08f4f74ab2e2e6 (diff) |
Merge "add api&web services for cvp"
Diffstat (limited to 'cvp/update/update_api.py')
-rw-r--r-- | cvp/update/update_api.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/cvp/update/update_api.py b/cvp/update/update_api.py new file mode 100644 index 00000000..db8ad2d9 --- /dev/null +++ b/cvp/update/update_api.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corporation +# feng.xiaowei@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +import subprocess + +possible_processes = [ + 'result_collection_api', + 'opnfv-testapi' +] + + +def kill_olds(): + for proc in possible_processes: + query = 'ps -ef | grep {} | grep -v grep'.format(proc) + runnings = execute_with_output(query) + if runnings: + for running in runnings: + kill = 'kill -kill ' + running.split()[1] + execute_with_output(kill) + runnings = execute_with_output(query) + assert len(runnings) == 0, 'kill %s failed'.format(proc) + + +def install_dependencies(): + execute_with_assert('pip install -r ../requirements.txt') + + +def install_new(): + execute_with_assert('cd ../ && python setup.py install') + + +def run_new(): + execute_with_assert('opnfv-testapi &') + + +def execute_with_output(cmd): + return subprocess.Popen(cmd, shell=True, + stdout=subprocess.PIPE).stdout.readlines() + + +def execute_with_assert(cmd): + execute_output = subprocess.call(cmd, shell=True) + assert execute_output == 0 + + +if __name__ == '__main__': + kill_olds() + install_dependencies() + install_new() + run_new() |