]> git.proxmox.com Git - ceph.git/blame - ceph/monitoring/ceph-mixin/CMakeLists.txt
import quincy beta 17.1.0
[ceph.git] / ceph / monitoring / ceph-mixin / CMakeLists.txt
CommitLineData
20effc67
TL
1if(WITH_GRAFANA)
2 set(CEPH_GRAFANA_DASHBOARDS_DIR "${CMAKE_INSTALL_SYSCONFDIR}/grafana/dashboards/ceph-dashboard"
3 CACHE PATH "Location for grafana dashboards")
4 file(GLOB CEPH_GRAFANA_DASHBOARDS "dashboards_out/*.json")
5 install(FILES
6 ${CEPH_GRAFANA_DASHBOARDS}
7 DESTINATION ${CEPH_GRAFANA_DASHBOARDS_DIR})
8 if(WITH_TESTS)
9 set(CEPH_BUILD_VIRTUALENV $ENV{TMPDIR})
10 if(NOT CEPH_BUILD_VIRTUALENV)
11 include(AddCephTest)
12 set(CEPH_BUILD_VIRTUALENV ${CMAKE_BINARY_DIR})
13
14 add_test(NAME jsonnet-build
15 COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jsonnet-build.sh ${CMAKE_CURRENT_BINARY_DIR})
16 set_property(TEST jsonnet-build PROPERTY
17 FIXTURES_SETUP jsonnet)
18 add_test(NAME jsonnet-cleanup
19 COMMAND rm -rf go-jsonnet
20 ${CMAKE_CURRENT_BINARY_DIR}/jsonnet
21 ${CMAKE_CURRENT_BINARY_DIR}/jsonnetfmt)
22 set_property(TEST jsonnet-cleanup PROPERTY
23 FIXTURES_CLEANUP jsonnet)
24
25 add_test(NAME jsonnet-bundler-build
26 COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jsonnet-bundler-build.sh ${CMAKE_CURRENT_BINARY_DIR})
27 set_property(TEST jsonnet-bundler-build PROPERTY
28 FIXTURES_SETUP jsonnet-bundler)
29 add_test(NAME jsonnet-bundler-cleanup
30 COMMAND rm -rf jsonnet-bundler ${CMAKE_CURRENT_BINARY_DIR}/jb)
31 set_property(TEST jsonnet-bundler-cleanup PROPERTY
32 FIXTURES_CLEANUP jsonnet-bundler)
33
34 add_tox_test(grafana-lint TOX_ENVS lint)
35 add_tox_test(jsonnet-lint TOX_ENVS jsonnet-lint)
36 set_property(TEST run-tox-jsonnet-lint PROPERTY
37 FIXTURES_REQUIRED venv-for-jsonnet-lint jsonnet)
38 add_tox_test(jsonnet-check TOX_ENVS jsonnet-check)
39 set_property(TEST run-tox-jsonnet-check PROPERTY
40 FIXTURES_REQUIRED venv-for-jsonnet-check jsonnet jsonnet-bundler)
41
42 add_tox_test(alerts-check TOX_ENVS alerts-check)
43 add_tox_test(alerts-lint TOX_ENVS alerts-lint)
44 add_tox_test(promql-query-test TOX_ENVS promql-query-test)
45 endif()
46
47 if(DEFINED PROMTOOL_EXECUTABLE)
48 set(promtool_executable_checked TRUE)
49 endif()
50
51 find_program(PROMTOOL_EXECUTABLE promtool)
52 if(PROMTOOL_EXECUTABLE)
53 execute_process(
54 COMMAND ${PROMTOOL_EXECUTABLE} test rules /dev/null
55 RESULT_VARIABLE rc
56 OUTPUT_QUIET)
57 if(NOT rc)
58 add_ceph_test(run-promtool-unittests
59 ${PROMTOOL_EXECUTABLE} test rules ${CMAKE_SOURCE_DIR}/monitoring/ceph-mixin/tests_alerts/test_alerts.yml)
60 elseif(NOT promtool_executable_checked)
61 message(WARNING "'${PROMTOOL_EXECUTABLE} test rules' does not work, "
62 "please use a newer prometheus")
63 endif()
64 elseif(NOT promtool_executable_checked)
65 message(WARNING "run-promtool-unittests is skipped due to missing promtool")
66 endif()
67 endif()
68endif()