diff options
Diffstat (limited to 'pkg/driver/driver.go')
| -rw-r--r-- | pkg/driver/driver.go | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/pkg/driver/driver.go b/pkg/driver/driver.go index d090613..df46223 100644 --- a/pkg/driver/driver.go +++ b/pkg/driver/driver.go @@ -1,8 +1,15 @@ package driver import ( + "fmt" + "os" + "github.com/container-storage-interface/spec/lib/go/csi" "github.com/golang/glog" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "k8s.io/klog" + "k8s.io/client-go/rest" ) const ( @@ -23,8 +30,6 @@ type SeaweedFsDriver struct { vcap []*csi.VolumeCapability_AccessMode cscap []*csi.ControllerServiceCapability - filer string - pathOnFiler string } func NewSeaweedFsDriver(nodeID, endpoint string) *SeaweedFsDriver { @@ -48,11 +53,13 @@ func NewSeaweedFsDriver(nodeID, endpoint string) *SeaweedFsDriver { return n } -func NewNodeServer(n *SeaweedFsDriver) *NodeServer { - - return &NodeServer{ - Driver: n, +func (n *SeaweedFsDriver) initClient() error { + _, err := rest.InClusterConfig() + if err != nil { + klog.Errorf("Failed to get cluster config with error: %v\n", err) + os.Exit(1) } + return nil } func (n *SeaweedFsDriver) Run() { @@ -87,16 +94,15 @@ func (n *SeaweedFsDriver) AddControllerServiceCapabilities(cl []csi.ControllerSe return } -func (n *SeaweedFsDriver) createBucket(volumeId string, seaweedFsVolumeCount int) error { - // TODO implement seaweedFsVolumeCount later - return nil -} -func (n *SeaweedFsDriver) deleteBucket(volumeId string) error { - return nil -} -func (n *SeaweedFsDriver) mount(source string, targetPath string) error { - return nil -} -func (n *SeaweedFsDriver) unmount(targetPath string) error { - return nil +func (d *SeaweedFsDriver) ValidateControllerServiceRequest(c csi.ControllerServiceCapability_RPC_Type) error { + if c == csi.ControllerServiceCapability_RPC_UNKNOWN { + return nil + } + + for _, cap := range d.cscap { + if c == cap.GetRpc().GetType() { + return nil + } + } + return status.Error(codes.InvalidArgument, fmt.Sprintf("%s", c)) } |
