diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2016-11-22 16:06:04 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2016-11-23 09:51:05 +0000 |
commit | ed5a8ca39c778ea85cca6bb5e99ec39869d7a051 (patch) | |
tree | dad753e5dae4a424ae8d1c268ca92a5f69db5758 | |
parent | 0e23c697e6329a57ba168cc57886b436ea87cdc4 (diff) |
Deployment for API
JIRA: YARDSTICK-418
Set yardstick.conf in /etc/yardstick/ to config yardstick output way
Set nginx config file
Set nginx service and uwsgi service start when boot
Change-Id: I5749042ae1b05feaf895cb0abffed7f9194b9cee
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
-rwxr-xr-x | api/api-prepare.sh | 59 | ||||
-rw-r--r-- | api/yardstick.ini | 16 | ||||
-rw-r--r-- | api/yardstick.sock | 0 | ||||
-rw-r--r-- | docker/Dockerfile | 7 | ||||
-rwxr-xr-x | install.sh | 3 |
5 files changed, 85 insertions, 0 deletions
diff --git a/api/api-prepare.sh b/api/api-prepare.sh new file mode 100755 index 000000000..712ad8361 --- /dev/null +++ b/api/api-prepare.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# yardstick output config +output_config='/etc/yardstick/yardstick.conf' + +if [[ ! -e "${output_config}" ]];then + gateway_ip=$(ip route | grep default | awk '{print $3}') + echo "${gateway_ip}" + + 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 +EOF +fi + +# 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:///home/opnfv/repos/yardstick/api/yardstick.sock; + } +} +EOF +fi + +# nginx service start when boot +cat << EOF >> /root/.bashrc + +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 +EOF diff --git a/api/yardstick.ini b/api/yardstick.ini new file mode 100644 index 000000000..535022960 --- /dev/null +++ b/api/yardstick.ini @@ -0,0 +1,16 @@ +[uwsgi] +master = true +debug = true +chdir = /home/opnfv/repos/yardstick/api +module = server +plugins = python +processes = 10 +threads = 5 +async = true +max-requests = 5000 +chmod-socket = 666 +callable = app +enable-threads = true +close-on-exec = 1 +daemonize=/home/kklt/kklt/api/uwsgi.log +socket = /home/opnfv/repos/yardstick/api/yardstick.sock diff --git a/api/yardstick.sock b/api/yardstick.sock new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/api/yardstick.sock diff --git a/docker/Dockerfile b/docker/Dockerfile index fba6e2067..36db2bb13 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -43,6 +43,9 @@ RUN apt-get update && apt-get install -y \ python-dev \ libxml2-dev \ libxslt1-dev \ + nginx \ + uwsgi \ + uwsgi-plugin-python \ python-setuptools && \ easy_install -U setuptools @@ -60,6 +63,10 @@ RUN cd ${YARDSTICK_REPO_DIR} && easy_install -U pip RUN cd ${YARDSTICK_REPO_DIR} && pip install -r requirements.txt RUN cd ${YARDSTICK_REPO_DIR} && pip install . +RUN ${YARDSTICK_REPO_DIR}/api/api-prepare.sh + +EXPOSE 5000 + ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/opnfv/images/ ADD http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img /home/opnfv/images/ diff --git a/install.sh b/install.sh index 80fc1e523..8fdd07569 100755 --- a/install.sh +++ b/install.sh @@ -13,6 +13,9 @@ apt-get update && apt-get install -y \ python-dev \ libxml2-dev \ libxslt1-dev \ + nginx \ + uswgi \ + uwsgi-plugin-python \ python-setuptools && \ easy_install -U setuptools |