blob: a8b6a4f5a2fc76e83d5623f0060bb73cb0dfe504 [file] [log] [blame]
#!/bin/bash
##############################################################################
#
# Copyright (c) 2019 AT&T Intellectual Property.
#
# 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.
#
##############################################################################
# Installs well-known RIC charts then verifies specified helm chart
# Requires chart tgz archives in /tmp
while [ -n "$1" ]; do # while loop starts
case "$1" in
-d) DOCKER_REGISTRY=$2
shift
;;
-p) IMAGE_DIRECTORY_PATH=$2
shift
;;
*) echo "Option $1 not recognized. Please specify the docker registry path with the -d option and specify the directory path of the images with the -p option."
;; # In case you typed a different option other than -d or -p
esac
shift
done
if [ -z $DOCKER_REGISTRY ]; then
echo "Please specify the docker registry path with the -d option."
exit 1
fi
if [ -z $IMAGE_DIRECTORY_PATH ]; then
echo "Please specify the directory path of the images with the -p option."
exit 1
fi
for image in $IMAGE_DIRECTORY_PATH/*; do
OUTPUT=$(docker load -i $image)
IMAGE_PATH_ORIGINAL=$(echo $OUTPUT | grep image: | awk '{print $3}' )
IMAGENAME=$(echo $IMAGE_PATH_ORIGINAL | awk '{ n=split($0, a, "/"); print a[n] }')
echo "************************************************************"
echo "Loading image $IMAGENAME"
docker tag $IMAGE_PATH_ORIGINAL $DOCKER_REGISTRY/$IMAGENAME
RESULT=$(docker push $DOCKER_REGISTRY/$IMAGENAME 2>&1)
LOGIN_ERROR=$(echo $RESULT |& grep "no basic auth credentials" )
if [ ! -z "$LOGIN_ERROR" ]; then
echo "You are not logined to $DOCKER_REGISTRY. Please login by running \"docker login $DOCKER_REGISTRY\""
exit 1
fi
ACCESS_ERROR=$(echo $RESULT |& grep "denied: requested access to the resource is denied" )
if [ ! -z "$ACCESS_ERROR" ]; then
echo "Failed to push image to docker registry: <$DOCKER_REGISTRY>. Please check if it is a typo."
exit 1
fi
done