diff options
author | Andrej Marolt | 2016-08-12 20:47:11 +0200 |
---|---|---|
committer | Andrej Marolt | 2016-08-12 20:47:11 +0200 |
commit | 4f3d66fc2d19549ff50e2df4ae176b2aa5d5fe12 (patch) | |
tree | 18751aaf749b8b70786f7722cfa162e62690d63c | |
parent | 353143541b219570e5bea06de258f691a4eae9ee (diff) | |
download | aur-4f3d66fc2d19549ff50e2df4ae176b2aa5d5fe12.tar.gz |
Delete docker images of specific version.
-rwxr-xr-x | 5.delete.cluster.sh | 55 |
1 files changed, 25 insertions, 30 deletions
diff --git a/5.delete.cluster.sh b/5.delete.cluster.sh index c4a2af0983ff..e6e2d1be5846 100755 --- a/5.delete.cluster.sh +++ b/5.delete.cluster.sh @@ -17,8 +17,19 @@ CONFIG_FILE="$1" # unmount any volumes that may have been mounted from within openshift.local.volumes, thus preventing the next step. # delete the folder containing all configuration, persistent data and temporary volumes shared among the host and the cluster. -_stop_and_delete_containers() -{ +_setup() { + oc login -u system:admin + oc project default + tempfile=$(mktemp) + oc status | grep svc/docker-registry > $tempfile + line=$(oc status | grep svc/docker-registry) + registryAddress=$(sed -e 's/svc\/docker-registry - //g' $tempfile) + echo $registryAddress + rm $tempfile +} + + +_stop_and_delete_containers() { containerRows=$(docker ps -a --format "{{.ID}};{{.Image}}" | grep openshift) mapfile -t containers <<< "$containerRows" if [ -z "$containerRows" ]; then return; fi @@ -31,45 +42,27 @@ _stop_and_delete_containers() } __delete_images() { - imageRows=$1 - mapfile -t images <<< "$imageRows" - if [ -z "$imageRows" ]; then return; fi - for i in "${images[@]}"; do + for i in "$@"; do IFS=';' read -ra image <<< "$i" docker rmi "${image[0]}" - echo "Deleted image ${image[1]}" + echo "Deleted image ${image[1]}:${image[2]}" done } _delete_images() { - oc login -u system:admin - oc project default - tempfile=$(mktemp) - oc status | grep svc/docker-registry > $tempfile - line=$(oc status | grep svc/docker-registry) - registryAddress=$(sed -e 's/svc\/docker-registry - //g' $tempfile) - echo $registryAddress - rm $tempfile - - imageRows=$(docker images --format "{{.ID}};{{.Repository}}" | grep $registryAddress) - __delete_images + imageRows=$(docker images --format "{{.ID}};{{.Repository}};{{.Tag}}" | grep $registryAddress) + __delete_images $imageRows - imageRows=$(docker images --format "{{.ID}};{{.Repository}}" | grep openshift) - __delete_images + imageRows=$(docker images --format "{{.ID}};{{.Repository}};{{.Tag}}" | grep openshift | grep $VERSION) + __delete_images $imageRows } -_unmount_volumes() -{ - pods_path="${ORIGIN_HOME}/openshift.local.volumes/pods" - pods=$(ls $pods_path 2>/dev/null) - if [ -z "$pods" ]; then return; fi - for pod in "${pods[@]}"; do - postfix=$(ls $pods_path/$pod/volumes/kubernetes.io~secret) - mount_point=$pods_path/$pod/volumes/kubernetes.io~secret/$postfix - umount $mount_point - done +_unmount_volumes() { + + umount ${ORIGIN_HOME}/openshift.local.volumes/pods/*/volumes/kubernetes.io~secret/*/ + } main() { @@ -90,6 +83,8 @@ main() { OLD_IFS=$IFS + _setup + _stop_and_delete_containers _delete_images |