Change all paths 05/37205/3
authormbeierl <mark.beierl@dell.com>
Tue, 11 Jul 2017 19:12:35 +0000 (15:12 -0400)
committermbeierl <mark.beierl@dell.com>
Tue, 11 Jul 2017 19:47:46 +0000 (15:47 -0400)
Changes the paths of all source code so that it exists under the dockerfile location
for each container.  This way we can use COPY instead of git clone, as well as use the
existing JJB.

Change-Id: I883b2957d89659c164fff0a1ebc4d677c534796d
JIRA: STORPERF-188
Signed-off-by: mbeierl <mark.beierl@dell.com>
79 files changed:
ci/setup.py [deleted file]
ci/verify.sh
docker-compose/docker-compose.yaml
docker/Dockerfile-httpfrontend [new file with mode: 0644]
docker/Dockerfile-master [moved from docker/Dockerfile with 73% similarity]
docker/Dockerfile-reporting [moved from reporting/docker/Dockerfile with 79% similarity]
docker/storperf-httpfrontend/html/index.html [new file with mode: 0644]
docker/storperf-httpfrontend/nginx.conf [moved from docker-compose/nginx.conf with 71% similarity]
docker/storperf-master/requirements.pip [moved from docker/requirements.pip with 100% similarity]
docker/storperf-master/rest_server.py [moved from rest_server.py with 99% similarity]
docker/storperf-master/storperf/__init__.py [moved from storperf/__init__.py with 100% similarity]
docker/storperf-master/storperf/carbon/__init__.py [moved from storperf/carbon/__init__.py with 100% similarity]
docker/storperf-master/storperf/carbon/converter.py [moved from storperf/carbon/converter.py with 100% similarity]
docker/storperf-master/storperf/carbon/emitter.py [moved from storperf/carbon/emitter.py with 100% similarity]
docker/storperf-master/storperf/db/__init__.py [moved from storperf/db/__init__.py with 100% similarity]
docker/storperf-master/storperf/db/configuration_db.py [moved from storperf/db/configuration_db.py with 100% similarity]
docker/storperf-master/storperf/db/graphite_db.py [moved from storperf/db/graphite_db.py with 100% similarity]
docker/storperf-master/storperf/db/job_db.py [moved from storperf/db/job_db.py with 100% similarity]
docker/storperf-master/storperf/db/test_results_db.py [moved from storperf/db/test_results_db.py with 100% similarity]
docker/storperf-master/storperf/fio/__init__.py [moved from storperf/fio/__init__.py with 100% similarity]
docker/storperf-master/storperf/fio/fio_invoker.py [moved from storperf/fio/fio_invoker.py with 100% similarity]
docker/storperf-master/storperf/logging.json [moved from storperf/logging.json with 100% similarity]
docker/storperf-master/storperf/resources/hot/agent-group.yaml [moved from storperf/resources/hot/agent-group.yaml with 100% similarity]
docker/storperf-master/storperf/resources/hot/storperf-agent.yaml [moved from storperf/resources/hot/storperf-agent.yaml with 100% similarity]
docker/storperf-master/storperf/resources/ssh/storperf_rsa [moved from storperf/resources/ssh/storperf_rsa with 100% similarity]
docker/storperf-master/storperf/resources/ssh/storperf_rsa.pub [moved from storperf/resources/ssh/storperf_rsa.pub with 100% similarity]
docker/storperf-master/storperf/storperf_master.py [moved from storperf/storperf_master.py with 100% similarity]
docker/storperf-master/storperf/test_executor.py [moved from storperf/test_executor.py with 100% similarity]
docker/storperf-master/storperf/utilities/__init__.py [moved from storperf/utilities/__init__.py with 100% similarity]
docker/storperf-master/storperf/utilities/data_handler.py [moved from storperf/utilities/data_handler.py with 100% similarity]
docker/storperf-master/storperf/utilities/data_treatment.py [moved from storperf/utilities/data_treatment.py with 100% similarity]
docker/storperf-master/storperf/utilities/dictionary.py [moved from storperf/utilities/dictionary.py with 100% similarity]
docker/storperf-master/storperf/utilities/math.py [moved from storperf/utilities/math.py with 100% similarity]
docker/storperf-master/storperf/utilities/steady_state.py [moved from storperf/utilities/steady_state.py with 100% similarity]
docker/storperf-master/storperf/utilities/thread_gate.py [moved from storperf/utilities/thread_gate.py with 100% similarity]
docker/storperf-master/storperf/workloads/__init__.py [moved from storperf/workloads/__init__.py with 100% similarity]
docker/storperf-master/storperf/workloads/_base_workload.py [moved from storperf/workloads/_base_workload.py with 100% similarity]
docker/storperf-master/storperf/workloads/_ssd_preconditioning.py [moved from storperf/workloads/_ssd_preconditioning.py with 100% similarity]
docker/storperf-master/storperf/workloads/_warm_up.py [moved from storperf/workloads/_warm_up.py with 100% similarity]
docker/storperf-master/storperf/workloads/rr.py [moved from storperf/workloads/rr.py with 100% similarity]
docker/storperf-master/storperf/workloads/rs.py [moved from storperf/workloads/rs.py with 100% similarity]
docker/storperf-master/storperf/workloads/rw.py [moved from storperf/workloads/rw.py with 100% similarity]
docker/storperf-master/storperf/workloads/wr.py [moved from storperf/workloads/wr.py with 100% similarity]
docker/storperf-master/storperf/workloads/ws.py [moved from storperf/workloads/ws.py with 100% similarity]
docker/storperf-master/supervisord.conf [moved from docker/supervisord.conf with 78% similarity]
docker/storperf-master/tests/__init__.py [moved from tests/__init__.py with 100% similarity]
docker/storperf-master/tests/carbon_tests/__init__.py [moved from tests/carbon_tests/__init__.py with 100% similarity]
docker/storperf-master/tests/carbon_tests/emitter_test.py [moved from tests/carbon_tests/emitter_test.py with 100% similarity]
docker/storperf-master/tests/carbon_tests/json_to_carbon_test.py [moved from tests/carbon_tests/json_to_carbon_test.py with 100% similarity]
docker/storperf-master/tests/db_tests/__init__.py [moved from tests/db_tests/__init__.py with 100% similarity]
docker/storperf-master/tests/db_tests/configuration_db_test.py [moved from tests/db_tests/configuration_db_test.py with 86% similarity]
docker/storperf-master/tests/db_tests/graphite_db_test.py [moved from tests/db_tests/graphite_db_test.py with 100% similarity]
docker/storperf-master/tests/db_tests/job_db_test.py [moved from tests/db_tests/job_db_test.py with 98% similarity]
docker/storperf-master/tests/fio_tests/__init__.py [moved from tests/fio_tests/__init__.py with 100% similarity]
docker/storperf-master/tests/fio_tests/fio_invoker_test.py [moved from tests/fio_tests/fio_invoker_test.py with 100% similarity]
docker/storperf-master/tests/storperf_master_test.py [moved from tests/storperf_master_test.py with 88% similarity]
docker/storperf-master/tests/utilities_tests/__init__.py [moved from tests/utilities_tests/__init__.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/data_handler_test.py [moved from tests/utilities_tests/data_handler_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/data_treatment_test.py [moved from tests/utilities_tests/data_treatment_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/dictionary_test.py [moved from tests/utilities_tests/dictionary_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/math_average_test.py [moved from tests/utilities_tests/math_average_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/math_range_test.py [moved from tests/utilities_tests/math_range_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/math_slope_test.py [moved from tests/utilities_tests/math_slope_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/steady_state_test.py [moved from tests/utilities_tests/steady_state_test.py with 100% similarity]
docker/storperf-master/tests/utilities_tests/thread_gate_test.py [moved from tests/utilities_tests/thread_gate_test.py with 100% similarity]
docker/storperf-master/tests/workload_tests/__init__.py [moved from tests/workload_tests/__init__.py with 100% similarity]
docker/storperf-master/tests/workload_tests/workload_subclass_test.py [moved from tests/workload_tests/workload_subclass_test.py with 100% similarity]
docker/storperf-reporting/requirements.txt [moved from reporting/docker/requirements.txt with 100% similarity]
docker/storperf-reporting/src/app.py [new file with mode: 0644]
docker/storperf-reporting/src/static/css/bootstrap.min.css [moved from reporting/docker/src/static/css/bootstrap.min.css with 100% similarity]
docker/storperf-reporting/src/static/js/Chart.min.js [moved from reporting/docker/src/static/js/Chart.min.js with 100% similarity]
docker/storperf-reporting/src/static/js/bootstrap.min.js [moved from reporting/docker/src/static/js/bootstrap.min.js with 100% similarity]
docker/storperf-reporting/src/static/js/jquery-2.1.3.min.js [moved from reporting/docker/src/static/js/jquery-2.1.3.min.js with 100% similarity]
docker/storperf-reporting/src/static/js/jquery.bootpag.min.js [moved from reporting/docker/src/static/js/jquery.bootpag.min.js with 100% similarity]
docker/storperf-reporting/src/static/js/plotly-latest.min.js [moved from reporting/docker/src/static/js/plotly-latest.min.js with 100% similarity]
docker/storperf-reporting/src/templates/index.html [moved from reporting/docker/src/templates/index.html with 100% similarity]
docker/storperf-reporting/src/templates/plot_tables.html [moved from reporting/docker/src/templates/plot_tables.html with 100% similarity]
reporting/docker/app.py [deleted file]
reporting/docker/src/app.py [deleted file]

diff --git a/ci/setup.py b/ci/setup.py
deleted file mode 100755 (executable)
index d40ef9f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 EMC 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
-##############################################################################
-
-from setuptools import setup, find_packages
-
-
-setup(
-    name="storperf",
-    version="0.dev0",
-    packages=find_packages(),
-    include_package_data=True,
-    package_data={
-        'storperf': [
-            'storperf/resources/hot/*'
-        ]
-    },
-    url="https://www.opnfv.org",
-    install_requires=["flask==0.10",
-                      "flask-restful==0.3.5",
-                      "flask-restful-swagger==0.19",
-                      "html2text==2016.1.8",
-                      "python-cinderclient==1.6.0",
-                      "python-glanceclient==1.1.0",
-                      "python-heatclient==0.8.0",
-                      "python-keystoneclient==1.6.0",
-                      "python-neutronclient==2.6.0",
-                      "python-novaclient==2.28.1",
-                      "pyyaml==3.10",
-                      "requests==2.13.0",
-                      "six==1.10.0"
-                      ],
-    entry_points={
-        'console_scripts': [
-            'storperf=storperf.main:main',
-        ],
-    }
-)
index feb84d2..cd5bbbb 100755 (executable)
@@ -45,19 +45,35 @@ pip install requests==2.13.0
 pip install scp==0.10.2
 pip install six==1.10.0
 
-python ci/setup.py develop
-
-flake8 storperf
+final_rc=0
 
+flake8 docker/storperf-*
 flake8rc=$?
 
-nosetests --with-xunit \
-         --with-coverage \
-         --cover-package=storperf\
-         --cover-xml \
-         --cover-html \
-         tests
-rc=$?
+for testdir in docker/storperf-*
+do
+    if [ -d $testdir/tests ]
+    then
+        cwd=$(pwd)
+        cd $testdir
+
+        nosetests --with-xunit \
+                 --with-coverage \
+                 --cover-package=storperf\
+                 --cover-xml \
+                 --cover-html \
+                 tests
+        rc=$?
+        if [ $rc -ne 0 ]
+        then
+            final_rc=$rc
+        fi
+        cd $cwd
+    fi
+done
+
+cp ./docker/storperf-master/coverage.xml .
+cp ./docker/storperf-master/nosetests.xml .
 
 deactivate
 
@@ -67,4 +83,4 @@ then
     exit $flake8rc
 fi
 
-exit $rc
+exit $final_rc
index dbba825..7747506 100644 (file)
@@ -1,25 +1,30 @@
 version: '2'
 services:
-    storperf:
-        container_name: "storperf"
-        image: "opnfv/storperf:${TAG}"
+    storperf-master:
+        container_name: "storperf-master"
+        image: "opnfv/storperf-master:${TAG}"
         ports:
             - "8000:8000"
         env_file: ${ENV_FILE}
         volumes:
             - ${CARBON_DIR}:/opt/graphite/storage/whisper
 
-    swagger-ui:
-        container_name: "swagger-ui"
+    storperf-reporting:
+        container_name: "storperf-reporting"
+        image: "opnfv/storperf-reporting:${TAG}"
+        ports:
+            - "5080:5000"
+
+    storperf-swaggerui:
+        container_name: "storperf-swaggerui"
         image: "schickling/swagger-ui"
 
-    http-front-end:
-        container_name: "http-front-end"
-        image: nginx:stable-alpine
+    storperf-httpfrontend:
+        container_name: "storperf-httpfrontend"
+        image: "opnfv/storperf-httpfrontend:${TAG}"
         ports:
             - "5000:5000"
-        volumes:
-            - ./nginx.conf:/etc/nginx/nginx.conf:ro
         links:
-            - storperf
-            - swagger-ui
\ No newline at end of file
+            - storperf-master
+            - storperf-reporting
+            - storperf-swaggerui
\ No newline at end of file
diff --git a/docker/Dockerfile-httpfrontend b/docker/Dockerfile-httpfrontend
new file mode 100644 (file)
index 0000000..dc97b80
--- /dev/null
@@ -0,0 +1,25 @@
+##############################################################################
+# Copyright (c) 2017 Dell EMC 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
+##############################################################################
+#   Docker container for StorPerf HTTP Front ENd
+#
+# Build:
+#    $ docker build -t opnfv/storperf-frontend:tag .
+##
+
+
+FROM nginx:stable-alpine
+MAINTAINER Mark Beierl <mark.beierl@dell.com>
+LABEL version="3.1" description="OPNFV Storperf HTTP Front End Container"
+
+ARG BRANCH=master
+
+COPY storperf-httpfrontend/nginx.conf /etc/nginx/nginx.conf
+COPY storperf-httpfrontend/html /etc/nginx/html
+
+EXPOSE 5000
similarity index 73%
rename from docker/Dockerfile
rename to docker/Dockerfile-master
index f1ec617..38e8265 100644 (file)
 #
 # Maintained by Jose Lausuch, Mark Beierl
 # Build:
-#    $ docker build -t opnfv/storperf:tag .
+#    $ docker build -t opnfv/storperf-master:tag .
 #
-# Execution:
-#    $ docker run -t opnfv/storperf /bin/bash
-#
-
 
 FROM ubuntu:14.04
 MAINTAINER Jose Lausuch <jose.lausuch@ericsson.com>
-LABEL version="0.1" description="OPNFV Storperf Docker container"
+LABEL version="5.0" description="OPNFV Storperf Docker container"
 
 ARG BRANCH=master
 
@@ -30,55 +26,36 @@ ENV DEBIAN_FRONTEND noninteractive
 
 WORKDIR /home/opnfv
 
+# Needed for Graphite installation
+RUN echo 'deb http://us.archive.ubuntu.com/ubuntu/ trusty universe' >> /etc/apt/sources.list
+
 # Packaged dependencies
 RUN apt-get update && apt-get install -y \
 libaio1 \
 libaio-dev \
 zlib1g-dev \
 supervisor \
-ssh \
 libssl-dev \
 libffi-dev \
-rsync \
 git \
-wget \
-puppet \
 build-essential \
 python-dev \
 python-pip \
 --no-install-recommends
 
-
-# Allow root SSH access with 'storperf' as the password
-
-RUN echo 'root:storperf' | chpasswd
-RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
-
-# SSH login fix. Otherwise user is kicked off after login
-RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
-
-ENV NOTVISIBLE "in users profile"
-RUN echo "export VISIBLE=now" >> /etc/profile
-RUN mkdir -p /var/run/sshd
-
-RUN mkdir -p ${repos_dir}
 RUN mkdir -p /root/.ssh
 RUN chmod 700 /root/.ssh
 
-# Graphite installation
-RUN echo 'deb http://us.archive.ubuntu.com/ubuntu/ trusty universe' >> /etc/apt/sources.list
-RUN apt-get -y update
-
 # Install required packages
+
 RUN apt-get -y install python-ldap python-cairo python-django python-twisted python-django-tagging python-simplejson python-memcache python-pysqlite2 python-support python-tz python-pip gunicorn supervisor nginx-light
 RUN pip install whisper==0.9.15
 RUN pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/lib" carbon==0.9.15
 RUN pip install --install-option="--prefix=/var/lib/graphite" --install-option="--install-lib=/var/lib/graphite/webapp" graphite-web==0.9.15
 
-# Add system service config
-ADD graphite/nginx.conf /etc/nginx/nginx.conf
-
 # Add graphite config
+
+ADD graphite/nginx.conf /etc/nginx/nginx.conf
 ADD graphite/initial_data.json /var/lib/graphite/webapp/graphite/initial_data.json
 ADD graphite/local_settings.py /var/lib/graphite/webapp/graphite/local_settings.py
 ADD graphite/carbon.conf /var/lib/graphite/conf/carbon.conf
@@ -91,27 +68,27 @@ RUN chmod 0775 /var/lib/graphite/storage /var/lib/graphite/storage/whisper
 RUN chmod 0664 /var/lib/graphite/storage/graphite.db
 RUN cd /var/lib/graphite/webapp/graphite && python manage.py syncdb --noinput
 
+
 # Git configuration
 
 RUN git config --global http.sslVerify false
-RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/storperf ${repos_dir}/storperf
 RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng ${repos_dir}/releng
 
+
 # Third party git fetches
 
 RUN git clone http://git.kernel.dk/fio.git ${repos_dir}/fio
 RUN cd ${repos_dir}/fio && git checkout tags/fio-2.2.10
-RUN cd ${repos_dir}/fio && make install
+#RUN cd ${repos_dir}/fio && make install
 
 
-RUN chmod 600 ${repos_dir}/storperf/storperf/resources/ssh/storperf_rsa
+# Install StorPerf
 
+COPY storperf-master ${repos_dir}/storperf
+RUN chmod 600 ${repos_dir}/storperf/storperf/resources/ssh/storperf_rsa
 RUN pip install --upgrade setuptools==33.1.1
-RUN pip install -r ${repos_dir}/storperf/docker/requirements.pip
-
-
-# Open access to SSH if desired
-EXPOSE 22
+RUN pip install -r ${repos_dir}/storperf/requirements.pip
+COPY storperf-master/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
 
 # Graphite
 EXPOSE 8000
@@ -119,5 +96,4 @@ EXPOSE 8000
 # ReST API
 EXPOSE 5000
 
-COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
 CMD ["/usr/bin/supervisord"]
similarity index 79%
rename from reporting/docker/Dockerfile
rename to docker/Dockerfile-reporting
index 541845c..ad00019 100644 (file)
@@ -21,14 +21,13 @@ LABEL version="0.1" description="OPNFV Storperf Reporting Container"
 
 ARG BRANCH=master
 
-ENV repos_dir /home/opnfv/repos
-WORKDIR /home/opnfv
-
 RUN apk add --update python py-pip
 
-COPY . /app
-WORKDIR /app
-RUN pip install -r requirements.txt
+COPY storperf-reporting /home/opnfv/storperf-reporting
+WORKDIR /home/opnfv/storperf-reporting
+
+RUN pip install -r /home/opnfv/storperf-reporting/requirements.txt
 ENTRYPOINT ["python"]
-CMD ["./src/app.py"]
+CMD ["/home/opnfv/storperf-reporting/src/app.py"]
+
 EXPOSE 5000
\ No newline at end of file
diff --git a/docker/storperf-httpfrontend/html/index.html b/docker/storperf-httpfrontend/html/index.html
new file mode 100644 (file)
index 0000000..7c772a0
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<title>
+StorPerf Home
+</title>
+<body>
+<h1>StorPerf</h1>
+<ul>
+  <li><a href="/swagger">Interactive API</a></li>
+  <li><a href="/graphite">Graphite</a></li>
+  <li><a href="/reporting">Reporting</a></li>
+</ul>
+</body>
+</html>
\ No newline at end of file
similarity index 71%
rename from docker-compose/nginx.conf
rename to docker/storperf-httpfrontend/nginx.conf
index 6771358..d655aee 100644 (file)
@@ -16,12 +16,17 @@ http {
         listen 5000;
 
         location /api/ {
-            proxy_pass http://storperf:5000;
+            proxy_pass http://storperf-master:5000;
             proxy_set_header Host $host:$proxy_port;
         }
 
         location /graphite/ {
-            proxy_pass http://storperf:8000;
+            proxy_pass http://storperf-master:8000;
+            proxy_set_header Host $host:$proxy_port;
+        }
+
+        location /reporting/ {
+            proxy_pass http://storperf-reporting:5000/;
             proxy_set_header Host $host:$proxy_port;
         }
 
@@ -29,7 +34,7 @@ http {
             if ($containsurl = 0) {
                 return 302 $scheme://$host:$server_port$uri?url=http://$host:$server_port/api/spec.json$args;
             }
-            proxy_pass http://swagger-ui:80/;
+            proxy_pass http://storperf-swaggerui:80/;
         }
     }
 }
similarity index 99%
rename from rest_server.py
rename to docker/storperf-master/rest_server.py
index f2ee815..cc8d834 100644 (file)
@@ -167,7 +167,7 @@ class Job(Resource):
             },
             {
                 "name": "metrics_type",
-                "description": "The metrics_type of metrics to report.  May be "
+                "description": "The metrics_type of metrics to report. May be "
                 "metrics (default), or metadata",
                 "required": False,
                 "metrics_type": "string",
@@ -309,7 +309,7 @@ class Quota(Resource):
         return jsonify({'quota': quota})
 
 
-def setup_logging(default_path='storperf/logging.json',
+def setup_logging(default_path='logging.json',
                   default_level=logging.INFO, env_key='LOG_CFG'):
     """Setup logging configuration
     """
similarity index 78%
rename from docker/supervisord.conf
rename to docker/storperf-master/supervisord.conf
index 834e23c..9832c49 100644 (file)
@@ -24,17 +24,10 @@ stdout_logfile = /var/log/supervisor/%(program_name)s.log
 stderr_logfile = /var/log/supervisor/%(program_name)s.log
 autorestart = true
 
-[program:sshd]
-user = root
-command = /usr/sbin/sshd -D
-stdout_logfile = /var/log/supervisor/%(program_name)s.log
-stderr_logfile = /var/log/supervisor/%(program_name)s.log
-autorestart = true
-
 [program:storperf-webapp]
 user = root
-directory = /home/opnfv/repos/storperf
-command = /usr/bin/python /home/opnfv/repos/storperf/rest_server.py
+directory = /home/opnfv/repos/storperf/
+command = /usr/bin/python rest_server.py
 stdout_logfile = /var/log/supervisor/%(program_name)s.log
 stderr_logfile = /var/log/supervisor/%(program_name)s.log
 autorestart = true
 from storperf.db.configuration_db import ConfigurationDB
 import os
 import unittest
-import sqlite3
 
 
 class ConfigurationDBTest(unittest.TestCase):
 
     def setUp(self):
-        ConfigurationDB.db_name = "file::memory:?cache=shared"
-        db = sqlite3.connect(ConfigurationDB.db_name)
+        ConfigurationDB.db_name = __name__ + '.db'
+        try:
+            os.remove(ConfigurationDB.db_name)
+        except OSError:
+            pass
         self.config_db = ConfigurationDB()
 
+    def tearDown(self):
+        try:
+            os.remove(ConfigurationDB.db_name)
+        except OSError:
+            pass
+
     def test_create_key(self):
         expected = "ABCDE-12345"
 
similarity index 98%
rename from tests/db_tests/job_db_test.py
rename to docker/storperf-master/tests/db_tests/job_db_test.py
index 9b09a80..25fda1f 100644 (file)
@@ -20,7 +20,6 @@ from storperf.workloads.rr import rr
 class JobDBTest(unittest.TestCase):
 
     def setUp(self):
-
         JobDB.db_name = __name__ + '.db'
         try:
             os.remove(JobDB.db_name)
@@ -28,6 +27,12 @@ class JobDBTest(unittest.TestCase):
             pass
         self.job = JobDB()
 
+    def tearDown(self):
+        try:
+            os.remove(JobDB.db_name)
+        except OSError:
+            pass
+
     @mock.patch("uuid.uuid4")
     def test_create_job(self, mock_uuid):
         expected = "ABCDE-12345"
similarity index 88%
rename from tests/storperf_master_test.py
rename to docker/storperf-master/tests/storperf_master_test.py
index c67e3c4..e824a5f 100644 (file)
@@ -7,19 +7,29 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
+import os
+import unittest
+
 from storperf.db.configuration_db import ConfigurationDB
 from storperf.storperf_master import StorPerfMaster
-import unittest
-import sqlite3
 
 
 class StorPerfMasterTest(unittest.TestCase):
 
     def setUp(self):
-        ConfigurationDB.db_name = "file::memory:?cache=shared"
-        db = sqlite3.connect(ConfigurationDB.db_name)
+        ConfigurationDB.db_name = __name__ + '.db'
+        try:
+            os.remove(ConfigurationDB.db_name)
+        except OSError:
+            pass
         self.storperf = StorPerfMaster()
 
+    def tearDown(self):
+        try:
+            os.remove(ConfigurationDB.db_name)
+        except OSError:
+            pass
+
     def test_agent_count(self):
         expected = 10
 
diff --git a/docker/storperf-reporting/src/app.py b/docker/storperf-reporting/src/app.py
new file mode 100644 (file)
index 0000000..1c70faf
--- /dev/null
@@ -0,0 +1,38 @@
+##############################################################################
+# Copyright (c) 2017 Dell EMC 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
+##############################################################################
+
+from flask import Flask, redirect, url_for, request, render_template, session
+import urllib
+import json
+app = Flask(__name__)
+app.secret_key = 'storperf_graphing_module'
+
+
+@app.route('/success/')
+def success():
+    data = urllib.urlopen(session["url"]).read()
+    data = json.loads(data)
+    return render_template('plot_tables.html', data=data)
+
+
+@app.route('/url', methods=['POST', 'GET'])
+def url():
+    if request.method == 'POST':
+        url = request.form['url']
+        session["url"] = url
+        return redirect(url_for('success'))
+
+
+@app.route('/')
+def index():
+    return render_template('index.html')
+
+
+if __name__ == '__main__':
+    app.run(host="0.0.0.0", debug=True, threaded=True)
diff --git a/reporting/docker/app.py b/reporting/docker/app.py
deleted file mode 100644 (file)
index 8f1c058..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-from flask import Flask
-app = Flask(__name__)
-
-@app.route('/')
-def hello_world():
-    return 'Hello World'
-
-if __name__ == '__main__':
-   app.run(debug=True, host='0.0.0.0', threaded=True)
diff --git a/reporting/docker/src/app.py b/reporting/docker/src/app.py
deleted file mode 100644 (file)
index 4f6d17c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-from flask import Flask, redirect, url_for, request, render_template,jsonify, session
-import requests, json
-import urllib, json
-app = Flask(__name__)
-app.secret_key = 'storperf_graphing_module'
-#global url
-
-@app.route('/reporting/success/')
-def success():
-    header = {'x-requested-with': 'XMLHttpRequest'}
-    data = urllib.urlopen(session["url"]).read()
-    data = json.loads(data)
-    return render_template('plot_tables.html', data = data)
-
-@app.route('/reporting/url',methods = ['POST', 'GET'])
-def url():
-    if request.method == 'POST':
-#      global url 
-      url = request.form['url']
-      session["url"] = url
-      return redirect(url_for('success'))
-
-@app.route('/reporting/')
-def index():
-    return render_template('index.html')
-
-if __name__ == '__main__':
-    app.run(host="0.0.0.0", debug = True, threaded=True)
\ No newline at end of file