diff options
Diffstat (limited to 'pkg/driver')
| -rw-r--r-- | pkg/driver/controllerserver.go | 22 | ||||
| -rw-r--r-- | pkg/driver/driver.go | 2 | ||||
| -rw-r--r-- | pkg/driver/nodeserver.go | 14 | ||||
| -rw-r--r-- | pkg/driver/utils.go | 3 |
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 |
