diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/Dockerfile | 3 | ||||
-rwxr-xr-x | docker/nginx.sh | 31 | ||||
-rwxr-xr-x | docker/supervisor.sh | 26 | ||||
-rwxr-xr-x | docker/uwsgi.sh | 46 |
4 files changed, 106 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 96a5d774d..b48a550bf 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -22,6 +22,7 @@ ENV IMAGE_DIR /home/opnfv/images/ # Yardstick repo ENV YARDSTICK_REPO_DIR ${REPOS_DIR}/yardstick ENV RELENG_REPO_DIR ${REPOS_DIR}/releng +ENV STORPERF_REPO_DIR ${REPOS_DIR}/storperf RUN apt-get update && apt-get install -y git python-setuptools python-pip RUN easy_install -U setuptools==30.0.0 @@ -32,9 +33,11 @@ RUN mkdir -p ${REPOS_DIR} RUN git config --global http.sslVerify false RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO_DIR} RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO_DIR} +RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/storperf ${STORPERF_REPO_DIR} WORKDIR ${YARDSTICK_REPO_DIR} RUN ${YARDSTICK_REPO_DIR}/install.sh +RUN ${YARDSTICK_REPO_DIR}/docker/supervisor.sh RUN echo "daemon off;" >> /etc/nginx/nginx.conf diff --git a/docker/nginx.sh b/docker/nginx.sh new file mode 100755 index 000000000..26937d134 --- /dev/null +++ b/docker/nginx.sh @@ -0,0 +1,31 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## + +# nginx config +nginx_config='/etc/nginx/conf.d/yardstick.conf' + +if [[ ! -e "${nginx_config}" ]];then + + cat << EOF > "${nginx_config}" +server { + listen 5000; + server_name localhost; + index index.htm index.html; + location / { + include uwsgi_params; + uwsgi_pass unix:///var/run/yardstick.sock; + } + + location /gui/ { + alias /etc/nginx/yardstick/gui/; + } +} +EOF +fi diff --git a/docker/supervisor.sh b/docker/supervisor.sh new file mode 100755 index 000000000..b67de2212 --- /dev/null +++ b/docker/supervisor.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## + +# nginx service start when boot +supervisor_config='/etc/supervisor/conf.d/yardstick.conf' + +if [[ ! -e "${supervisor_config}" ]];then + cat << EOF > "${supervisor_config}" +[supervisord] +nodaemon = true + +[program:nginx] +command = service nginx restart + +[program:yardstick_uwsgi] +directory = /etc/yardstick +command = uwsgi -i yardstick.ini +EOF +fi diff --git a/docker/uwsgi.sh b/docker/uwsgi.sh new file mode 100755 index 000000000..cf4612332 --- /dev/null +++ b/docker/uwsgi.sh @@ -0,0 +1,46 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. +# +# 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 +############################################################################## + +: ${YARDSTICK_REPO_DIR:='/home/opnfv/repos/yardstick'} + +# generate uwsgi config file +mkdir -p /etc/yardstick + +# create api log directory +mkdir -p /var/log/yardstick + +# create yardstick.sock for communicating +touch /var/run/yardstick.sock + +uwsgi_config='/etc/yardstick/yardstick.ini' +if [[ ! -e "${uwsgi_config}" ]];then + + cat << EOF > "${uwsgi_config}" +[uwsgi] +master = true +debug = true +chdir = ${YARDSTICK_REPO_DIR}/api +module = server +plugins = python +processes = 10 +threads = 5 +async = true +max-requests = 5000 +chmod-socket = 666 +callable = app_wrapper +enable-threads = true +close-on-exec = 1 +daemonize= /var/log/yardstick/uwsgi.log +socket = /var/run/yardstick.sock +EOF + if [[ "${YARDSTICK_VENV}" ]];then + echo "virtualenv = ${YARDSTICK_VENV}" >> "${uwsgi_config}" + fi +fi |