0ba042318f8e6a4c8cddf81cae8f09a229192f2f
[releng.git] / jjb / bottlenecks / bottlenecks-cleanup.sh
1 #!/bin/bash
2 set -e
3 [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
4
5 BOTTLENECKS_IMAGE=opnfv/bottlenecks
6 echo "Bottlenecks: docker containers/images cleaning up"
7
8 dangling_images=($(docker images -f "dangling=true" | grep $BOTTLENECKS_IMAGE | awk '{print $3}'))
9 if [[ -n $dangling_images ]]; then
10     echo "Removing $BOTTLENECKS_IMAGE:<none> dangling images and their containers"
11     docker images | head -1 && docker images | grep $dangling_images
12     for image_id in "${dangling_images[@]}"; do
13         echo "Bottlenecks: Removing dangling image $image_id"
14         docker rmi -f $image_id >${redirect}
15     done
16 fi
17
18 for image_id in "${dangling_images[@]}"; do
19     if [[ -n $(docker ps -a | grep $image_id) ]]; then
20         echo "Bottlenecks: Removing containers associated with dangling image: $image_id"
21         docker ps -a | head -1 && docker ps -a | grep $image_id
22         docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
23     fi
24 done
25
26 if [[ -n $(docker ps -a | grep $BOTTLENECKS_IMAGE) ]]; then
27     echo "Removing existing $BOTTLENECKS_IMAGE containers"
28     docker ps -a | grep $BOTTLENECKS_IMAGE | awk '{print $1}' | xargs docker rm -f >$redirect
29 fi
30
31 if [[ -n $(docker images | grep $BOTTLENECKS_IMAGE) ]]; then
32     echo "Bottlenecks: docker images to remove:"
33     docker images | head -1 && docker images | grep $BOTTLENECKS_IMAGE
34     image_tags=($(docker images | grep $BOTTLENECKS_IMAGE | awk '{print $2}'))
35     for tag in "${image_tags[@]}"; do
36         echo "Removing docker image $BOTTLENECKS_IMAGE:$tag..."
37         docker rmi $BOTTLENECKS_IMAGE:$tag >$redirect
38     done
39 fi
40
41 echo "Yardstick: docker containers/images cleaning up"
42 YARDSTICK_IMAGE=opnfv/yardstick
43
44 dangling_images=($(docker images -f "dangling=true" | grep $YARDSTICK_IMAGE | awk '{print $3}'))
45 if [[ -n $dangling_images ]]; then
46     echo "Removing $YARDSTICK_IMAGE:<none> dangling images and their containers"
47     docker images | head -1 && docker images | grep $dangling_images
48     for image_id in "${dangling_images[@]}"; do
49         echo "Yardstick: Removing dangling image $image_id"
50         docker rmi -f $image_id >${redirect}
51     done
52 fi
53
54 for image_id in "${dangling_images[@]}"; do
55     if [[ -n $(docker ps -a | grep $image_id) ]]; then
56         echo "Yardstick: Removing containers associated with dangling image: $image_id"
57         docker ps -a | head -1 && docker ps -a | grep $image_id
58         docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
59     fi
60 done
61
62 if [[ -n $(docker ps -a | grep $YARDSTICK_IMAGE) ]]; then
63     echo "Removing existing $YARDSTICK_IMAGE containers"
64     docker ps -a | grep $YARDSTICK_IMAGE | awk '{print $1}' | xargs docker rm -f >$redirect
65 fi
66
67 if [[ -n $(docker images | grep $YARDSTICK_IMAGE) ]]; then
68     echo "Yardstick: docker images to remove:"
69     docker images | head -1 && docker images | grep $YARDSTICK_IMAGE
70     image_tags=($(docker images | grep $YARDSTICK_IMAGE | awk '{print $2}'))
71     for tag in "${image_tags[@]}"; do
72         echo "Removing docker image $YARDSTICK_IMAGE:$tag..."
73         docker rmi $YARDSTICK_IMAGE:$tag >$redirect
74     done
75 fi
76
77 echo "InfluxDB: docker containers/images cleaning up"
78 INFLUXDB_IMAGE=tutum/influxdb
79
80 dangling_images=($(docker images -f "dangling=true" | grep $INFLUXDB_IMAGE | awk '{print $3}'))
81 if [[ -n $dangling_images ]]; then
82     echo "Removing $INFLUXDB_IMAGE:<none> dangling images and their containers"
83     docker images | head -1 && docker images | grep $dangling_images
84     for image_id in "${dangling_images[@]}"; do
85         echo "InfluxDB: Removing dangling image $image_id"
86         docker rmi -f $image_id >${redirect}
87     done
88 fi
89
90 for image_id in "${dangling_images[@]}"; do
91     if [[ -n $(docker ps -a | grep $image_id) ]]; then
92         echo "InfluxDB: Removing containers associated with dangling image: $image_id"
93         docker ps -a | head -1 && docker ps -a | grep $image_id
94         docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
95     fi
96 done
97
98 if [[ -n $(docker ps -a | grep $INFLUXDB_IMAGE) ]]; then
99     echo "Removing existing $INFLUXDB_IMAGE containers"
100     docker ps -a | grep $INFLUXDB_IMAGE | awk '{print $1}' | xargs docker rm -f >$redirect
101 fi
102
103 if [[ -n $(docker images | grep $INFLUXDB_IMAGE) ]]; then
104     echo "InfluxDB: docker images to remove:"
105     docker images | head -1 && docker images | grep $INFLUXDB_IMAGE
106     image_tags=($(docker images | grep $INFLUXDB_IMAGE | awk '{print $2}'))
107     for tag in "${image_tags[@]}"; do
108         echo "Removing docker image $INFLUXDB_IMAGE:$tag..."
109         docker rmi $INFLUXDB_IMAGE:$tag >$redirect
110     done
111 fi