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())
|