]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard_v2: Integrate dashboard_v2 into `make check`
authorSebastian Wagner <sebastian.wagner@suse.com>
Tue, 27 Feb 2018 14:46:31 +0000 (15:46 +0100)
committerRicardo Dias <rdias@suse.com>
Mon, 5 Mar 2018 13:07:17 +0000 (13:07 +0000)
Also:

* Disabled API tests in tox.
* No longer start a vstart.sh cluster in tox.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
src/pybind/CMakeLists.txt
src/pybind/mgr/CMakeLists.txt [new file with mode: 0644]
src/pybind/mgr/dashboard_v2/CMakeLists.txt [new file with mode: 0644]
src/pybind/mgr/dashboard_v2/run-tox.sh [new file with mode: 0755]
src/pybind/mgr/dashboard_v2/tests/helper.py
src/pybind/mgr/dashboard_v2/tox.ini
src/test/CMakeLists.txt

index 9a37726f9962a6f6f9310fb0148b21436629d766..e7edd86d1b6d229b12af7247c9c3428eca7fd559 100644 (file)
@@ -77,4 +77,5 @@ if(WITH_MGR)
     ${CMAKE_CURRENT_SOURCE_DIR}/mgr
     DESTINATION ${CMAKE_INSTALL_PKGLIBDIR}
     REGEX ".*/\\.gitignore" EXCLUDE)
+  add_subdirectory(mgr)
 endif(WITH_MGR)
diff --git a/src/pybind/mgr/CMakeLists.txt b/src/pybind/mgr/CMakeLists.txt
new file mode 100644 (file)
index 0000000..acd0da4
--- /dev/null
@@ -0,0 +1 @@
+add_subdirectory(dashboard_v2)
diff --git a/src/pybind/mgr/dashboard_v2/CMakeLists.txt b/src/pybind/mgr/dashboard_v2/CMakeLists.txt
new file mode 100644 (file)
index 0000000..695a3a2
--- /dev/null
@@ -0,0 +1,12 @@
+set(MGR_DASHBOARD_V2_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard_v2-virtualenv)
+
+add_custom_target(mgr-dashboard_v2-test-venv
+  COMMAND
+  ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh ${MGR_DASHBOARD_V2_VIRTUALENV} &&
+  ${MGR_DASHBOARD_V2_VIRTUALENV}/bin/pip install --no-index --use-wheel --find-links=file:${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard_v2/wheelhouse -r requirements.txt
+  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard_v2
+  COMMENT "dashboard_v2 tests virtualenv is being created")
+add_dependencies(tests mgr-dashboard_v2-test-venv)
+
+include(Distutils)
+distutils_install_module(mgr_dashboard_v2)
diff --git a/src/pybind/mgr/dashboard_v2/run-tox.sh b/src/pybind/mgr/dashboard_v2/run-tox.sh
new file mode 100755 (executable)
index 0000000..f5784fb
--- /dev/null
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+# run from ./ or from ../
+: ${MGR_DASHBOARD_V2_VIRTUALENV:=/tmp/mgr-dashboard_v2-virtualenv}
+: ${WITH_PYTHON3:=ON}
+test -d dashboard_v2 && cd dashboard_v2
+
+if [ -e tox.ini ]; then
+    TOX_PATH=`readlink -f tox.ini`
+else
+    TOX_PATH=`readlink -f $(dirname $0)/tox.ini`
+fi
+
+if [ -z $CEPH_BUILD_DIR ]; then
+    export CEPH_BUILD_DIR=$(dirname ${TOX_PATH})
+fi
+
+source ${MGR_DASHBOARD_V2_VIRTUALENV}/bin/activate
+
+if [ "$WITH_PYTHON3" = "ON" ]; then
+  ENV_LIST="cov-init,py27,py3,cov-report,lint"
+else
+  ENV_LIST="cov-init,py27,cov-report,lint"
+fi
+
+tox -c ${TOX_PATH} -e $ENV_LIST
+
index 43b7c2a2f12af56ba78e1a011dad33940babff75..9578621b413710d16535a9182700e2af41134564 100644 (file)
@@ -7,6 +7,7 @@ import subprocess
 import sys
 import unittest
 
+import pytest
 import requests
 
 
@@ -23,6 +24,8 @@ class ControllerTestCase(unittest.TestCase):
     DASHBOARD_HOST = os.environ.get('DASHBOARD_V2_HOST', "localhost")
     DASHBOARD_PORT = os.environ.get('DASHBOARD_V2_PORT', 8080)
 
+    pytestmark = pytest.mark.skip
+
     def __init__(self, *args, **kwargs):
         self.dashboard_host = kwargs.pop('dashboard_host') \
             if 'dashboard_host' in kwargs else self.DASHBOARD_HOST
index f30930de049a765d7c848dc792c244386b185b07..743a8a6929e5b8c457f72e1943ea9be1f1652893 100644 (file)
@@ -1,5 +1,5 @@
 [tox]
-envlist = cov-init,ceph-cluster-start,py27,py3,ceph-cluster-stop,cov-report,lint
+envlist = cov-init,py27,py3,cov-report,lint
 skipsdist = true
 
 [testenv]
@@ -11,7 +11,6 @@ setenv=
     PYTHONPATH = {toxinidir}/../../../../build/lib/cython_modules/lib.3:{toxinidir}/../../../../build/lib/cython_modules/lib.2
     LD_LIBRARY_PATH = {toxinidir}/../../../../build/lib
     PATH = {toxinidir}/../../../../build/bin:$PATH
-    DASHBOARD_V2_PORT=9865
 commands=
     {envbindir}/py.test --cov=. --cov-report= --junitxml=junit.{envname}.xml --doctest-modules controllers/rbd.py tests/
 
@@ -22,43 +21,6 @@ deps = coverage
 commands =
     coverage erase
 
-[testenv:ceph-cluster-start]
-deps=coverage
-changedir={toxinidir}/../../../../build
-whitelist_externals=
-    bash
-    cp
-    sleep
-setenv=
-    COVERAGE_ENABLED=true
-    COVERAGE_FILE=.coverage.mgr
-    RGW=1
-commands =
-    bash ../src/vstart.sh -n
-    sleep 10
-    python ./bin/ceph mgr module disable dashboard_v2
-    sleep 5
-    python ./bin/ceph config-key set mgr/dashboard_v2/x/server_port 9865
-    python ./bin/ceph mgr module enable dashboard_v2
-    cp ceph.conf {toxinidir}/
-    sleep 20
-
-[testenv:ceph-cluster-stop]
-deps=
-changedir={toxinidir}/../../../../build
-whitelist_externals=
-    bash
-    rm
-    mv
-    killall
-    sleep
-commands =
-    killall ceph-mgr
-    sleep 5
-    bash ../src/stop.sh
-    rm {toxinidir}/ceph.conf
-    mv {toxinidir}/../../../../build/.coverage.mgr {toxinidir}/
-
 [testenv:cov-report]
 setenv =
     COVERAGE_FILE = .coverage
index fbfdc132eed1db05e9ef9d747fcbb2d6120684a5..52fde5ac04a9f3a23aea744c0e1b37d14c7791c2 100644 (file)
@@ -578,13 +578,20 @@ add_ceph_test(unittest_bufferlist.sh ${CMAKE_SOURCE_DIR}/src/unittest_bufferlist
 
 add_test(NAME run-tox-ceph-disk COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-disk/run-tox.sh)
 add_test(NAME run-tox-ceph-detect-init COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-detect-init/run-tox.sh)
+if(WITH_MGR)
+    add_test(NAME run-tox-mgr-dashboard_v2 COMMAND bash ${CMAKE_SOURCE_DIR}/src/pybind/mgr/dashboard_v2/run-tox.sh)
+endif(WITH_MGR)
 
 set(CEPH_DISK_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv)
 set(CEPH_DETECT_INIT_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv)
+if(WITH_MGR)
+    set(MGR_DASHBOARD_V2_VIRTUALENV ${CEPH_BUILD_VIRTUALENV}/mgr-dashboard_v2-virtualenv)
+endif(WITH_MGR)
 
 set_property(TEST 
   run-tox-ceph-disk
   run-tox-ceph-detect-init
+  run-tox-mgr-dashboard_v2
   PROPERTY ENVIRONMENT
   CEPH_BUILD_DIR=${CMAKE_BINARY_DIR}
   CEPH_ROOT=${CMAKE_SOURCE_DIR}
@@ -593,9 +600,11 @@ set_property(TEST
   CEPH_BUILD_VIRTUALENV=${CEPH_BUILD_VIRTUALENV}
   CEPH_DISK_VIRTUALENV=${CEPH_DISK_VIRTUALENV}
   CEPH_DETECT_INIT_VIRTUALENV=${CEPH_DETECT_INIT_VIRTUALENV}
+  MGR_DASHBOARD_V2_VIRTUALENV=${MGR_DASHBOARD_V2_VIRTUALENV}
   LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib
   PATH=$ENV{PATH}:${CMAKE_RUNTIME_OUTPUT_DIRECTORY}:${CMAKE_SOURCE_DIR}/src
   PYTHONPATH=${CMAKE_SOURCE_DIR}/src/pybind
+  WITH_PYTHON3=${WITH_PYTHON3}
   )
 
 # unittest_admin_socket