diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-12-13 19:39:29 +0800 |
---|---|---|
committer | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-12-14 09:43:47 +0800 |
commit | 26755d2c1659687ea69e62992d8d3e682f76fa9c (patch) | |
tree | 840cbade3cf3dbc5d0702602fde5efa57203d9c8 | |
parent | 22bd87de7946b7c2de07c2235a57d1088d7ca7ba (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.py | 40 | ||||
-rw-r--r-- | utils/test/testapi/deployment/docker-compose.yml.template | 15 |
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 |