summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-12-13 19:39:29 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2016-12-14 09:43:47 +0800
commit26755d2c1659687ea69e62992d8d3e682f76fa9c (patch)
tree840cbade3cf3dbc5d0702602fde5efa57203d9c8
parent22bd87de7946b7c2de07c2235a57d1088d7ca7ba (diff)
automatic deploy a wholeset of TestAPI ecosystem
deploy.py is used to deploy a wholeset of TestAPI ecosystem, including TestAPI container & mongo container. docker-compose.yml.template will be used in deploy.py to render out docker-compose.yml JIRA: FUNCTEST-655 Change-Id: I9b070783ef23aeadbe5e9be1e655072e18954ff9 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r--utils/test/testapi/deployment/deploy.py40
-rw-r--r--utils/test/testapi/deployment/docker-compose.yml.template15
2 files changed, 55 insertions, 0 deletions
diff --git a/utils/test/testapi/deployment/deploy.py b/utils/test/testapi/deployment/deploy.py
new file mode 100644
index 000000000..748bd34f8
--- /dev/null
+++ b/utils/test/testapi/deployment/deploy.py
@@ -0,0 +1,40 @@
+import argparse
+import os
+
+from jinja2 import Environment, FileSystemLoader
+
+env = Environment(loader=FileSystemLoader('./'))
+docker_compose_yml = './docker-compose.yml'
+docker_compose_template = './docker-compose.yml.template'
+
+
+def render_docker_compose(port, swagger_url):
+ vars = {
+ "expose_port": port,
+ "swagger_url": swagger_url,
+ }
+ template = env.get_template(docker_compose_template)
+ yml = template.render(vars=vars)
+
+ with open(docker_compose_yml, 'w') as f:
+ f.write(yml)
+ f.close()
+
+
+def main(args):
+ render_docker_compose(args.expose_port, args.swagger_url)
+ os.system('docker-compose -f {} up -d'.format(docker_compose_yml))
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='Backup MongoDBs')
+ parser.add_argument('-p', '--expose-port',
+ type=int,
+ required=False,
+ default=8000,
+ help='testapi exposed port')
+ parser.add_argument('-su', '--swagger-url',
+ type=str,
+ required=True,
+ help='testapi exposed swagger-url')
+ main(parser.parse_args())
diff --git a/utils/test/testapi/deployment/docker-compose.yml.template b/utils/test/testapi/deployment/docker-compose.yml.template
new file mode 100644
index 000000000..5b131f747
--- /dev/null
+++ b/utils/test/testapi/deployment/docker-compose.yml.template
@@ -0,0 +1,15 @@
+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/
+ - swagger_url={{ vars.swagger_url }}
+ ports:
+ - "{{ vars.expose_port }}:8000"
+ links:
+ - mongo