${CMAKE_CURRENT_SOURCE_DIR}/mgr
DESTINATION ${CMAKE_INSTALL_PKGLIBDIR}
REGEX ".*/\\.gitignore" EXCLUDE)
+ add_subdirectory(mgr)
endif(WITH_MGR)
--- /dev/null
+add_subdirectory(dashboard_v2)
--- /dev/null
+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)
--- /dev/null
+#!/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
+
import sys
import unittest
+import pytest
import requests
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
[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]
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/
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
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}
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