aboutsummaryrefslogtreecommitdiff
path: root/pkg/driver/volume.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/driver/volume.go')
-rw-r--r--pkg/driver/volume.go28
1 files changed, 9 insertions, 19 deletions
diff --git a/pkg/driver/volume.go b/pkg/driver/volume.go
index 6cc777b..080595e 100644
--- a/pkg/driver/volume.go
+++ b/pkg/driver/volume.go
@@ -1,14 +1,10 @@
package driver
import (
- "context"
- "fmt"
"os"
+ "github.com/seaweedfs/seaweedfs-csi-driver/pkg/mountmanager"
"github.com/seaweedfs/seaweedfs/weed/glog"
- "github.com/seaweedfs/seaweedfs/weed/pb/mount_pb"
- "google.golang.org/grpc"
- "google.golang.org/grpc/credentials/insecure"
"k8s.io/mount-utils"
)
@@ -18,16 +14,14 @@ type Volume struct {
mounter Mounter
unmounter Unmounter
-
- // unix socket used to manage volume
- localSocket string
+ driver *SeaweedFsDriver
}
-func NewVolume(volumeID string, mounter Mounter) *Volume {
+func NewVolume(volumeID string, mounter Mounter, driver *SeaweedFsDriver) *Volume {
return &Volume{
- VolumeId: volumeID,
- mounter: mounter,
- localSocket: GetLocalSocket(volumeID),
+ VolumeId: volumeID,
+ mounter: mounter,
+ driver: driver,
}
}
@@ -81,22 +75,18 @@ func (vol *Volume) Publish(stagingTargetPath string, targetPath string, readOnly
}
func (vol *Volume) Quota(sizeByte int64) error {
- target := fmt.Sprintf("passthrough:///unix://%s", vol.localSocket)
- dialOption := grpc.WithTransportCredentials(insecure.NewCredentials())
-
- clientConn, err := grpc.Dial(target, dialOption)
+ client, err := mountmanager.NewClient(vol.driver.mountEndpoint)
if err != nil {
return err
}
- defer clientConn.Close()
// We can't create PV of zero size, so we're using quota of 1 byte to define no quota.
if sizeByte == 1 {
sizeByte = 0
}
- client := mount_pb.NewSeaweedMountClient(clientConn)
- _, err = client.Configure(context.Background(), &mount_pb.ConfigureRequest{
+ _, err = client.Configure(&mountmanager.ConfigureRequest{
+ VolumeID: vol.VolumeId,
CollectionCapacity: sizeByte,
})
return err