#! /usr/bin/env bash # COPYRIGHT NOTICE STARTS HERE # # Copyright 2018 © Samsung Electronics Co., Ltd. # # 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. # # COPYRIGHT NOTICE ENDS HERE # boilerplate RELATIVE_PATH=../ # relative path from this script to 'common-functions.sh' if [ "$IS_COMMON_FUNCTIONS_SOURCED" != YES ] ; then SCRIPT_DIR=$(dirname "${0}") LOCAL_PATH=$(readlink -f "$SCRIPT_DIR") . "${LOCAL_PATH}"/"${RELATIVE_PATH}"/common-functions.sh fi CLEAN=false if [ -z "$NEXUS_HOST" ]; then echo "Independent run for inserting of additional docker images" CLEAN=true mv ~/.docker/config.json ~/.docker/config.json_backup 2>/dev/null source "$LOCAL_PATH/docker-login.sh" fi IMG_DIR="$1" if [[ -z "$IMG_DIR" ]]; then IMG_DIR="$(pwd)/images" fi if [[ ! -d "${IMG_DIR}" ]]; then echo "No ${IMG_DIR} to load images" exit 0 fi load_image() { local image="$1" echo "[DEBUG] load ${image}" result=$(docker load -i "${image}") echo $result name=$(echo $result | awk '{print $3}') echo "[DEBUG] pushing $name" retry docker push "$name" # delete pushed image from docker retry docker rmi "$name" } IMAGES=$(find ${IMG_DIR} -name "*.tar" -type f) lines=$(echo ${IMAGES} | wc -l) line=1 for image in ${IMAGES}; do echo "== pkg #$line of $lines ==" load_image "$image" line=$((line+1)) done if [ "$CLEAN" = true ]; then # onap is using different credentials for docker login which can be conflicted # with ours so better to clean this-up rm ~/.docker/config.json fi