From: SerenaFeng Date: Tue, 5 Jul 2016 02:04:04 +0000 (+0800) Subject: dockerize testAPI X-Git-Tag: colorado.1.0~311 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=c4dadaf61cc5593110a23a56117138aa06b722bb;p=releng.git dockerize testAPI running testAPI in a docker container JIRA: FUNCTEST-352 Change-Id: I93d7bae847da4c6527d9907611108b79cb0cc31b Signed-off-by: SerenaFeng --- diff --git a/utils/test/result_collection_api/docker/Dockerfile b/utils/test/result_collection_api/docker/Dockerfile new file mode 100644 index 000000000..ffee4c231 --- /dev/null +++ b/utils/test/result_collection_api/docker/Dockerfile @@ -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 +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 index 000000000..99433cc8c --- /dev/null +++ b/utils/test/result_collection_api/docker/prepare-env.sh @@ -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 index 000000000..8bf6084ae --- /dev/null +++ b/utils/test/result_collection_api/docker/start-server.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +bash docker/prepare-env.sh +opnfv-testapi