diff options
author | Piotr Perzanowski <p.perzanowsk@samsung.com> | 2018-12-18 16:33:00 +0100 |
---|---|---|
committer | Piotr Perzanowski <p.perzanowsk@samsung.com> | 2018-12-18 16:33:00 +0100 |
commit | 046196fceca59b10d82622c24bb249e23cdb3069 (patch) | |
tree | 2a49f9fb29521ec627309b8c15300d8de1260749 | |
parent | bea9c3c3dde65e06e2a5dbc0f98a729cb45d6632 (diff) |
Uploading the script for loading images.
This script will push docker images to nexus.
Change-Id: I688a87b98acb919d13bf96fc32d7fd7c958eabb4
Issue-ID: OOM-1551
Signed-off-by: Piotr Perzanowski <p.perzanowsk@samsung.com>
-rw-r--r-- | bash/tools/creating_data/load-docker-images.sh | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/bash/tools/creating_data/load-docker-images.sh b/bash/tools/creating_data/load-docker-images.sh new file mode 100644 index 00000000..e97fc6b9 --- /dev/null +++ b/bash/tools/creating_data/load-docker-images.sh @@ -0,0 +1,64 @@ +#! /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 |