Module: check_mk
Branch: master
Commit: 8d3656242b048697ef318a433e7c9c6fe200d9bd
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8d3656242b0486…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Sep 12 19:49:05 2018 +0200
Minor fixes for recent docker stuff
Change-Id: I4486f5b6bc0c6160db0af682b57806ab3c5b479d
---
docker/Makefile | 18 ++++++++++--------
tests/Makefile | 1 +
tests/docker/test_docker.py | 8 ++++++++
3 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/docker/Makefile b/docker/Makefile
index 2817f89..39df048 100644
--- a/docker/Makefile
+++ b/docker/Makefile
@@ -32,12 +32,12 @@ SHELL := /bin/bash -e -o pipefail
.PHONY: help setup setversion image image-daily clean test-lint-dockerfile
test-lint-entrypoint
help:
- @echo "make setup - Prepare local (Ubuntu) system for building"
- @echo "make image - Build container image for current edition, branch,
version"
- @echo "make image-daily - Build container image for current edition, branch,
daily"
- @echo "make clean - Cleanup docker images on current docker node"
- @echo "make test-lint - Execute linter tests on docker specific files"
- @echo "make test - Execute docker containerizing tests"
+ @echo "make setup - Prepare local (Ubuntu) system for
building"
+ @echo "make image - Build container image for current edition,
branch, version"
+ @echo "make image-daily - Build container image for current edition,
branch, daily"
+ @echo "make clean - Cleanup docker images on current docker
node"
+ @echo "make test-lint-dockerfile - Execute linter tests on docker specific
files"
+ @echo "make test-lint-entrypoint - Execute linter tests on docker entrypoint
script"
setup:
sudo apt-get install docker-ce
@@ -86,5 +86,7 @@ test-lint-entrypoint:
shellcheck $(SHELLCHECK_OUTPUT_ARGS) docker-entrypoint.sh
clean:
- -docker rmi $(DOCKER_REPO_NAME)/check-mk-enterprise:latest
- -docker rmi $(DOCKER_REPO_NAME)/check-mk-enterprise:1.5.0p2
+ -docker rmi $(DOCKER_REPO_NAME)/check-mk-enterprise:latest || true
+ -docker rmi $(DOCKER_REPO_NAME)/check-mk-enterprise:1.5.0p2 || true
+ [ -e needed-packages ] && rm needed-packages || true
+ ls check-mk-*-docker-*.tar.gz >/dev/null 2>&1 && rm
check-mk-*-docker-*.tar.gz || true
diff --git a/tests/Makefile b/tests/Makefile
index 268bc33..d42dcaa 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -16,6 +16,7 @@ help:
@echo "test-packaging - Run packaging tests"
@echo "test-bandit - Run bandit (security) tests"
@echo "test-shellcheck - Run shellcheck tests"
+ @echo "test-docker - Run docker tests"
# This target needs to be phony so it is run every time because only the other
# makefile can determine that there's nothing to be done.
diff --git a/tests/docker/test_docker.py b/tests/docker/test_docker.py
index f2a8ae7..b2ec081 100644
--- a/tests/docker/test_docker.py
+++ b/tests/docker/test_docker.py
@@ -28,6 +28,7 @@ import pytest
import docker
import os
import time
+import subprocess
import testlib
@@ -50,7 +51,14 @@ def _image_name(edition, version):
return "docker-tests/check-mk-%s-%s-%s" % (edition, branch_name,
version.version)
+def _prepare_build():
+ assert subprocess.Popen(["make", "needed-packages"],
+ stdout=open(os.devnull, "w"),
cwd=build_path).wait() == 0
+
+
def _build(request, client, edition, version, add_args=None):
+ _prepare_build()
+
image, build_logs = client.images.build(path=build_path, tag=_image_name(edition,
version), buildargs={
"CMK_VERSION": version.version,
"CMK_EDITION": edition,