summaryrefslogtreecommitdiffstats
path: root/utils/test/testapi
diff options
context:
space:
mode:
Diffstat (limited to 'utils/test/testapi')
-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