aboutsummaryrefslogtreecommitdiff
path: root/pkg/driver
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/driver')
-rw-r--r--pkg/driver/controllerserver.go22
-rw-r--r--pkg/driver/driver.go2
-rw-r--r--pkg/driver/nodeserver.go14
-rw-r--r--pkg/driver/utils.go3
4 files changed, 36 insertions, 5 deletions
diff --git a/pkg/driver/controllerserver.go b/pkg/driver/controllerserver.go
index 0533f07..b90a09c 100644
--- a/pkg/driver/controllerserver.go
+++ b/pkg/driver/controllerserver.go
@@ -13,7 +13,6 @@ import (
"github.com/seaweedfs/seaweedfs/weed/glog"
"github.com/seaweedfs/seaweedfs/weed/pb/filer_pb"
"google.golang.org/grpc/codes"
- _ "google.golang.org/grpc/resolver/passthrough"
"google.golang.org/grpc/status"
)
@@ -71,7 +70,7 @@ func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVol
volumeId := req.VolumeId
// Check arguments
- if volumeId == "" {
+ if len(volumeId) == 0 {
return nil, status.Error(codes.InvalidArgument, "Volume ID missing in request")
}
@@ -89,10 +88,29 @@ func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVol
}
func (cs *ControllerServer) ControllerPublishVolume(ctx context.Context, req *csi.ControllerPublishVolumeRequest) (*csi.ControllerPublishVolumeResponse, error) {
+
+ // Check arguments
+ volumeId := req.VolumeId
+ if len(volumeId) == 0 {
+ return nil, status.Error(codes.InvalidArgument, "Volume ID missing in request")
+ }
+
+ nodeId := req.NodeId
+ if len(nodeId) == 0 {
+ return nil, status.Error(codes.InvalidArgument, "Node ID missing in request")
+ }
+
return &csi.ControllerPublishVolumeResponse{}, nil
}
func (cs *ControllerServer) ControllerUnpublishVolume(ctx context.Context, req *csi.ControllerUnpublishVolumeRequest) (*csi.ControllerUnpublishVolumeResponse, error) {
+
+ // Check arguments
+ volumeId := req.VolumeId
+ if len(volumeId) == 0 {
+ return nil, status.Error(codes.InvalidArgument, "Volume ID missing in request")
+ }
+
return &csi.ControllerUnpublishVolumeResponse{}, nil
}
diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go
index 5a375e1..fcef08a 100644
--- a/pkg/driver/driver.go
+++ b/pkg/driver/driver.go
@@ -171,5 +171,5 @@ func (d *SeaweedFsDriver) AdjustedUrl(location *filer_pb.Location) string {
return location.Url
}
func (d *SeaweedFsDriver) GetDataCenter() string {
- return ""
+ return d.DataCenter
}
diff --git a/pkg/driver/nodeserver.go b/pkg/driver/nodeserver.go
index 3f18202..87fe6c5 100644
--- a/pkg/driver/nodeserver.go
+++ b/pkg/driver/nodeserver.go
@@ -9,7 +9,6 @@ import (
"github.com/container-storage-interface/spec/lib/go/csi"
"github.com/seaweedfs/seaweedfs/weed/glog"
"google.golang.org/grpc/codes"
- _ "google.golang.org/grpc/resolver/passthrough"
"google.golang.org/grpc/status"
"k8s.io/utils/mount"
)
@@ -238,7 +237,20 @@ func (ns *NodeServer) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstag
}
func (ns *NodeServer) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandVolumeRequest) (*csi.NodeExpandVolumeResponse, error) {
+
volumeID := req.GetVolumeId()
+ if len(volumeID) == 0 {
+ return nil, status.Error(codes.InvalidArgument, "Volume ID missing in request")
+ }
+
+ volumePath := req.GetVolumePath()
+ if len(volumePath) == 0 {
+ return nil, status.Error(codes.InvalidArgument, "Volume path missing in request")
+ }
+
+ // TODO Check if volume exists
+ // TODO Check if node exists
+
requiredBytes := req.GetCapacityRange().GetRequiredBytes()
glog.V(0).Infof("Node expand volume %s to %d bytes", volumeID, requiredBytes)
diff --git a/pkg/driver/utils.go b/pkg/driver/utils.go
index e103079..837d5a4 100644
--- a/pkg/driver/utils.go
+++ b/pkg/driver/utils.go
@@ -33,6 +33,7 @@ func NewIdentityServer(d *SeaweedFsDriver) *IdentityServer {
}
func NewControllerServer(d *SeaweedFsDriver) *ControllerServer {
+
return &ControllerServer{
Driver: d,
}
@@ -124,7 +125,7 @@ func (km *KeyMutex) RemoveMutex(key string) {
}
func CheckDataLocality(dataLocality *datalocality.DataLocality, dataCenter *string) error {
- if(*dataLocality != datalocality.None && *dataCenter == ""){
+ if *dataLocality != datalocality.None && *dataCenter == "" {
return fmt.Errorf("dataLocality set, but not all locality-definitions were set")
}
return nil