summaryrefslogtreecommitdiffstats
path: root/testapi/docker
diff options
context:
space:
mode:
Diffstat (limited to 'testapi/docker')
-rw-r--r--testapi/docker/Dockerfile43
-rwxr-xr-xtestapi/docker/prepare-env.sh24
2 files changed, 35 insertions, 32 deletions
diff --git a/testapi/docker/Dockerfile b/testapi/docker/Dockerfile
index bbf12fc..03b15e8 100644
--- a/testapi/docker/Dockerfile
+++ b/testapi/docker/Dockerfile
@@ -23,30 +23,31 @@
# http://www.apache.org/licenses/LICENSE-2.0
#
-FROM ubuntu:14.04
+FROM ubuntu:18.04
MAINTAINER SerenaFeng <feng.xiaowei@zte.com.cn>
LABEL version="v1" description="OPNFV TestAPI Docker container"
-ENV HOME /home
+ARG user=ubuntu
+ARG group=ubuntu
-# 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 requests
-
-RUN git config --global http.sslVerify false
-RUN git clone https://gerrit.opnfv.org/gerrit/releng-testresults /home/releng-testresults
-
-WORKDIR /home/releng-testresults/testapi
-RUN pip install -r requirements.txt
-
-RUN python setup.py install
+ curl git gcc wget python-dev python-pip python-wheel python-setuptools \
+ crudini libxslt-dev zlib1g-dev --no-install-recommends && \
+ groupadd -r $group && useradd -ms /bin/bash $user -g $group && \
+ git clone https://gerrit.opnfv.org/gerrit/releng-testresults \
+ /home/ubuntu/releng-testresults && \
+ pip install -r /home/ubuntu/releng-testresults/testapi/requirements.txt \
+ -c /home/ubuntu/releng-testresults/testapi/upper-constraints.txt \
+ -c https://raw.githubusercontent.com/openstack/requirements/stable/ussuri/upper-constraints.txt && \
+ sed -i '152,152s/)/,\ verify=False)/g' \
+ /usr/local/lib/python2.7/dist-packages/cas.py && \
+ cd /home/ubuntu/releng-testresults/testapi/ && python setup.py install && \
+ for i in /home/ubuntu/releng-testresults /etc/opnfv_testapi /usr/local/share/opnfv_testapi; do \
+ mkdir -p $i && chown -R $user:$group $i && \
+ find $i -type d |xargs chmod 777 && \
+ find $i -type f |xargs chmod 666 ; done && \
+ apt-get remove --purge -y python-dev libxslt-dev zlib1g-dev && \
+ apt-get autoremove --purge -y && apt-get clean && rm -rf /var/lib/apt/lists/*
+WORKDIR /home/ubuntu/releng-testresults/testapi
+USER ubuntu
CMD ["bash", "docker/start-server.sh"]
diff --git a/testapi/docker/prepare-env.sh b/testapi/docker/prepare-env.sh
index 9086e77..3b061d2 100755
--- a/testapi/docker/prepare-env.sh
+++ b/testapi/docker/prepare-env.sh
@@ -2,18 +2,20 @@
FILE=/etc/opnfv_testapi/config.ini
-if [ "$mongodb_url" != "" ]; then
- sudo crudini --set --existing $FILE mongo url $mongodb_url
-fi
+[[ "${mongodb_url}" == "" ]] && mongodb_url=mongodb://mongo:27017/
+[[ "${base_url}" == "" ]] && base_url=http://localhost:8000
+[[ ! "${auth}" =~ [f|F]alse ]] && auth=true
-if [ "$base_url" != "" ]; then
- sudo crudini --set --existing $FILE api url $base_url/api/v1
- sudo crudini --set --existing $FILE ui url $base_url
- sudo cat > /usr/local/share/opnfv_testapi/testapi-ui/config.json << EOF
+auth_server=`echo ${auth:0:1} | tr '[:lower:]' '[:upper:]'``echo ${auth:1} | tr '[:upper:]' '[:lower:]'`
+auth_web=`echo ${auth} | tr '[:upper:]' '[:lower:]'`
+crudini --set --existing ${FILE} mongo url ${mongodb_url}
+crudini --set --existing ${FILE} api url ${base_url}/api/v1
+crudini --set --existing ${FILE} ui url ${base_url}
+crudini --set --existing ${FILE} api authenticate ${auth_server}
+
+cat > /usr/local/share/opnfv_testapi/testapi-ui/config.json << EOF
{
- "testapiApiUrl": "$base_url/api/v1",
- "authenticate": true
+ "testapiApiUrl": "${base_url}/api/v1",
+ "authenticate": ${auth_web}
}
EOF
-
-fi