summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2017-09-20 16:33:55 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2017-09-20 17:04:46 +0800
commitc4a49c82cd4fd3c21b3384960bf3b351f14d6cf4 (patch)
tree3611b6391796652d4076361ff2ed197b794a13a9
parent0563f7b6434223a10c927c3a507a122cbc3f16e8 (diff)
add one click deployment of testapi and reporting
leverage docker compose to deploy testresults set testapi/reporting/mongo usage: python one_click_deploy.sh -tp 8082 -rp 8084 -tl http://host_ip:8082 Change-Id: I8dfb868637749b82ec86e58220376b03ad50664d Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r--opts/one_click_deploy.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/opts/one_click_deploy.py b/opts/one_click_deploy.py
new file mode 100644
index 0000000..0748270
--- /dev/null
+++ b/opts/one_click_deploy.py
@@ -0,0 +1,67 @@
+import argparse
+import os
+
+from jinja2 import Environment
+
+DOCKER_COMPOSE_FILE = './docker-compose.yml'
+DOCKER_COMPOSE_TEMPLATE = """
+version: '2'
+services:
+ mongo:
+ image: mongo:3.2.1
+ container_name: opnfv-mongo
+ testapi:
+ image: opnfv/testapi:latest
+ container_name: opnfv-testapi
+ environment:
+ - mongodb_url=mongodb://mongo:27017/
+ - base_url={{ vars.base_url }}
+ ports:
+ - "{{ vars.testapi_port }}:8000"
+ links:
+ - mongo
+ reporting:
+ image: opnfv/reporting:latest
+ container_name: opnfv-reporting
+ ports:
+ - "{{ vars.reporting_port }}:8000"
+"""
+
+
+def render_docker_compose(testapi_port, reporting_port, testapi_base_url):
+ vars = {
+ "testapi_port": testapi_port,
+ "reporting_port": reporting_port,
+ "base_url": testapi_base_url,
+ }
+ yml = Environment().from_string(DOCKER_COMPOSE_TEMPLATE).render(vars=vars)
+ with open(DOCKER_COMPOSE_FILE, 'w') as f:
+ f.write(yml)
+ f.close()
+
+
+def main(args):
+ render_docker_compose(args.testapi_port,
+ args.reporting_port,
+ args.testapi_base_url)
+ os.system('docker-compose -f {} up -d'.format(DOCKER_COMPOSE_FILE))
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='Backup MongoDBs')
+ parser.add_argument('-tp', '--testapi-port',
+ type=int,
+ required=False,
+ default=8082,
+ help='testapi exposed port')
+ parser.add_argument('-tl', '--testapi-base-url',
+ type=str,
+ required=True,
+ help='testapi exposed base-url')
+ parser.add_argument('-rp', '--reporting-port',
+ type=int,
+ required=False,
+ default=8084,
+ help='reporting exposed port')
+
+ main(parser.parse_args())