From def3c6fb652fc7be1aed3001fbb4f3ae6b3f6550 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Tue, 14 Jan 2025 14:19:50 +0000 Subject: [PATCH] feat: add useTarCommandInSnapshot flag in chart config --- charts/latest/csi-driver-nfs-v0.0.0.tgz | Bin 11819 -> 11864 bytes .../templates/csi-nfs-controller.yaml | 1 + charts/latest/csi-driver-nfs/values.yaml | 1 + cmd/nfsplugin/main.go | 2 ++ pkg/nfs/controllerserver.go | 22 +++++++++++++----- pkg/nfs/nfs.go | 3 +++ 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/charts/latest/csi-driver-nfs-v0.0.0.tgz b/charts/latest/csi-driver-nfs-v0.0.0.tgz index c1fb0c6c578f442a87d517820f59f97a2dacaa5f..0cf947caafc86f11fb4c685ecd4ff5cc43d7b34a 100644 GIT binary patch delta 10760 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 GdI12)m@OXw delta 10734 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 diff --git a/charts/latest/csi-driver-nfs/templates/csi-nfs-controller.yaml b/charts/latest/csi-driver-nfs/templates/csi-nfs-controller.yaml index fe271e7a..88d74af2 100644 --- a/charts/latest/csi-driver-nfs/templates/csi-nfs-controller.yaml +++ b/charts/latest/csi-driver-nfs/templates/csi-nfs-controller.yaml @@ -181,6 +181,7 @@ spec: - "--mount-permissions={{ .Values.driver.mountPermissions }}" - "--working-mount-dir={{ .Values.controller.workingMountDir }}" - "--default-ondelete-policy={{ .Values.controller.defaultOnDeletePolicy }}" + - "--use-tar-command-in-snapshot={{ .Values.controller.useTarCommandInSnapshot }}" env: - name: NODE_ID valueFrom: diff --git a/charts/latest/csi-driver-nfs/values.yaml b/charts/latest/csi-driver-nfs/values.yaml index 89822cad..77fdce59 100755 --- a/charts/latest/csi-driver-nfs/values.yaml +++ b/charts/latest/csi-driver-nfs/values.yaml @@ -57,6 +57,7 @@ controller: runOnMaster: false runOnControlPlane: false enableSnapshotter: true + useTarCommandInSnapshot: false livenessProbe: healthPort: 29652 logLevel: 5 diff --git a/cmd/nfsplugin/main.go b/cmd/nfsplugin/main.go index 2bc088be..a34547ca 100644 --- a/cmd/nfsplugin/main.go +++ b/cmd/nfsplugin/main.go @@ -34,6 +34,7 @@ var ( defaultOnDeletePolicy = flag.String("default-ondelete-policy", "", "default policy for deleting subdirectory when deleting a volume") volStatsCacheExpireInMinutes = flag.Int("vol-stats-cache-expire-in-minutes", 10, "The cache expire time in minutes for volume stats cache") removeArchivedVolumePath = flag.Bool("remove-archived-volume-path", false, "remove archived volume path in DeleteVolume") + useTarCommandInSnapshot = flag.Bool("use-tar-command-in-snapshot", false, "use tar command to pack and unpack snapshot data") ) func main() { @@ -58,6 +59,7 @@ func handle() { DefaultOnDeletePolicy: *defaultOnDeletePolicy, VolStatsCacheExpireInMinutes: *volStatsCacheExpireInMinutes, RemoveArchivedVolumePath: *removeArchivedVolumePath, + UseTarCommandInSnapshot: *useTarCommandInSnapshot, } d := nfs.NewDriver(&driverOptions) d.Run(false) diff --git a/pkg/nfs/controllerserver.go b/pkg/nfs/controllerserver.go index 50c0ee25..e403b0d0 100644 --- a/pkg/nfs/controllerserver.go +++ b/pkg/nfs/controllerserver.go @@ -406,9 +406,14 @@ func (cs *ControllerServer) CreateSnapshot(ctx context.Context, req *csi.CreateS dstPath := filepath.Join(snapInternalVolPath, snapshot.archiveName()) klog.V(2).Infof("tar %v -> %v", srcPath, dstPath) - err = TarPack(srcPath, dstPath, true) - if err != nil { - return nil, status.Errorf(codes.Internal, "failed to create archive for snapshot: %v", err) + if cs.Driver.useTarCommandInSnapshot { + if out, err := exec.Command("tar", "-C", srcPath, "-czvf", dstPath, ".").CombinedOutput(); err != nil { + return nil, status.Errorf(codes.Internal, "failed to create archive for snapshot: %v: %v", err, string(out)) + } + } else { + if err := TarPack(srcPath, dstPath, true); err != nil { + return nil, status.Errorf(codes.Internal, "failed to create archive for snapshot: %v", err) + } } klog.V(2).Infof("tar %s -> %s complete", srcPath, dstPath) @@ -573,9 +578,14 @@ func (cs *ControllerServer) copyFromSnapshot(ctx context.Context, req *csi.Creat dstPath := getInternalVolumePath(cs.Driver.workingMountDir, dstVol) klog.V(2).Infof("copy volume from snapshot %v -> %v", snapPath, dstPath) - err = TarUnpack(snapPath, dstPath, true) - if err != nil { - return status.Errorf(codes.Internal, "failed to copy volume for snapshot: %v", err) + if cs.Driver.useTarCommandInSnapshot { + if out, err := exec.Command("tar", "-xzvf", snapPath, "-C", dstPath).CombinedOutput(); err != nil { + return status.Errorf(codes.Internal, "failed to copy volume for snapshot: %v: %v", err, string(out)) + } + } else { + if err := TarUnpack(snapPath, dstPath, true); err != nil { + return status.Errorf(codes.Internal, "failed to copy volume for snapshot: %v", err) + } } klog.V(2).Infof("volume copied from snapshot %v -> %v", snapPath, dstPath) return nil diff --git a/pkg/nfs/nfs.go b/pkg/nfs/nfs.go index 5d36e5ec..03bf0445 100644 --- a/pkg/nfs/nfs.go +++ b/pkg/nfs/nfs.go @@ -38,6 +38,7 @@ type DriverOptions struct { DefaultOnDeletePolicy string VolStatsCacheExpireInMinutes int RemoveArchivedVolumePath bool + UseTarCommandInSnapshot bool } type Driver struct { @@ -49,6 +50,7 @@ type Driver struct { workingMountDir string defaultOnDeletePolicy string removeArchivedVolumePath bool + useTarCommandInSnapshot bool //ids *identityServer ns *NodeServer @@ -96,6 +98,7 @@ func NewDriver(options *DriverOptions) *Driver { workingMountDir: options.WorkingMountDir, volStatsCacheExpireInMinutes: options.VolStatsCacheExpireInMinutes, removeArchivedVolumePath: options.RemoveArchivedVolumePath, + useTarCommandInSnapshot: options.UseTarCommandInSnapshot, } n.AddControllerServiceCapabilities([]csi.ControllerServiceCapability_RPC_Type{