From: Sebastian Wagner Date: Tue, 27 Feb 2018 14:46:31 +0000 (+0100) Subject: mgr/dashboard_v2: Integrate dashboard_v2 into `make check` X-Git-Tag: v13.0.2~84^2~7 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=d7ead639dcd606fcf1b245061cccb8e655d5274e;p=ceph.git mgr/dashboard_v2: Integrate dashboard_v2 into `make check` Also: * Disabled API tests in tox. * No longer start a vstart.sh cluster in tox. Signed-off-by: Sebastian Wagner --- diff --git a/src/pybind/CMakeLists.txt b/src/pybind/CMakeLists.txt index 9a37726f9962a..e7edd86d1b6d2 100644 --- a/src/pybind/CMakeLists.txt +++ b/src/pybind/CMakeLists.txt @@ -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 index 0000000000000..acd0da46c18a2 --- /dev/null +++ b/src/pybind/mgr/CMakeLists.txt @@ -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 index 0000000000000..695a3a26725f1 --- /dev/null +++ b/src/pybind/mgr/dashboard_v2/CMakeLists.txt @@ -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 index 0000000000000..f5784fbba475a --- /dev/null +++ b/src/pybind/mgr/dashboard_v2/run-tox.sh @@ -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 + diff --git a/src/pybind/mgr/dashboard_v2/tests/helper.py b/src/pybind/mgr/dashboard_v2/tests/helper.py index 43b7c2a2f12af..9578621b41371 100644 --- a/src/pybind/mgr/dashboard_v2/tests/helper.py +++ b/src/pybind/mgr/dashboard_v2/tests/helper.py @@ -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 diff --git a/src/pybind/mgr/dashboard_v2/tox.ini b/src/pybind/mgr/dashboard_v2/tox.ini index f30930de049a7..743a8a6929e5b 100644 --- a/src/pybind/mgr/dashboard_v2/tox.ini +++ b/src/pybind/mgr/dashboard_v2/tox.ini @@ -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 diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index fbfdc132eed1d..52fde5ac04a9f 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -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