Repository: nifi-minifi Updated Branches: refs/heads/master 677b08f00 -> 632adb9a3
MINIFI-416 Adjusting Docker based integration tests to run with the conversion of images to use the Alpine based base image. Signed-off-by: Joe Percivall <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/632adb9a Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/632adb9a Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/632adb9a Branch: refs/heads/master Commit: 632adb9a3de6d60bbd1cc9a0eb131a88258fa51d Parents: 677b08f Author: Aldrin Piri <[email protected]> Authored: Wed Dec 13 23:38:31 2017 -0500 Committer: Joe Percivall <[email protected]> Committed: Thu Dec 14 19:29:30 2017 -0500 ---------------------------------------------------------------------- .../minifi-c2-docker/dockerhub/DockerBuild.sh | 2 +- .../minifi-c2-docker/dockerhub/DockerRun.sh | 2 +- minifi-c2/minifi-c2-integration-tests/pom.xml | 2 +- minifi-docker/dockerhub/DockerBuild.sh | 2 +- minifi-docker/dockerhub/DockerRun.sh | 2 +- minifi-integration-tests/pom.xml | 4 ++- .../c2/HierarchicalC2IntegrationTest.java | 6 ++-- .../nifi/minifi/integration/util/LogUtil.java | 1 + .../src/test/resources/Dockerfile.minifi.test | 26 ++++++++++++++++ .../src/test/resources/Dockerfile.minific2.test | 25 ++++++++++++++++ .../docker-compose-c2-hierarchical.yml | 31 +++++++++++++++----- .../resources/docker-compose-v1-standalone.yml | 7 +++-- 12 files changed, 91 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh ---------------------------------------------------------------------- diff --git a/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh b/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh index 0ce7783..7a64a3d 100755 --- a/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh +++ b/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -#!/bin/bash +#!/bin/sh DOCKER_UID=1000 if [ -n "$1" ]; then http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh ---------------------------------------------------------------------- diff --git a/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh b/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh index 9436848..a491927 100755 --- a/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh +++ b/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -#!/bin/bash +#!/bin/sh DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)" echo "Running Docker Image: $DOCKER_IMAGE" docker run -it -d $DOCKER_IMAGE http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-c2/minifi-c2-integration-tests/pom.xml ---------------------------------------------------------------------- diff --git a/minifi-c2/minifi-c2-integration-tests/pom.xml b/minifi-c2/minifi-c2-integration-tests/pom.xml index 79ff8bf..bb9b3f5 100644 --- a/minifi-c2/minifi-c2-integration-tests/pom.xml +++ b/minifi-c2/minifi-c2-integration-tests/pom.xml @@ -56,7 +56,7 @@ limitations under the License. <dependency> <groupId>com.palantir.docker.compose</groupId> <artifactId>docker-compose-rule-junit4</artifactId> - <version>0.31.1</version> + <version>0.33.0</version> <scope>test</scope> </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-docker/dockerhub/DockerBuild.sh ---------------------------------------------------------------------- diff --git a/minifi-docker/dockerhub/DockerBuild.sh b/minifi-docker/dockerhub/DockerBuild.sh index efadfa0..69d0459 100755 --- a/minifi-docker/dockerhub/DockerBuild.sh +++ b/minifi-docker/dockerhub/DockerBuild.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -#!/bin/bash +#!/bin/sh DOCKER_UID=1000 if [ -n "$1" ]; then http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-docker/dockerhub/DockerRun.sh ---------------------------------------------------------------------- diff --git a/minifi-docker/dockerhub/DockerRun.sh b/minifi-docker/dockerhub/DockerRun.sh index 9436848..a491927 100755 --- a/minifi-docker/dockerhub/DockerRun.sh +++ b/minifi-docker/dockerhub/DockerRun.sh @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -#!/bin/bash +#!/bin/sh DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)" echo "Running Docker Image: $DOCKER_IMAGE" docker run -it -d $DOCKER_IMAGE http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/pom.xml ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/pom.xml b/minifi-integration-tests/pom.xml index 3a3be80..7867c29 100644 --- a/minifi-integration-tests/pom.xml +++ b/minifi-integration-tests/pom.xml @@ -40,7 +40,7 @@ limitations under the License. <dependency> <groupId>com.palantir.docker.compose</groupId> <artifactId>docker-compose-rule-junit4</artifactId> - <version>0.31.1</version> + <version>0.33.0</version> <scope>test</scope> </dependency> <dependency> @@ -91,6 +91,7 @@ limitations under the License. <filtering>true</filtering> <includes> <include>docker-compose-*.yml</include> + <include>Dockerfile.*.test</include> </includes> </testResource> <testResource> @@ -98,6 +99,7 @@ limitations under the License. <filtering>false</filtering> <excludes> <exclude>docker-compose-*.yml</exclude> + <exclude>Dockerfile.*.test</exclude> </excludes> </testResource> </testResources> http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/c2/HierarchicalC2IntegrationTest.java ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/c2/HierarchicalC2IntegrationTest.java b/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/c2/HierarchicalC2IntegrationTest.java index 58c936f..876b886 100644 --- a/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/c2/HierarchicalC2IntegrationTest.java +++ b/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/c2/HierarchicalC2IntegrationTest.java @@ -99,7 +99,7 @@ public class HierarchicalC2IntegrationTest { docker.after(); } - @Test(timeout = 120_000) + @Test(timeout = 180_000) public void testMiNiFiEdge1() throws Exception { LogUtil.verifyLogEntries("c2/hierarchical/minifi-edge1/expected.json", docker.containers().container("minifi-edge1")); Path csvToJsonDir = resourceDirectory.resolve("standalone").resolve("v1").resolve("CsvToJson").resolve("yml"); @@ -107,7 +107,7 @@ public class HierarchicalC2IntegrationTest { LogUtil.verifyLogEntries("standalone/v1/CsvToJson/yml/expected.json", docker.containers().container("minifi-edge1")); } - @Test(timeout = 120_000) + @Test(timeout = 180_000) public void testMiNiFiEdge2() throws Exception { LogUtil.verifyLogEntries("c2/hierarchical/minifi-edge2/expected.json", docker.containers().container("minifi-edge2")); Path csvToJsonDir = resourceDirectory.resolve("standalone").resolve("v1").resolve("CsvToJson").resolve("yml"); @@ -115,7 +115,7 @@ public class HierarchicalC2IntegrationTest { LogUtil.verifyLogEntries("standalone/v1/CsvToJson/yml/expected.json", docker.containers().container("minifi-edge2")); } - @Test(timeout = 120_000) + @Test(timeout = 180_000) public void testMiNiFiEdge3() throws Exception { LogUtil.verifyLogEntries("c2/hierarchical/minifi-edge3/expected.json", docker.containers().container("minifi-edge3")); Path csvToJsonDir = resourceDirectory.resolve("standalone").resolve("v1").resolve("CsvToJson").resolve("yml"); http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java b/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java index 3c60ecd..79fa07b 100644 --- a/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java +++ b/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java @@ -45,6 +45,7 @@ public class LogUtil { expectedLogEntries = expected.stream().map(map -> new ExpectedLogEntry(Pattern.compile((String)map.get("pattern")), (int) map.getOrDefault("occurrences", 1))).collect(Collectors.toList()); } DockerPort dockerPort = container.port(8000); + logger.info("Connecting to external port {} for docker internal port of {}", new Object[]{dockerPort.getExternalPort(), dockerPort.getInternalPort()}); URL url = new URL("http://" + dockerPort.getIp() + ":" + dockerPort.getExternalPort()); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); try (InputStream inputStream = urlConnection.getInputStream(); http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test b/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test new file mode 100644 index 0000000..f869f86 --- /dev/null +++ b/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +FROM apacheminifi:${minifi.version} + +USER root + +RUN apk update \ + && apk add python + +USER minifi \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test b/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test new file mode 100644 index 0000000..2a6cbd9 --- /dev/null +++ b/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +FROM apacheminific2:${minifi.version} + +USER root + +RUN apk update \ + && apk add python + +USER c2 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml b/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml index a07aa5d..4d3b3d1 100644 --- a/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml +++ b/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml @@ -17,7 +17,10 @@ version: "2" services: c2-authoritative: - image: apacheminific2:${minifi.c2.version} + build: + context: ./ + dockerfile: Dockerfile.minific2.test + image: apacheminific2-test ports: - "10443" hostname: c2-authoritative @@ -36,7 +39,10 @@ services: - edge1 minifi-edge1: - image: apacheminifi:${minifi.version} + build: + context: ./ + dockerfile: ./Dockerfile.minifi.test + image: apacheminifi-test ports: - "8000" volumes: @@ -48,14 +54,17 @@ services: - ./certificates-c2-hierarchical/minifi-edge1/keystore.jks:/opt/minifi/minifi-${minifi.version}/conf/keystore.jks - ./certificates-c2-hierarchical/minifi-edge1/truststore.jks:/opt/minifi/minifi-${minifi.version}/conf/truststore.jks entrypoint: - - bash + - sh - -c - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log networks: - edge1 c2-edge2: - image: apacheminific2:${minifi.c2.version} + build: + context: ./ + dockerfile: Dockerfile.minific2.test + image: apacheminific2-test ports: - "10080" hostname: c2-edge2 @@ -70,7 +79,10 @@ services: - edge2 minifi-edge2: - image: apacheminifi:${minifi.version} + build: + context: ./ + dockerfile: Dockerfile.minifi.test + image: apacheminifi-test ports: - "8000" volumes: @@ -79,7 +91,7 @@ services: - ./c2/hierarchical/minifi-edge2/bootstrap.conf:/opt/minifi/minifi-${minifi.version}/conf/bootstrap.conf - ./logback.xml:/opt/minifi/minifi-${minifi.version}/conf/logback.xml entrypoint: - - bash + - sh - -c - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log networks: @@ -97,7 +109,10 @@ services: - edge3 minifi-edge3: - image: apacheminifi:${minifi.version} + build: + context: ./ + dockerfile: Dockerfile.minifi.test + image: apacheminifi-test ports: - "8000" volumes: @@ -109,7 +124,7 @@ services: - ./certificates-c2-hierarchical/minifi-edge3/keystore.jks:/opt/minifi/minifi-${minifi.version}/conf/keystore.jks - ./certificates-c2-hierarchical/minifi-edge3/truststore.jks:/opt/minifi/minifi-${minifi.version}/conf/truststore.jks entrypoint: - - bash + - sh - -c - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log networks: http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/632adb9a/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml ---------------------------------------------------------------------- diff --git a/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml b/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml index 1cd18ae..4ede7d9 100644 --- a/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml +++ b/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml @@ -17,7 +17,10 @@ version: "2" services: minifi: - image: apacheminifi:${minifi.version} + build: + context: ./ + dockerfile: Dockerfile.minifi.test + image: apacheminifi-test ports: - "8000" hostname: minifi @@ -28,6 +31,6 @@ services: - ./logback.xml:/opt/minifi/minifi-${minifi.version}/conf/logback.xml - REPLACED_WITH_CONFIG_FILE:/opt/minifi/minifi-${minifi.version}/conf/config.yml entrypoint: - - bash + - sh - -c - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log \ No newline at end of file
