refactor one click deployment in testapi 17/42617/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Thu, 21 Sep 2017 05:41:59 +0000 (13:41 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Thu, 21 Sep 2017 05:41:59 +0000 (13:41 +0800)
substitue docker-compose.template with string description,
so that user can wget deploy.py and execute directly.

Change-Id: I9703a1c8dfbdc46470561d54c6663e3728540162
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/testapi/deployment/deploy.py [deleted file]
utils/test/testapi/deployment/docker-compose.yml.template [deleted file]
utils/test/testapi/opts/deploy.py [new file with mode: 0644]

diff --git a/utils/test/testapi/deployment/deploy.py b/utils/test/testapi/deployment/deploy.py
deleted file mode 100644 (file)
index 6433fa6..0000000
+++ /dev/null
@@ -1,40 +0,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())
diff --git a/utils/test/testapi/deployment/docker-compose.yml.template b/utils/test/testapi/deployment/docker-compose.yml.template
deleted file mode 100644 (file)
index cd68404..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-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/
-      - base_url={{ vars.base_url }}
-    ports:
-      - "{{ vars.expose_port }}:8000"
-    links:
-      - mongo
diff --git a/utils/test/testapi/opts/deploy.py b/utils/test/testapi/opts/deploy.py
new file mode 100644 (file)
index 0000000..f58690c
--- /dev/null
@@ -0,0 +1,55 @@
+import argparse
+import os
+
+from jinja2 import Environment
+
+DOCKER_COMPOSE_FILE = './docker-compose.yml'
+DOCKER_COMPOSE_TEMPLATE = """
+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/
+      - base_url={{ vars.testapi_base_url }}
+    ports:
+      - "{{ vars.testapi_port }}:8000"
+    links:
+      - mongo
+"""
+
+
+def render_docker_compose(testapi_port, testapi_base_url):
+    vars = {
+        "testapi_port": testapi_port,
+        "testapi_base_url": testapi_base_url,
+    }
+
+    yml = Environment().from_string(DOCKER_COMPOSE_TEMPLATE).render(vars=vars)
+
+    with open(DOCKER_COMPOSE_FILE, 'w') as f:
+        f.write(yml)
+        f.close()
+
+
+def main(args):
+    render_docker_compose(args.testapi_port, args.testapi_base_url)
+    os.system('docker-compose -f {} up -d'.format(DOCKER_COMPOSE_FILE))
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description='Backup MongoDBs')
+    parser.add_argument('-tp', '--testapi-port',
+                        type=int,
+                        required=False,
+                        default=8000,
+                        help='testapi exposed port')
+    parser.add_argument('-tl', '--testapi-base-url',
+                        type=str,
+                        required=True,
+                        help='testapi exposed base-url')
+    main(parser.parse_args())