summaryrefslogtreecommitdiffstats
path: root/utils/test/reporting/docker
diff options
context:
space:
mode:
authorMorgan Richomme <morgan.richomme@orange.com>2017-07-04 17:23:33 +0200
committerMorgan Richomme <morgan.richomme@orange.com>2017-08-09 16:45:43 +0200
commit354afd448cefc348f185b9adc4b5e6d38f96a3b0 (patch)
tree57c77cd4aec995f4142b24a0c1bb004ae99199cb /utils/test/reporting/docker
parent6b8f885df235649608e70a9a4337e8493705a32a (diff)
Initiate packetization of Testing reporting
Testing reporting provides - static reporting pages [1] (jinja2) - landing pages including test case catalogue [2] (angular) It consumes the Test API to build web pages providing status for the testing projects (so far functest, yardstick, storperf and qtip). Dockerization has been initiated [3]. The goal is to replace the static page hosted on testresults.opnfv.org by a docker regenerated and redeployed when reporting code is changed But the docker and more generally the testing reporting directory must be refactored to - manage dependencies properly - leverage tox (py27, docs, pylint, pep8) This patch - setups tox (py27, pep8, pylint, docs) - integrate the requirement management - fix pep8 errors - introduce 1 dummy unit test This patch does not - fix pylint errors - create any doc [1]: http://testresults.opnfv.org/reporting2/display/index.html [2]: http://testresults.opnfv.org/reporting2/reporting/index.html [3]: https://gerrit.opnfv.org/gerrit/#/c/36735/ Change-Id: I4613de7ca7036d6c6bbb8f58ade492b1d673599b Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
Diffstat (limited to 'utils/test/reporting/docker')
-rw-r--r--utils/test/reporting/docker/Dockerfile20
-rw-r--r--utils/test/reporting/docker/nginx.conf4
-rwxr-xr-xutils/test/reporting/docker/reporting.sh70
-rw-r--r--utils/test/reporting/docker/supervisor.conf4
-rwxr-xr-xutils/test/reporting/docker/web_server.sh16
5 files changed, 51 insertions, 63 deletions
diff --git a/utils/test/reporting/docker/Dockerfile b/utils/test/reporting/docker/Dockerfile
index ad278ce1e..f5168d1ae 100644
--- a/utils/test/reporting/docker/Dockerfile
+++ b/utils/test/reporting/docker/Dockerfile
@@ -16,22 +16,20 @@
FROM nginx:stable
MAINTAINER Morgan Richomme <morgan.richomme@orange.com>
-LABEL version="danube.1.0" description="OPNFV Test Reporting Docker container"
+LABEL version="1.0" description="OPNFV Test Reporting Docker container"
ARG BRANCH=master
ENV HOME /home/opnfv
-ENV working_dir /home/opnfv/utils/test/reporting
-ENV TERM xterm
-ENV COLORTERM gnome-terminal
-ENV CONFIG_REPORTING_YAML /home/opnfv/utils/test/reporting/reporting.yaml
+ENV working_dir ${HOME}/releng/utils/test/reporting
+ENV CONFIG_REPORTING_YAML ${working_dir}/reporting.yaml
+WORKDIR ${HOME}
# Packaged dependencies
RUN apt-get update && apt-get install -y \
ssh \
python-pip \
git-core \
-wkhtmltopdf \
nodejs \
npm \
supervisor \
@@ -39,15 +37,13 @@ supervisor \
RUN pip install --upgrade pip
-RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng /home/opnfv
-RUN pip install -r ${working_dir}/docker/requirements.pip
-
-WORKDIR ${working_dir}/api
-RUN pip install -r requirements.txt
-RUN python setup.py install
+RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng ${HOME}/releng
+RUN pip install -r ${working_dir}/requirements.txt
WORKDIR ${working_dir}
+RUN python setup.py install
RUN docker/reporting.sh
+RUN docker/web_server.sh
expose 8000
diff --git a/utils/test/reporting/docker/nginx.conf b/utils/test/reporting/docker/nginx.conf
index 9e2697248..ced8179c1 100644
--- a/utils/test/reporting/docker/nginx.conf
+++ b/utils/test/reporting/docker/nginx.conf
@@ -15,10 +15,10 @@ server {
}
location /reporting/ {
- alias /home/opnfv/utils/test/reporting/pages/dist/;
+ alias /home/opnfv/releng/utils/test/reporting/pages/dist/;
}
location /display/ {
- alias /home/opnfv/utils/test/reporting/display/;
+ alias /home/opnfv/releng/utils/test/reporting/display/;
}
}
diff --git a/utils/test/reporting/docker/reporting.sh b/utils/test/reporting/docker/reporting.sh
index 7fe97a88e..076dc4719 100755
--- a/utils/test/reporting/docker/reporting.sh
+++ b/utils/test/reporting/docker/reporting.sh
@@ -1,10 +1,10 @@
#!/bin/bash
-export PYTHONPATH="${PYTHONPATH}:."
-export CONFIG_REPORTING_YAML=./reporting.yaml
+export PYTHONPATH="${PYTHONPATH}:./reporting"
+export CONFIG_REPORTING_YAML=./reporting/reporting.yaml
declare -a versions=(danube master)
-declare -a projects=(functest storperf yardstick)
+declare -a projects=(functest storperf yardstick qtip)
project=$1
reporting_type=$2
@@ -29,8 +29,9 @@ cp -Rf js display
# projet | option
# $1 | $2
# functest | status, vims, tempest
-# yardstick |
-# storperf |
+# yardstick | status
+# storperf | status
+# qtip | status
function report_project()
{
@@ -40,7 +41,7 @@ function report_project()
echo "********************************"
echo " $project reporting "
echo "********************************"
- python ./$dir/reporting-$type.py
+ python ./reporting/$dir/reporting-$type.py
if [ $? ]; then
echo "$project reporting $type...OK"
else
@@ -50,53 +51,28 @@ function report_project()
if [ -z "$1" ]; then
echo "********************************"
- echo " Functest reporting "
+ echo " * Static status reporting *"
echo "********************************"
- echo "reporting vIMS..."
- python ./functest/reporting-vims.py
- echo "reporting vIMS...OK"
- sleep 10
- echo "reporting Tempest..."
- python ./functest/reporting-tempest.py
- echo "reporting Tempest...OK"
- sleep 10
- echo "reporting status..."
- python ./functest/reporting-status.py
- echo "Functest reporting status...OK"
-
- echo "********************************"
- echo " Yardstick reporting "
- echo "********************************"
- python ./yardstick/reporting-status.py
- echo "Yardstick reporting status...OK"
+ for i in "${projects[@]}"
+ do
+ report_project $i $i "status"
+ sleep 5
+ done
+ report_project "QTIP" "qtip" "status"
- echo "********************************"
- echo " Storperf reporting "
- echo "********************************"
- python ./storperf/reporting-status.py
- echo "Storperf reporting status...OK"
- report_project "QTIP" "qtip" "status"
+ echo "Functest reporting vIMS..."
+ report_project "functest" "functest" "vims"
+ echo "reporting vIMS...OK"
+ sleep 5
+ echo "Functest reporting Tempest..."
+ report_project "functest" "functest" "tempest"
+ echo "reporting Tempest...OK"
+ sleep 5
else
if [ -z "$2" ]; then
reporting_type="status"
fi
- echo "********************************"
- echo " $project/$reporting_type reporting "
- echo "********************************"
- python ./$project/reporting-$reporting_type.py
+ report_project $project $project $reporting_type
fi
-cp -r display /usr/share/nginx/html
-
-
-# nginx config
-cp /home/opnfv/utils/test/reporting/docker/nginx.conf /etc/nginx/conf.d/
-echo "daemon off;" >> /etc/nginx/nginx.conf
-
-# supervisor config
-cp /home/opnfv/utils/test/reporting/docker/supervisor.conf /etc/supervisor/conf.d/
-
-ln -s /usr/bin/nodejs /usr/bin/node
-
-cd pages && /bin/bash angular.sh
diff --git a/utils/test/reporting/docker/supervisor.conf b/utils/test/reporting/docker/supervisor.conf
index b323dd029..49310d430 100644
--- a/utils/test/reporting/docker/supervisor.conf
+++ b/utils/test/reporting/docker/supervisor.conf
@@ -3,7 +3,7 @@ nodaemon = true
[program:tornado]
user = root
-directory = /home/opnfv/utils/test/reporting/api/api
+directory = /home/opnfv/releng/utils/test/reporting/api
command = python server.py --port=800%(process_num)d
process_name=%(program_name)s%(process_num)d
numprocs=4
@@ -15,5 +15,5 @@ command = service nginx restart
[program:configuration]
user = root
-directory = /home/opnfv/utils/test/reporting/pages
+directory = /home/opnfv/releng/utils/test/reporting/pages
command = bash config.sh
diff --git a/utils/test/reporting/docker/web_server.sh b/utils/test/reporting/docker/web_server.sh
new file mode 100755
index 000000000..a34c11dd7
--- /dev/null
+++ b/utils/test/reporting/docker/web_server.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+cp -r display /usr/share/nginx/html
+
+
+# nginx config
+cp /home/opnfv/releng/utils/test/reporting/docker/nginx.conf /etc/nginx/conf.d/
+echo "daemon off;" >> /etc/nginx/nginx.conf
+
+# supervisor config
+cp /home/opnfv/releng/utils/test/reporting/docker/supervisor.conf /etc/supervisor/conf.d/
+
+ln -s /usr/bin/nodejs /usr/bin/node
+
+# Manage Angular front end
+cd pages && /bin/bash angular.sh
+