Skip to content

Commit bafcc77

Browse files
authored
Merge pull request #679 from acekingke/checkdiskUsage
*: add disk usage check in nfs backup #663
2 parents 8fcb371 + bddc1b1 commit bafcc77

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,5 @@ endef
122122
###########
123123
e2e-local:
124124
go test -v ./test/e2e $(G_ARGS) -timeout 20m
125+
todo:
126+
@grep -Irnw './' -e 'TODO:'|grep -v grep

backup/syncer/job.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,11 @@ func (s *jobSyncer) ensurePodSpec(in corev1.PodSpec) corev1.PodSpec {
154154
--cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/apis/batch/v1/namespaces/%s/jobs/%s \
155155
-d '[{"op": "add", "path": "/metadata/annotations/backupName", "value": "%s"}, {"op": "add", "path": "/metadata/annotations/backupDate", "value": "%s"}, {"op": "add", "path": "/metadata/annotations/backupType", "value": "NFS"}]';`,
156156
s.backup.Namespace, s.backup.GetNameForJob(), backupToDir, DateTime)
157+
// Add the check DiskUsage
158+
// use expr because shell cannot compare float number
159+
checkUsage := `[ $(expr $(df /backup|awk 'NR>1 {print $4}') \> $(du /backup |awk 'END {if (NR > 1) {print $1 /(NR-1)} else print 0}')) -eq '1' ] || { echo disk available may be too small; exit 1;};`
157160
in.Containers[0].Args = []string{
158-
fmt.Sprintf("mkdir -p /backup/%s;"+
161+
checkUsage + fmt.Sprintf("mkdir -p /backup/%s;"+
159162
"curl --user $BACKUP_USER:$BACKUP_PASSWORD %s/download|xbstream -x -C /backup/%s; err1=${PIPESTATUS[0]};"+
160163
strAnnonations+"retval_final=$?; exit $err1||$retval_final",
161164
backupToDir,

0 commit comments

Comments
 (0)