Skip to content

Commit 2685974

Browse files
committed
added image purge
1 parent 13f249e commit 2685974

File tree

3 files changed

+35
-9
lines changed

3 files changed

+35
-9
lines changed

cleaner/cleaner-agent.sh

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,18 @@ FUNC_FILE=${DIR}/functions.sh
1717
echo "$0: Loading functions File $FUNC_FILE "
1818
source "${FUNC_FILE}"
1919

20-
sigterm_trap(){
21-
echo -e "\n ## $0 - $(date) - SIGTERM received ##"
22-
export EXIT=1
23-
rm -vf ${LOCK_FILE}
20+
clean_metrics(){
2421
[[ -f ${CLEANER_AGENT_ACTIONS_CONTAINERS_FILE} ]] && rm -fv ${CLEANER_AGENT_ACTIONS_CONTAINERS_FILE}
2522
[[ -f ${CLEANER_AGENT_ACTIONS_VOLUMES_FILE} ]] && rm -fv ${CLEANER_AGENT_ACTIONS_VOLUMES_FILE}
2623
[[ -f ${CLEANER_AGENT_ACTIONS_IMAGES_FILE} ]] && rm -fv ${CLEANER_AGENT_ACTIONS_IMAGES_FILE}
24+
[[ -f ${CLEANER_AGENT_ACTIONS_PURGES_FILE} ]] && rm -fv ${CLEANER_AGENT_ACTIONS_PURGES_FILE}
25+
}
26+
27+
sigterm_trap(){
28+
echo -e "\n ## $0 - SIGTERM received - $(date) ##"
29+
export EXIT=1
30+
rm -vf ${LOCK_FILE}
31+
clean_metrics
2732
}
2833
trap sigterm_trap SIGTERM SIGINT
2934

@@ -38,13 +43,10 @@ SLEEP_INTERVAL=5
3843

3944
echo "$0: initializing metrics"
4045
CLEANER_AGENT_ACTIONS_CONTAINERS=0
41-
rm -fv ${CLEANER_AGENT_ACTIONS_CONTAINERS_FILE}
42-
4346
CLEANER_AGENT_ACTIONS_VOLUMES=0
44-
rm -fv ${CLEANER_AGENT_ACTIONS_VOLUMES_FILE}
45-
4647
CLEANER_AGENT_ACTIONS_IMAGES=0
47-
rm -fv ${CLEANER_AGENT_ACTIONS_IMAGES_FILE}
48+
CLEANER_AGENT_ACTIONS_PURGES=0
49+
clean_metrics
4850

4951
while true
5052
do
@@ -89,5 +91,18 @@ do
8991
fi
9092
[[ -n "${EXIT}" ]] && break
9193

94+
if [[ -n $(need_to_clean) ]]; then
95+
echo "$0: CLEANER_AGENT: NEEED TO PURGE - purging all images created more than 3h ago"
96+
display_df
97+
lock_file
98+
docker image prune -a --force --filter "until=3h"
99+
(( CLEANER_AGENT_ACTIONS_PURGES ++ ))
100+
echo "$0: CLEANER_AGENT_ACTIONS_PURGES=$CLEANER_AGENT_ACTIONS_PURGES, updating metric file ${CLEANER_AGENT_ACTIONS_PURGES_FILE}"
101+
echo $CLEANER_AGENT_ACTIONS_PURGES > ${CLEANER_AGENT_ACTIONS_PURGES_FILE}
102+
unlock_file
103+
display_df
104+
fi
105+
[[ -n "${EXIT}" ]] && break
106+
92107
sleep $SLEEP_INTERVAL
93108
done

cleaner/config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ LAST_PRUNED_TS_FILE=${DIND_VOLUME_STAT_DIR}/last_pruned_ts
2121
CLEANER_AGENT_ACTIONS_CONTAINERS_FILE=${DIND_VOLUME_STAT_DIR}/cleaner_agent_actions_containers
2222
CLEANER_AGENT_ACTIONS_VOLUMES_FILE=${DIND_VOLUME_STAT_DIR}/cleaner_agent_actions_volumes
2323
CLEANER_AGENT_ACTIONS_IMAGES_FILE=${DIND_VOLUME_STAT_DIR}/cleaner_agent_actions_images
24+
CLEANER_AGENT_ACTIONS_PURGES_FILE=${DIND_VOLUME_STAT_DIR}/cleaner_agent_actions_purges

monitor/metrics.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,16 @@ EOF
140140
# HELP docker_volume_cleaner_agent_actions_images images cleans done by cleaner_agent.sh
141141
docker_volume_cleaner_agent_actions_images{$LABELS} ${CLEANER_AGENT_ACTIONS_IMAGES}
142142
143+
EOF
144+
fi
145+
146+
if [[ -f ${CLEANER_AGENT_ACTIONS_PURGES_FILE} ]]; then
147+
CLEANER_AGENT_ACTIONS_PURGES=$(cat ${CLEANER_AGENT_ACTIONS_PURGES_FILE})
148+
cat <<EOF >> $METRIC_FILE_TMP
149+
# TYPE docker_volume_cleaner_agent_actions_purges gauge
150+
# HELP docker_volume_cleaner_agent_actions_purges docker purges done by cleaner_agent.sh
151+
docker_volume_cleaner_agent_actions_purges{$LABELS} ${CLEANER_AGENT_ACTIONS_PURGES}
152+
143153
EOF
144154
fi
145155

0 commit comments

Comments
 (0)