dockerize testAPI 49/16349/5
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 5 Jul 2016 02:04:04 +0000 (10:04 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 5 Jul 2016 09:49:48 +0000 (17:49 +0800)
running testAPI in a docker container

JIRA: FUNCTEST-352

Change-Id: I93d7bae847da4c6527d9907611108b79cb0cc31b
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
utils/test/result_collection_api/docker/Dockerfile [new file with mode: 0644]
utils/test/result_collection_api/docker/prepare-env.sh [new file with mode: 0755]
utils/test/result_collection_api/docker/start-server.sh [new file with mode: 0755]

diff --git a/utils/test/result_collection_api/docker/Dockerfile b/utils/test/result_collection_api/docker/Dockerfile
new file mode 100644 (file)
index 0000000..ffee4c2
--- /dev/null
@@ -0,0 +1,52 @@
+#######################################################
+#   Docker container for OPNFV-TESTAPI
+#######################################################
+# Purpose: run opnfv-testapi for gathering test results
+#
+# Maintained by SerenaFeng
+# Build:
+#    $ docker build -t opnfv/testapi:tag .
+#
+# Execution:
+#    $ docker run -dti -p 8000:8000 \
+#      -e "swagger_url=http://10.63.243.17:8000" \
+#      -e "mongodb_url=mongodb://10.63.243.17:27017/" \
+#      -e "api_port=8000"
+#      opnfv/testapi:tag
+#
+# NOTE: providing swagger_url, api_port, mongodb_url is optional.
+#       If not provided, it will use the default one
+#       configured in config.ini
+#
+# 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
+#
+
+FROM ubuntu:14.04
+MAINTAINER SerenaFeng <feng.xiaowei@zte.com.cn>
+LABEL version="v1" description="OPNFV TestAPI Docker container"
+
+ENV HOME /home
+
+# Packaged dependencies
+RUN apt-get update && apt-get install -y \
+curl \
+git \
+gcc \
+wget \
+python-dev \
+python-pip \
+crudini \
+--no-install-recommends
+
+RUN pip install --upgrade pip
+
+RUN git config --global http.sslVerify false
+RUN git clone https://gerrit.opnfv.org/gerrit/releng /home/releng
+
+WORKDIR /home/releng/utils/test/result_collection_api/
+RUN pip install -r requirements.txt
+RUN python setup.py install
+CMD ["bash", "docker/start-server.sh"]
diff --git a/utils/test/result_collection_api/docker/prepare-env.sh b/utils/test/result_collection_api/docker/prepare-env.sh
new file mode 100755 (executable)
index 0000000..99433cc
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+FILE=/etc/opnfv_testapi/config.ini
+
+
+if [ "$mongodb_url" != "" ]; then
+    sudo crudini --set --existing $FILE mongo url $mongodb_url
+fi
+
+if [ "$swagger_url" != "" ]; then
+    sudo crudini --set --existing $FILE swagger base_url $swagger_url
+fi
+
+if [ "$api_port" != "" ];then
+    sudo crudini --set --existing $FILE api port $api_port
+fi
+
diff --git a/utils/test/result_collection_api/docker/start-server.sh b/utils/test/result_collection_api/docker/start-server.sh
new file mode 100755 (executable)
index 0000000..8bf6084
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+bash docker/prepare-env.sh
+opnfv-testapi