Skip to content

Commit 4ccbda9

Browse files
committed
support databackup
Signed-off-by: xliuqq <xlzq1992@gmail.com>
1 parent d1482a3 commit 4ccbda9

File tree

7 files changed

+33
-2
lines changed

7 files changed

+33
-2
lines changed

charts/fluid-databackup/alluxio/templates/databackup.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ spec:
8989
mountPath: /etc/group
9090
readOnly: true
9191
{{- end}}
92+
{{- if .Values.dataBackup.affinity }}
93+
affinity:
94+
{{ toYaml .Values.dataBackup.affinity | indent 4 }}
95+
{{- end }}
96+
9297
restartPolicy: Never
9398
volumes:
9499
{{- if .Values.dataBackup.workdir }}

charts/fluid-databackup/alluxio/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ dataBackup:
4545
# Description: optional image pull secrets on DataLoad pods
4646
imagePullSecrets: []
4747

48+
affinity:
49+
4850
initUsers:
4951
enabled: false
5052
image: registry.cn-hangzhou.aliyuncs.com/fluid/init-users

charts/fluid-dataprocess/common/templates/job.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ spec:
7171
{{- end }}
7272
{{- if .Values.dataProcess.scriptProcessor.affinity }}
7373
affinity:
74-
{{ .Values.dataProcess.scriptProcessor.affinity }}
74+
{{ toYaml .Values.dataProcess.scriptProcessor.affinity | indent 8 }}
7575
{{- end }}
7676
volumes:
7777
- name: script-cm-vol

pkg/controllers/v1alpha1/databackup/status_handler.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
package databackup
1818

1919
import (
20+
"fmt"
21+
"github.com/fluid-cloudnative/fluid/pkg/dataflow"
2022
"time"
2123

2224
"github.com/fluid-cloudnative/fluid/api/v1alpha1"
@@ -51,6 +53,14 @@ func (o *OnceHandler) GetOperationStatus(ctx runtime.ReconcileRequestContext, op
5153
if !kubeclient.IsFinishedPod(backupPod) {
5254
return
5355
}
56+
// set the node labels in status when job finished
57+
if result.NodeLabels == nil {
58+
// generate the node labels
59+
result.NodeLabels, err = dataflow.GenerateNodeLabels(ctx.Client, backupPod)
60+
if err != nil {
61+
return nil, fmt.Errorf("error to generate the node labels: %v", err)
62+
}
63+
}
5464

5565
var finishTime time.Time
5666
if len(backupPod.Status.Conditions) != 0 {

pkg/ddc/alluxio/backup_data.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package alluxio
1818

1919
import (
2020
"fmt"
21+
"github.com/fluid-cloudnative/fluid/pkg/dataflow"
2122
"os"
2223
"strconv"
2324
"strings"
@@ -132,6 +133,12 @@ func (e *AlluxioEngine) generateDataBackupValueFile(ctx cruntime.ReconcileReques
132133
dataBackup.PVCName = pvcName
133134
dataBackup.Path = path
134135

136+
// inject the node affinity by previous operation pod.
137+
dataBackup.Affinity, err = dataflow.InjectAffinityByRunAfterOp(e.Client, databackup.Spec.RunAfter, databackup.Namespace, nil)
138+
if err != nil {
139+
return "", err
140+
}
141+
135142
dataBackupValue := cdatabackup.DataBackupValue{DataBackup: dataBackup}
136143

137144
dataBackupValue.InitUsers = common.InitUsers{

pkg/ddc/goosefs/backup_data.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
datav1alpha1 "github.com/fluid-cloudnative/fluid/api/v1alpha1"
2222
"github.com/fluid-cloudnative/fluid/pkg/common"
2323
cdatabackup "github.com/fluid-cloudnative/fluid/pkg/databackup"
24+
"github.com/fluid-cloudnative/fluid/pkg/dataflow"
2425
"github.com/fluid-cloudnative/fluid/pkg/ddc/goosefs/operations"
2526
cruntime "github.com/fluid-cloudnative/fluid/pkg/runtime"
2627
"github.com/fluid-cloudnative/fluid/pkg/utils"
@@ -132,6 +133,12 @@ func (e *GooseFSEngine) generateDataBackupValueFile(ctx cruntime.ReconcileReques
132133
dataBackup.PVCName = pvcName
133134
dataBackup.Path = path
134135

136+
// inject the node affinity by previous operation pod.
137+
dataBackup.Affinity, err = dataflow.InjectAffinityByRunAfterOp(e.Client, databackup.Spec.RunAfter, databackup.Namespace, nil)
138+
if err != nil {
139+
return "", err
140+
}
141+
135142
dataBackupValue := cdatabackup.DataBackupValue{DataBackup: dataBackup}
136143

137144
dataBackupValue.InitUsers = common.InitUsers{

pkg/utils/kubeclient/job.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func GetSucceedPodForJob(c client.Client, job *v1.Job) (*corev1.Pod, error) {
5252
})
5353

5454
for _, pod := range podList.Items {
55-
if pod.Status.Phase == corev1.PodSucceeded {
55+
if IsSucceededPod(&pod) {
5656
return &pod, nil
5757
}
5858
}

0 commit comments

Comments
 (0)