Skip to content
7 changes: 4 additions & 3 deletions pkg/controllers/fake_engine_core_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ limitations under the License.
package controllers

import (
ctrl "sigs.k8s.io/controller-runtime"
"context"

datav1alpha1 "github.com/fluid-cloudnative/fluid/api/v1alpha1"
"github.com/fluid-cloudnative/fluid/pkg/dataoperation"
cruntime "github.com/fluid-cloudnative/fluid/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
)

type fakeEngineCore struct {
Expand All @@ -36,9 +37,9 @@ func (e *fakeEngineCore) Setup(ctx cruntime.ReconcileRequestContext) (bool, erro
return true, nil
}

func (e *fakeEngineCore) CreateVolume() error { return nil }
func (e *fakeEngineCore) CreateVolume(ctx context.Context) error { return nil }

func (e *fakeEngineCore) DeleteVolume() error { return nil }
func (e *fakeEngineCore) DeleteVolume(ctx context.Context) error { return nil }

func (e *fakeEngineCore) Sync(ctx cruntime.ReconcileRequestContext) error { return nil }

Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/runtime_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ func (r *RuntimeReconciler) ReconcileRuntimeDeletion(engine base.Engine, ctx cru
log.V(1).Info("process the Runtime Deletion", "Runtime", ctx.NamespacedName)

// 0. Delete the volume
err := engine.DeleteVolume()
err := engine.DeleteVolume(ctx)
if err != nil {
r.Recorder.Eventf(ctx.Runtime, corev1.EventTypeWarning, common.ErrorProcessRuntimeReason, "Failed to delete volume %v", err)
// return utils.RequeueIfError(errors.Wrap(err, "Failed to delete volume"))
Expand Down Expand Up @@ -288,7 +288,7 @@ func (r *RuntimeReconciler) ReconcileRuntime(engine base.Engine, ctx cruntime.Re
}

// 2.Setup the volume
err = engine.CreateVolume()
err = engine.CreateVolume(ctx)
if err != nil && utils.IgnoreAlreadyExists(err) != nil {
r.Recorder.Eventf(ctx.Runtime, corev1.EventTypeWarning, common.ErrorProcessRuntimeReason, "Failed to setup volume due to error %v", err)
log.Error(err, "Failed to setup the volume")
Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/runtime_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -671,12 +671,12 @@ func (e *testEngine) Setup(cruntime.ReconcileRequestContext) (bool, error) {
return e.setupReady, e.setupErr
}

func (e *testEngine) CreateVolume() error {
func (e *testEngine) CreateVolume(context.Context) error {
e.createVolumeCalls++
return e.createVolumeErr
}

func (e *testEngine) DeleteVolume() error {
func (e *testEngine) DeleteVolume(context.Context) error {
e.deleteVolumeCalls++
return e.deleteVolumeErr
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/v1alpha1/efc/implement_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ type mockEngine struct{}
func (m *mockEngine) ID() string { return "mock" }
func (m *mockEngine) Shutdown() error { return nil }
func (m *mockEngine) Setup(_ cruntime.ReconcileRequestContext) (bool, error) { return true, nil }
func (m *mockEngine) CreateVolume() error { return nil }
func (m *mockEngine) DeleteVolume() error { return nil }
func (m *mockEngine) CreateVolume(_ context.Context) error { return nil }
func (m *mockEngine) DeleteVolume(_ context.Context) error { return nil }
func (m *mockEngine) Sync(_ cruntime.ReconcileRequestContext) error { return nil }
func (m *mockEngine) Validate(_ cruntime.ReconcileRequestContext) error { return nil }
func (m *mockEngine) Operate(_ cruntime.ReconcileRequestContext, _ *datav1alpha1.OperationStatus, _ dataoperation.OperationInterface) (ctrl.Result, error) {
Expand Down
3 changes: 2 additions & 1 deletion pkg/controllers/v1alpha1/fluidapp/implement.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package fluidapp

import (
"context"
"strings"

"github.com/go-logr/logr"
Expand Down Expand Up @@ -79,7 +80,7 @@ func (i *FluidAppReconcilerImplement) umountFuseSidecar(pod *corev1.Pod, fuseCon
}

i.Log.Info("exec cmd in pod fuse container", "cmd", cmd, "podName", pod.Name, "namespace", pod.Namespace)
stdout, stderr, err := kubeclient.ExecCommandInContainer(pod.Name, fuseContainer.Name, pod.Namespace, cmd)
stdout, stderr, err := kubeclient.ExecCommandInContainerWithContext(context.TODO(), pod.Name, fuseContainer.Name, pod.Namespace, cmd)
if err != nil {
i.Log.Info("exec output", "stdout", stdout, "stderr", stderr)
if strings.Contains(stderr, "not mounted") {
Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/v1alpha1/juicefs/implement_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ type mockEngine struct{}
func (m *mockEngine) ID() string { return "mock" }
func (m *mockEngine) Shutdown() error { return nil }
func (m *mockEngine) Setup(_ cruntime.ReconcileRequestContext) (bool, error) { return true, nil }
func (m *mockEngine) CreateVolume() error { return nil }
func (m *mockEngine) DeleteVolume() error { return nil }
func (m *mockEngine) CreateVolume(context.Context) error { return nil }
func (m *mockEngine) DeleteVolume(context.Context) error { return nil }
func (m *mockEngine) Sync(_ cruntime.ReconcileRequestContext) error { return nil }
func (m *mockEngine) Validate(_ cruntime.ReconcileRequestContext) error { return nil }
func (m *mockEngine) Operate(_ cruntime.ReconcileRequestContext, _ *datav1alpha1.OperationStatus, _ dataoperation.OperationInterface) (ctrl.Result, error) {
Expand Down
4 changes: 2 additions & 2 deletions pkg/controllers/v1alpha1/thinruntime/implement_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ type mockEngine struct{}
func (m *mockEngine) ID() string { return "mock" }
func (m *mockEngine) Shutdown() error { return nil }
func (m *mockEngine) Setup(_ cruntime.ReconcileRequestContext) (bool, error) { return true, nil }
func (m *mockEngine) CreateVolume() error { return nil }
func (m *mockEngine) DeleteVolume() error { return nil }
func (m *mockEngine) CreateVolume(_ context.Context) error { return nil }
func (m *mockEngine) DeleteVolume(_ context.Context) error { return nil }
func (m *mockEngine) Sync(_ cruntime.ReconcileRequestContext) error { return nil }
func (m *mockEngine) Validate(_ cruntime.ReconcileRequestContext) error { return nil }
func (m *mockEngine) Operate(_ cruntime.ReconcileRequestContext, _ *datav1alpha1.OperationStatus, _ dataoperation.OperationInterface) (ctrl.Result, error) {
Expand Down
15 changes: 8 additions & 7 deletions pkg/ddc/alluxio/create_volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,26 @@ limitations under the License.
package alluxio

import (
"context"
"github.com/fluid-cloudnative/fluid/pkg/common"
volumeHelper "github.com/fluid-cloudnative/fluid/pkg/utils/dataset/volume"
)

// CreateVolume creates volume
func (e *AlluxioEngine) CreateVolume() (err error) {
func (e *AlluxioEngine) CreateVolume(ctx context.Context) (err error) {
if e.runtime == nil {
e.runtime, err = e.getRuntime()
if err != nil {
return
}
}

err = e.createFusePersistentVolume()
err = e.createFusePersistentVolume(ctx)
if err != nil {
return err
}

err = e.createFusePersistentVolumeClaim()
err = e.createFusePersistentVolumeClaim(ctx)
if err != nil {
return err
}
Expand All @@ -50,13 +51,13 @@ func (e *AlluxioEngine) CreateVolume() (err error) {
}

// createFusePersistentVolume
func (e *AlluxioEngine) createFusePersistentVolume() (err error) {
func (e *AlluxioEngine) createFusePersistentVolume(ctx context.Context) (err error) {
runtimeInfo, err := e.getRuntimeInfo()
if err != nil {
return err
}

return volumeHelper.CreatePersistentVolumeForRuntime(e.Client,
return volumeHelper.CreatePersistentVolumeForRuntime(ctx, e.Client,
runtimeInfo,
e.getMountPoint(),
common.AlluxioMountType,
Expand All @@ -65,13 +66,13 @@ func (e *AlluxioEngine) createFusePersistentVolume() (err error) {
}

// createFusePersistentVolume
func (e *AlluxioEngine) createFusePersistentVolumeClaim() (err error) {
func (e *AlluxioEngine) createFusePersistentVolumeClaim(ctx context.Context) (err error) {
runtimeInfo, err := e.getRuntimeInfo()
if err != nil {
return err
}

return volumeHelper.CreatePersistentVolumeClaimForRuntime(e.Client, runtimeInfo, e.Log)
return volumeHelper.CreatePersistentVolumeClaimForRuntime(ctx, e.Client, runtimeInfo, e.Log)

}

Expand Down
20 changes: 10 additions & 10 deletions pkg/ddc/alluxio/create_volume_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
When("given AlluxioEngine works as expected", func() {

It("should create volumes successfully", func() {
err := engine.CreateVolume()
err := engine.CreateVolume(context.Background())
Expect(err).To(BeNil())

gotPVC := &corev1.PersistentVolumeClaim{}
Expand Down Expand Up @@ -106,7 +106,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
Describe("Test AlluxioEngine.CreateFusePersistentVolume", func() {
When("given AlluxioEngine works as expected", func() {
It("should create fuse PV successfully", func() {
err := engine.createFusePersistentVolume()
err := engine.createFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

gotPv := &corev1.PersistentVolume{}
Expand All @@ -132,7 +132,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
resources = append(resources, mockedObjects.PersistentVolume)
})
It("should not create PersistentVolumle and no error should return", func() {
err := engine.createFusePersistentVolume()
err := engine.createFusePersistentVolume(context.Background())
Expect(err).To(BeNil())
})
})
Expand All @@ -142,7 +142,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
dataset.Spec.AccessModes = []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany}
})
It("should create PersistentVolumle with ReadWriteMany access mode", func() {
err := engine.createFusePersistentVolume()
err := engine.createFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

gotPv := &corev1.PersistentVolume{}
Expand All @@ -158,7 +158,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
dataset.Annotations[utils.PVCStorageAnnotation] = "30Gi"
})
It("should create PV with the storage capacity specified in Dataset", func() {
err := engine.createFusePersistentVolume()
err := engine.createFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

gotPv := &corev1.PersistentVolume{}
Expand Down Expand Up @@ -189,7 +189,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
Expect(err).To(BeNil())
})
It("should create PV with extra labels and annotations", func() {
err := engine.createFusePersistentVolume()
err := engine.createFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

gotPv := &corev1.PersistentVolume{}
Expand Down Expand Up @@ -218,7 +218,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
Expect(err).To(BeNil())
})
It("should create fuse pv with specific node publish method", func() {
err := engine.createFusePersistentVolume()
err := engine.createFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

gotPv := &corev1.PersistentVolume{}
Expand All @@ -237,7 +237,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
Describe("Test AlluxioEngine.CreatePersistentVolumeClaim()", func() {
When("given AlluxioEngine works as expected", func() {
It("should create fuse PVC successfully", func() {
err := engine.createFusePersistentVolumeClaim()
err := engine.createFusePersistentVolumeClaim(context.Background())
Expect(err).To(BeNil())

gotPvc := &corev1.PersistentVolumeClaim{}
Expand All @@ -259,7 +259,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
})

It("should not create PVC", func() {
err := engine.createFusePersistentVolumeClaim()
err := engine.createFusePersistentVolumeClaim(context.Background())
Expect(err).To(BeNil())
})
})
Expand All @@ -286,7 +286,7 @@ var _ = Describe("AlluxioEngine Volume Creation Tests", Label("pkg.ddc.alluxio.c
})

It("should create PVC with extra labels and annotations", func() {
err := engine.createFusePersistentVolumeClaim()
err := engine.createFusePersistentVolumeClaim(context.Background())
Expect(err).To(BeNil())

gotPvc := &corev1.PersistentVolumeClaim{}
Expand Down
15 changes: 8 additions & 7 deletions pkg/ddc/alluxio/delete_volume.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ limitations under the License.
package alluxio

import (
"context"
volumeHelper "github.com/fluid-cloudnative/fluid/pkg/utils/dataset/volume"
)

// DeleteVolume creates volume
func (e *AlluxioEngine) DeleteVolume() (err error) {
func (e *AlluxioEngine) DeleteVolume(ctx context.Context) (err error) {

if e.runtime == nil {
e.runtime, err = e.getRuntime()
Expand All @@ -30,12 +31,12 @@ func (e *AlluxioEngine) DeleteVolume() (err error) {
}
}

err = e.deleteFusePersistentVolumeClaim()
err = e.deleteFusePersistentVolumeClaim(ctx)
if err != nil {
return
}

err = e.deleteFusePersistentVolume()
err = e.deleteFusePersistentVolume(ctx)
if err != nil {
return
}
Expand All @@ -45,21 +46,21 @@ func (e *AlluxioEngine) DeleteVolume() (err error) {
}

// deleteFusePersistentVolume
func (e *AlluxioEngine) deleteFusePersistentVolume() (err error) {
func (e *AlluxioEngine) deleteFusePersistentVolume(ctx context.Context) (err error) {
runtimeInfo, err := e.getRuntimeInfo()
if err != nil {
return err
}

return volumeHelper.DeleteFusePersistentVolume(e.Client, runtimeInfo, e.Log)
return volumeHelper.DeleteFusePersistentVolume(ctx, e.Client, runtimeInfo, e.Log)
}

// deleteFusePersistentVolume
func (e *AlluxioEngine) deleteFusePersistentVolumeClaim() (err error) {
func (e *AlluxioEngine) deleteFusePersistentVolumeClaim(ctx context.Context) (err error) {
runtimeInfo, err := e.getRuntimeInfo()
if err != nil {
return err
}

return volumeHelper.DeleteFusePersistentVolumeClaim(e.Client, runtimeInfo, e.Log)
return volumeHelper.DeleteFusePersistentVolumeClaim(ctx, e.Client, runtimeInfo, e.Log)
}
20 changes: 10 additions & 10 deletions pkg/ddc/alluxio/delete_volume_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d
})
When("given AlluxioEngine works as expected", func() {
It("should delete volume successfully", func() {
err := engine.DeleteVolume()
err := engine.DeleteVolume(context.Background())
Expect(err).To(BeNil())

err = client.Get(context.TODO(), types.NamespacedName{Namespace: engine.namespace, Name: engine.name}, &corev1.PersistentVolumeClaim{})
Expand All @@ -103,19 +103,19 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d
})

It("don't need to do anything", func() {
err := engine.DeleteVolume()
err := engine.DeleteVolume(context.Background())
Expect(err).To(BeNil())
})
})
})

Describe("Test AlluxioEngine.deleteFusePersistentVolume()", func() {
Describe("Test AlluxioEngine.deleteFusePersistentVolume(context.Background())", func() {
When("given AlluxioEngine works as expected", func() {
BeforeEach(func() {
mockedObjects.PersistentVolume.Namespace = ""
})
It("should delete fuse PV successfully", func() {
err := engine.deleteFusePersistentVolume()
err := engine.deleteFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

err = client.Get(context.TODO(), types.NamespacedName{Name: engine.runtimeInfo.GetPersistentVolumeName()}, &corev1.PersistentVolumeClaim{})
Expand All @@ -137,7 +137,7 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d

})
It("don't need to do anything", func() {
err := engine.deleteFusePersistentVolume()
err := engine.deleteFusePersistentVolume(context.Background())
Expect(err).To(BeNil())
})
})
Expand All @@ -148,7 +148,7 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d
mockedObjects.PersistentVolume.Annotations = map[string]string{}
})
It("should not delete the PV", func() {
err := engine.deleteFusePersistentVolume()
err := engine.deleteFusePersistentVolume(context.Background())
Expect(err).To(BeNil())

err = client.Get(context.TODO(), types.NamespacedName{Name: engine.runtimeInfo.GetPersistentVolumeName()}, &corev1.PersistentVolume{})
Expand All @@ -157,10 +157,10 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d
})
})

Describe("Test AlluxioEngine.deleteFusePersistentVolumeClaim()", func() {
Describe("Test AlluxioEngine.deleteFusePersistentVolumeClaim(context.Background())", func() {
When("given AlluxioEngine works as expected", func() {
It("should delete the fuse PVC successfully", func() {
err := engine.deleteFusePersistentVolumeClaim()
err := engine.deleteFusePersistentVolumeClaim(context.Background())
Expect(err).To(BeNil())

err = client.Get(context.TODO(), types.NamespacedName{Name: engine.name, Namespace: engine.namespace}, &corev1.PersistentVolumeClaim{})
Expand All @@ -182,7 +182,7 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d
})

It("don't need to do anything", func() {
err := engine.deleteFusePersistentVolumeClaim()
err := engine.deleteFusePersistentVolumeClaim(context.Background())
Expect(err).To(BeNil())
})
})
Expand All @@ -193,7 +193,7 @@ var _ = Describe("AlluxioEngine Volume Deletion Tests", Label("pkg.ddc.alluxio.d
})

It("should not delete the pvc", func() {
err := engine.deleteFusePersistentVolumeClaim()
err := engine.deleteFusePersistentVolumeClaim(context.Background())
Expect(err).To(BeNil())

err = client.Get(context.TODO(), types.NamespacedName{Name: engine.name, Namespace: engine.namespace}, &corev1.PersistentVolumeClaim{})
Expand Down
Loading
Loading