]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
test: run promtool test without docker on ubuntu/focal
authorKefu Chai <kchai@redhat.com>
Fri, 19 Mar 2021 02:32:16 +0000 (10:32 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 19 Mar 2021 12:35:51 +0000 (20:35 +0800)
before this change, we use docker for running promtools offered by
a docker image, but this is not efficient, and quite a few developers
do not want to use docker for running "make check". this change was
introduced by #39246, the reason was that, in Ceph's CI process, we
are using Ubuntu/Bionic for running "make check" jobs, but prometheus
packaged by Bionic does not offer the "test rules" command. so, to
address problem, we are using "dnanexus/promtool:2.9.2" docker image
for verifying monitoring/prometheus/alerts/test_alerts.yml.

after this change, we use prometheus packaged by debian derivatives
instead of pulling a docker image.

* debian/control: add prometheus as a "make check" dependency
* install-deps.sh: partially revert
  53a5816deda0874a3a37e131e9bc22d88bb2a588, as we don't need to
  pull docker or start docker service for using promtool anymore.
* cmake: check if promtool is capable of running "test rules"
  command, bail out if it is not.

see also: https://tracker.ceph.com/issues/49653

Signed-off-by: Kefu Chai <kchai@redhat.com>
debian/control
install-deps.sh
src/test/CMakeLists.txt

index 54047dd20420e2f3c0f63239f34acf63f9d36134..562b038877352659bebe4da2ed3de16b31790653 100644 (file)
@@ -79,6 +79,7 @@ Build-Depends: automake,
                parted,
                patch,
                pkg-config,
+# Make-Check   prometheus,
 # Crimson      protobuf-compiler,
                python3-all-dev,
                python3-cherrypy3,
index 624148fd7d3642f9a61bec2ff2fe71b8022495d5..def03ef35ab8080e0cf614480734df497bac4038 100755 (executable)
@@ -296,9 +296,6 @@ else
     case "$ID" in
     debian|ubuntu|devuan|elementary)
         echo "Using apt-get to install dependencies"
-        $SUDO apt install -y docker.io
-        $SUDO systemctl start docker
-        $SUDO systemctl enable docker
         $SUDO apt-get install -y devscripts equivs
         $SUDO apt-get install -y dpkg-dev
         ensure_python3_sphinx_on_ubuntu
@@ -440,7 +437,6 @@ function preload_wheels_for_tox() {
         mv $wip_wheelhouse wheelhouse
         md5sum $require_files $constraint_files > $md5
     fi
-
     popd > /dev/null
 }
 
index 105f530e21bdd7fce88fd1433b576c8583ad0dd0..599747073a17effe63854f3159a49da3233e3bec 100644 (file)
@@ -590,7 +590,23 @@ add_ceph_test(run-cli-tests ${CMAKE_CURRENT_SOURCE_DIR}/run-cli-tests)
 
 add_ceph_test(smoke.sh ${CMAKE_CURRENT_SOURCE_DIR}/smoke.sh)
 
-add_ceph_test(run-promtool-unittests.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-promtool-unittests.sh)
+find_program(PROMTOOL_EXECUTABLE promtool)
+if(PROMTOOL_EXECUTABLE)
+  execute_process(
+    COMMAND ${PROMTOOL_EXECUTABLE} test rules /dev/null
+    RESULT_VARIABLE rc
+    OUTPUT_QUIET)
+  if(NOT rc)
+    add_ceph_test(run-promtool-unittests
+      ${PROMTOOL_EXECUTABLE} test rules ${CMAKE_SOURCE_DIR}/monitoring/prometheus/alerts/test_alerts.yml)
+  else()
+    message(WARNING "'${PROMTOOL_EXECUTABLE} test rules' does not work, "
+      "please use a newer prometheus")
+  endif()
+else()
+  add_ceph_test(run-promtool-unittests
+    {CMAKE_CURRENT_SOURCE_DIR}/run-promtool-unittests.sh)
+endif()
 
 set_property(
   TEST ${tox_tests}