diff options
author | Jakub Latusek <j.latusek@samsung.com> | 2020-10-30 10:32:01 +0100 |
---|---|---|
committer | Sylvain Desbureaux <sylvain.desbureaux@orange.com> | 2020-11-03 08:08:24 +0000 |
commit | 4b4412c19f79fffe70c834966556e50ab46f927e (patch) | |
tree | 9dbf24d7e983c01cd9c31153a4a25a51735f0334 /kubernetes/contrib | |
parent | ddb27d65a3b36dd34cd9b9972d030e0dd3bec009 (diff) |
Improve anti-staging checker.
Checking if images are in release repository.
Signed-off-by: Jakub Latusek <j.latusek@samsung.com>
Issue-ID: OOM-2616
Change-Id: Ibb4f7e51fb3a1afcebaecd04ca3e1a4bf62dd467
Diffstat (limited to 'kubernetes/contrib')
-rwxr-xr-x | kubernetes/contrib/tools/check-for-staging-images.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/kubernetes/contrib/tools/check-for-staging-images.sh b/kubernetes/contrib/tools/check-for-staging-images.sh new file mode 100755 index 0000000000..ce51b30b58 --- /dev/null +++ b/kubernetes/contrib/tools/check-for-staging-images.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# Copyright © 2020 Samsung Electronics +# +# Licensed 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. + +BASE_URL="https://nexus3.onap.org/repository/docker.release" + +if [ "$GERRIT_BRANCH" == "staging" ]; then + exit 0 +fi + +USED_IMAGES=$(grep -r -E -o -h ':\s*onap/.*:.*' | sed -e 's/^: //' -e 's/^ //' | sort | uniq) +REPO_IMAGES=$(curl -s $BASE_URL/v2/_catalog | jq -r '.repositories[]') +NOT_AVAILABLE_IMAGES=$(echo "$USED_IMAGES" | grep -vE "$(echo "$REPO_IMAGES" | tr "\n" "|" | sed 's/|$//')") +USED_IMAGES=$(echo "$USED_IMAGES" | grep -E "$(echo "$REPO_IMAGES" | tr "\n" "|" | sed 's/|$//')") +for i in $USED_IMAGES; do + TMP_IMG=$(echo "$i" | cut -d ":" -f1) + TMP_TAG=$(echo "$i" | cut -d ":" -f2) + if [ "$LAST_IMG" != "$TMP_IMG" ]; then + AVAILABLE_TAGS=$(curl -s $BASE_URL/v2/$TMP_IMG/tags/list | jq -r '.tags[]') + fi + if ! echo "$AVAILABLE_TAGS" | grep "$TMP_TAG" > /dev/null; then + NOT_AVAILABLE_IMAGES="$NOT_AVAILABLE_IMAGES\n$i" + fi + LAST_IMG="$TMP_IMG" + printf "." +done +printf "\n" +if [ -n "$NOT_AVAILABLE_IMAGES" ]; then + echo "[ERROR] Only release images are allowed in helm charts." + echo "[ERROR] Images not found in release repo:" + echo -e "$NOT_AVAILABLE_IMAGES" + exit 1 +fi +exit 0
\ No newline at end of file |