aboutsummaryrefslogtreecommitdiffstats
path: root/deployment/deploy.py
blob: b3e0f3ee951c5a55c9f462d368c4d6ad1b4b0a79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
##############################################################################
# Copyright (c) 2019 opnfv.
#
# 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 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, base_url):
    vars = {
        "expose_port": port,
        "base_url": base_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.base_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('-l', '--base-url',
                        type=str,
                        required=True,
                        help='testapi exposed base-url')
    main(parser.parse_args())