You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@yetus.apache.org by se...@apache.org on 2015/12/10 18:01:18 UTC
yetus git commit: YETUS-217. docker fallback mode isn't reliable
Repository: yetus
Updated Branches:
refs/heads/master 76653b4a2 -> f21a7c015
YETUS-217. docker fallback mode isn't reliable
Signed-off-by: Kengo Seki <se...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/yetus/repo
Commit: http://git-wip-us.apache.org/repos/asf/yetus/commit/f21a7c01
Tree: http://git-wip-us.apache.org/repos/asf/yetus/tree/f21a7c01
Diff: http://git-wip-us.apache.org/repos/asf/yetus/diff/f21a7c01
Branch: refs/heads/master
Commit: f21a7c01572528a85d17278b81fdfde987d3c04e
Parents: 76653b4
Author: Allen Wittenauer <aw...@apache.org>
Authored: Wed Dec 9 20:42:34 2015 -0800
Committer: Kengo Seki <se...@apache.org>
Committed: Fri Dec 11 02:00:16 2015 +0900
----------------------------------------------------------------------
precommit/core.d/docker.sh | 73 ++++++++++++++++++++++++-----------------
precommit/test-patch.sh | 10 ++++++
2 files changed, 52 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/yetus/blob/f21a7c01/precommit/core.d/docker.sh
----------------------------------------------------------------------
diff --git a/precommit/core.d/docker.sh b/precommit/core.d/docker.sh
index 6ef0d1c..0bad245 100755
--- a/precommit/core.d/docker.sh
+++ b/precommit/core.d/docker.sh
@@ -30,6 +30,10 @@ function docker_initialize
add_footer_table "Docker" "${DOCKER_VERSION}"
fi
+ if [[ "${DOCKERSUPPORT}" != true ]]; then
+ return
+ fi
+
# turn DOCKERFAIL into a string composed of numbers
# to ease interpretation: 123, 213, 321, ... whatever
# some of these combos are non-sensical but that's ok.
@@ -40,36 +44,7 @@ function docker_initialize
DOCKERFAIL=${DOCKERFAIL//fail/3}
DOCKERFAIL=${DOCKERFAIL//[[:blank:]]/}
- if [[ "${DOCKERSUPPORT}" != true ]]; then
- return
- fi
-
- if [[ -n "${DOCKERFILE}" ]]; then
- pushd "${STARTINGDIR}" >/dev/null
- if [[ -f ${DOCKERFILE} ]]; then
- DOCKERFILE=$(yetus_abs "${DOCKERFILE}")
- else
- if [[ "${DOCKERFAIL}" =~ ^1 ]]; then
- yetus_error "ERROR: Dockerfile '${DOCKERFILE}' not found, falling back to built-in."
- add_vote_table 0 docker "Dockerfile '${DOCKERFILE}' not found, falling back to built-in."
- DOCKERFILE=${DOCKERFILE_DEFAULT}
- elif [[ "${DOCKERFAIL}" =~ ^2 ]]; then
- yetus_error "ERROR: Dockerfile '${DOCKERFILE}' not found, disabling docker."
- add_vote_table 0 docker "Dockerfile '${DOCKERFILE}' not found, disabling docker."
- DOCKERSUPPORT=false
- else
- yetus_error "ERROR: Dockerfile '${DOCKERFILE}' not found."
- add_vote_table -1 docker "Dockerfile '${DOCKERFILE}' not found."
- bugsystem_finalreport 1
- cleanup_and_exit 1
- fi
- fi
- popd >/dev/null
- else
- DOCKERFILE=${DOCKERFILE_DEFAULT}
- fi
-
- dockerverify
+ docker_exeverify
if [[ $? != 0 ]]; then
if [[ "${DOCKERFAIL}" =~ ^12
|| "${DOCKERFAIL}" =~ ^2 ]]; then
@@ -83,13 +58,49 @@ function docker_initialize
fi
}
+## @description Verify dockerfile exists
+## @audience private
+## @stability evolving
+## @replaceable no
+## @return exits on failure if configured
+function docker_fileverify
+{
+ if [[ ${DOCKERMODE} = false &&
+ ${DOCKERSUPPORT} = true ]]; then
+ if [[ -n "${DOCKERFILE}" ]]; then
+ pushd "${STARTINGDIR}" >/dev/null
+ if [[ -f ${DOCKERFILE} ]]; then
+ DOCKERFILE=$(yetus_abs "${DOCKERFILE}")
+ else
+ if [[ "${DOCKERFAIL}" =~ ^1 ]]; then
+ yetus_error "ERROR: Dockerfile '${DOCKERFILE}' not found, falling back to built-in."
+ add_vote_table 0 docker "Dockerfile '${DOCKERFILE}' not found, falling back to built-in."
+ DOCKERFILE=${DOCKERFILE_DEFAULT}
+ elif [[ "${DOCKERFAIL}" =~ ^2 ]]; then
+ yetus_error "ERROR: Dockerfile '${DOCKERFILE}' not found, disabling docker."
+ add_vote_table 0 docker "Dockerfile '${DOCKERFILE}' not found, disabling docker."
+ DOCKERSUPPORT=false
+ else
+ yetus_error "ERROR: Dockerfile '${DOCKERFILE}' not found."
+ add_vote_table -1 docker "Dockerfile '${DOCKERFILE}' not found."
+ bugsystem_finalreport 1
+ cleanup_and_exit 1
+ fi
+ fi
+ popd >/dev/null
+ else
+ DOCKERFILE=${DOCKERFILE_DEFAULT}
+ fi
+ fi
+}
+
## @description Verify docker exists
## @audience private
## @stability evolving
## @replaceable no
## @return 1 if docker is broken
## @return 0 if docker is working
-function dockerverify
+function docker_exeverify
{
declare pathdocker
http://git-wip-us.apache.org/repos/asf/yetus/blob/f21a7c01/precommit/test-patch.sh
----------------------------------------------------------------------
diff --git a/precommit/test-patch.sh b/precommit/test-patch.sh
index 0733df7..f65f1be 100755
--- a/precommit/test-patch.sh
+++ b/precommit/test-patch.sh
@@ -62,6 +62,7 @@ function setup_defaults
ALLOWSUMMARIES=true
+ DOCKERMODE=false
DOCKERSUPPORT=false
BUILD_NATIVE=${BUILD_NATIVE:-true}
@@ -2524,6 +2525,8 @@ function initialize
# we need to do this BEFORE plugins initalize
# because they may change what they do based upon
# docker support
+ # note that docker support still isn't guaranteed
+ # to be working even after this is executed here!
if declare -f docker_initialize >/dev/null; then
docker_initialize
fi
@@ -2554,6 +2557,13 @@ function initialize
find_changed_files
+ # re-verify that our dockerfile is still there (branch switch, etc)
+ # note that there is still a chance that docker mode will be
+ # disabled from here. Plug-ins should plan appropriately!
+ if declare -f docker_fileverify >/dev/null; then
+ docker_fileverify
+ fi
+
check_reexec
determine_needed_tests