From cf0f786bfb9fa4670131ce2cab7a24d81bf96a20 Mon Sep 17 00:00:00 2001 From: gsmith-sas <65406958+gsmith-sas@users.noreply.github.com> Date: Thu, 14 Dec 2023 18:02:12 -0500 Subject: [PATCH] Now with exit codes --- bin/common.sh | 41 ++++++++++++++++++-------------- bin/test-fb-image2.sh | 33 ++++++++++++++++++------- logging/bin/deploy_esexporter.sh | 7 +++--- 3 files changed, 51 insertions(+), 30 deletions(-) diff --git a/bin/common.sh b/bin/common.sh index 6b09833f..79673c8e 100644 --- a/bin/common.sh +++ b/bin/common.sh @@ -254,20 +254,20 @@ export -f errexit_msg export -f disable_sa_token_automount export -f enable_pod_token_automount - function parseFullImage { fullImage="$1" unset REGISTRY REPOS IMAGE VERSION if [[ "$1" =~ (.*)\/(.*)\/(.*)\:(.*) ]]; then - echo "DEBUG: ${BASH_REMATCH[0]}" REGISTRY="${BASH_REMATCH[1]}" REPOS="${BASH_REMATCH[2]}" IMAGE="${BASH_REMATCH[3]}" VERSION="${BASH_REMATCH[4]}" + return 0 else - echo "no match" + log_warn "Invalid value for full container image; does not fit expected pattern [$1]." + return 1 fi } @@ -285,35 +285,40 @@ function doitall { #arg1 Full container image #arg2 name of template file - #arg3 prefix to insert in placeholders + #arg3 prefix to insert in placeholders (optional) + + if ! parseFullImage "$1"; then + log_error "Unable to parse full image [$1]" + return 1 + fi - parseFullImage "$1" prefix=${3:-""} - tempfile="/tmp/container_image.yaml" + imageKeysFile="$TMP_DIR/imageKeysFile.yaml" template_file=$2 if [ "$template_file" != "TEMPFILE" ]; then - rm -f $tempfile - cp $template_file $tempfile + rm -f $imageKeysFile + cp $template_file $imageKeysFile else - echo "DEBUG: modifying existing file" + log_debug "Modifying an existing imageKeysFile" fi if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then REGISTRY="$AIRGAP_REGISTRY" fi - v4m_replace "__${prefix}IMAGE_REGISTRY__" "$REGISTRY" "$tempfile" - v4m_replace "__${prefix}GLOBAL_REGISTRY__" "$REGISTRY" "$tempfile" - v4m_replace "__${prefix}IMAGE_REPO__" "$REGISTRY\/$REPOS\/$IMAGE" "$tempfile" - v4m_replace "__${prefix}IMAGE__" "$IMAGE" "$tempfile" - v4m_replace "__${prefix}IMAGE_TAG__" "$VERSION" "$tempfile" - v4m_replace "__${prefix}IMAGE_PULL_POLICY__" "Always" "$tempfile" - v4m_replace "__${prefix}IMAGE_PULL_SECRET__" "null" "$tempfile" #Handle Single Image Pull Secret - v4m_replace "__${prefix}IMAGE_PULL_SECRETS__" "[]" "$tempfile" #Handle Multiple Image Pull Secrets -} + v4m_replace "__${prefix}IMAGE_REGISTRY__" "$REGISTRY" "$imageKeysFile" + v4m_replace "__${prefix}GLOBAL_REGISTRY__" "$REGISTRY" "$imageKeysFile" + v4m_replace "__${prefix}IMAGE_REPO__" "$REGISTRY\/$REPOS\/$IMAGE" "$imageKeysFile" + v4m_replace "__${prefix}IMAGE__" "$IMAGE" "$imageKeysFile" + v4m_replace "__${prefix}IMAGE_TAG__" "$VERSION" "$imageKeysFile" + v4m_replace "__${prefix}IMAGE_PULL_POLICY__" "Always" "$imageKeysFile" + v4m_replace "__${prefix}IMAGE_PULL_SECRET__" "null" "$imageKeysFile" #Handle Single Image Pull Secret + v4m_replace "__${prefix}IMAGE_PULL_SECRETS__" "[]" "$imageKeysFile" #Handle Multiple Image Pull Secrets + return 0 +} export -f parseFullImage diff --git a/bin/test-fb-image2.sh b/bin/test-fb-image2.sh index 8ce9f79c..187548ce 100755 --- a/bin/test-fb-image2.sh +++ b/bin/test-fb-image2.sh @@ -5,14 +5,16 @@ function parseFullImage { unset REGISTRY REPOS IMAGE VERSION if [[ "$1" =~ (.*)\/(.*)\/(.*)\:(.*) ]]; then - echo "DEBUG: ${BASH_REMATCH[0]}" + ###echo "DEBUG: ${BASH_REMATCH[0]}" REGISTRY="${BASH_REMATCH[1]}" REPOS="${BASH_REMATCH[2]}" IMAGE="${BASH_REMATCH[3]}" VERSION="${BASH_REMATCH[4]}" + return 0 else - echo "no match" + ###echo "no match" + return 1 fi } @@ -35,7 +37,11 @@ function doitall { #arg2 name of template file #arg3 prefix to insert in placeholders - parseFullImage "$1" + if ! parseFullImage "$1"; then + echo "ERROR: unable to parse full image [$1]" + return 1 + fi + prefix=${3:-""} tempfile="/tmp/container_image.yaml" @@ -51,6 +57,7 @@ function doitall { if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then REGISTRY="$AIRGAP_REGISTRY" fi + v4m_replace "__${prefix}IMAGE_REGISTRY__" "$REGISTRY" "$tempfile" v4m_replace "__${prefix}GLOBAL_REGISTRY__" "$REGISTRY" "$tempfile" v4m_replace "__${prefix}IMAGE_REPO__" "$REGISTRY\/$REPOS\/$IMAGE" "$tempfile" @@ -60,6 +67,7 @@ function doitall { v4m_replace "__${prefix}IMAGE_PULL_SECRET__" "null" "$tempfile" #Handle Single Image Pull Secret v4m_replace "__${prefix}IMAGE_PULL_SECRETS__" "[]" "$tempfile" #Handle Multiple Image Pull Secrets + return 0 } @@ -80,14 +88,23 @@ echo "*****************" TEMPFILE="/tmp/container_image.yaml" ###FB_FULL_IMAGE="cr.fluentbit.io/fluent/fluent-bit:2.1.10" -doitall "$FB_FULL_IMAGE" "logging/fb/container_image.template" -cat $TEMPFILE +if doitall "$FB_FULL_IMAGE" "logging/fb/container_image.template"; then + cat $TEMPFILE +else + echo "ERROR" +fi ###OS_FULL_IMAGE="docker.io/opensearchproject/opensearch:2.10.0" ###OS_SYSCTL_FULL_IMAGE="docker.io/library/busybox:latest" -doitall "$OS_FULL_IMAGE" "logging/opensearch/os_container_image.template" -doitall "$OS_SYSCTL_FULL_IMAGE" "TEMPFILE" "OS_SYSCTL_" -cat $TEMPFILE +if doitall "$OS_FULL_IMAGE" "logging/opensearch/os_container_image.template"; then + if doitall "$OS_SYSCTL_FULL_IMAGE" "TEMPFILE" "OS_SYSCTL_"; then + cat $TEMPFILE + else echo "ERROR: Failed on [OS_SYSCT]" + fi +else + echo "ERROR: Failed on [OS]" +fi +exit ###OSD_FULL_IMAGE="docker.io/opensearchproject/opensearch-dashboards:2.10.0" doitall "$OSD_FULL_IMAGE" "logging/opensearch/osd_container_image.template" diff --git a/logging/bin/deploy_esexporter.sh b/logging/bin/deploy_esexporter.sh index f237d4c3..cc9b7a46 100755 --- a/logging/bin/deploy_esexporter.sh +++ b/logging/bin/deploy_esexporter.sh @@ -79,11 +79,10 @@ if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then fi ######## -echo "DDDDDDD" +echo "DDDDDDD" #DEBUGGING-REMOVE doitall "$ES_EXPORTER_FULL_IMAGE" "logging/esexporter/es-exporter_container_image.template" -imageKeysFile="/tmp/container_image.yaml" -cat "$imageKeysFile" -echo "DDDDDDD" +cat "$imageKeysFile" #DEBUGGING-REMOVE +echo "DDDDDDD" #DEBUGGING-REMOVE