X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=api%2Fapi-prepare.sh;h=7632d9da91970c16a9724bebf5ddbad8b674e4db;hb=2bea82e39d62246552a9d6d49c74bbc32747f018;hp=712ad8361eac5590e260f7744c54bb7b1cc58ce5;hpb=ed5a8ca39c778ea85cca6bb5e99ec39869d7a051;p=yardstick.git diff --git a/api/api-prepare.sh b/api/api-prepare.sh index 712ad8361..7632d9da9 100755 --- a/api/api-prepare.sh +++ b/api/api-prepare.sh @@ -1,33 +1,41 @@ #!/bin/bash +############################################################################## +# Copyright (c) 2016 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 output config -output_config='/etc/yardstick/yardstick.conf' +: ${YARDSTICK_REPO_DIR:='/home/opnfv/repos/yardstick'} -if [[ ! -e "${output_config}" ]];then - gateway_ip=$(ip route | grep default | awk '{print $3}') - echo "${gateway_ip}" +# generate uwsgi config file +mkdir -p /etc/yardstick +uwsgi_config='/etc/yardstick/yardstick.ini' +if [[ ! -e "${uwsgi_config}" ]];then - install -d /etc/yardstick -m 0755 -o root - - cat << EOF >> "${output_config}" -[DEFAULT] -debug = True -dispatcher = influxdb - -[dispatcher_file] -file_path = /tmp/yardstick.out - -[dispatcher_http] -timeout = 5 -# target = http://127.0.0.1:8000/results - -[dispatcher_influxdb] -timeout = 5 -target = http://${gateway_ip}:8086 -db_name = yardstick -username = root -password = root + 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 @@ -35,25 +43,42 @@ nginx_config='/etc/nginx/conf.d/yardstick.conf' if [[ ! -e "${nginx_config}" ]];then - cat << EOF >> "${nginx_config}" + cat << EOF > "${nginx_config}" server { listen 5000; server_name localhost; 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