X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=api%2Fapi-prepare.sh;h=7632d9da91970c16a9724bebf5ddbad8b674e4db;hb=1cff540d812ace29fa45bc789ad3a329435aa3ba;hp=c05dbb5ffe828f285b7e7054f82623a0ccc79a8f;hpb=d3c66ab20d4a7b789eaec5933b1e18cd67e4d144;p=yardstick.git diff --git a/api/api-prepare.sh b/api/api-prepare.sh index c05dbb5ff..7632d9da9 100755 --- a/api/api-prepare.sh +++ b/api/api-prepare.sh @@ -8,6 +8,36 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +: ${YARDSTICK_REPO_DIR:='/home/opnfv/repos/yardstick'} + +# generate uwsgi config file +mkdir -p /etc/yardstick +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 + # nginx config nginx_config='/etc/nginx/conf.d/yardstick.conf' @@ -20,18 +50,35 @@ server { index index.htm index.html; location / { include uwsgi_params; - uwsgi_pass unix:///home/opnfv/repos/yardstick/api/yardstick.sock; + uwsgi_pass unix:///var/run/yardstick.sock; } } EOF fi # nginx service start when boot -cat << EOF >> /root/.bashrc +supervisor_config='/etc/supervisor/conf.d/yardstick.conf' -nginx_status=\$(service nginx status | grep not) -if [ -n "\${nginx_status}" ];then - service nginx restart - uwsgi -i /home/opnfv/repos/yardstick/api/yardstick.ini -fi +if [[ ! -e "${supervisor_config}" ]];then + cat << EOF > "${supervisor_config}" +[supervisord] +nodaemon = true + +[program:yardstick_nginx] +user = root +command = service nginx restart +autorestart = true + +[program:yardstick_uwsgi] +user = root +directory = /etc/yardstick +command = uwsgi -i yardstick.ini +autorestart = true EOF +fi + +# create api log directory +mkdir -p /var/log/yardstick + +# create yardstick.sock for communicating +touch /var/run/yardstick.sock