diff --git a/pkg/disk/api/api.go b/pkg/disk/api/api.go index 84f9a9a2..15e3be16 100644 --- a/pkg/disk/api/api.go +++ b/pkg/disk/api/api.go @@ -38,8 +38,6 @@ type API interface { CreateBasicPartition(diskNumber uint32) error // Rescan updates the host storage cache (re-enumerates disk, partition and volume objects) Rescan() error - // GetDiskNumberByName gets a disk number by page83 ID (disk name) - GetDiskNumberByName(page83ID string) (uint32, error) // ListDiskIDs list all disks by disk number. ListDiskIDs() (map[uint32]DiskIDs, error) // GetDiskStats gets the disk stats of the disk `diskNumber`. @@ -171,11 +169,6 @@ func (DiskAPI) CreateBasicPartition(diskNumber uint32) error { return nil } -func (imp DiskAPI) GetDiskNumberByName(page83ID string) (uint32, error) { - diskNumber, err := imp.GetDiskNumberWithID(page83ID) - return diskNumber, err -} - func (DiskAPI) GetDiskNumber(disk syscall.Handle) (uint32, error) { var bytes uint32 devNum := StorageDeviceNumber{} diff --git a/pkg/disk/disk.go b/pkg/disk/disk.go index 8095e8f4..01dc6657 100644 --- a/pkg/disk/disk.go +++ b/pkg/disk/disk.go @@ -2,8 +2,6 @@ package disk import ( "context" - "fmt" - "strconv" diskapi "github.com/kubernetes-csi/csi-proxy/pkg/disk/api" "k8s.io/klog/v2" @@ -14,9 +12,6 @@ type Disk struct { } type Interface interface { - DiskStats(context.Context, *DiskStatsRequest) (*DiskStatsResponse, error) - GetAttachState(context.Context, *GetAttachStateRequest) (*GetAttachStateResponse, error) - GetDiskNumberByName(context.Context, *GetDiskNumberByNameRequest) (*GetDiskNumberByNameResponse, error) // GetDiskState gets the offline/online state of a disk. GetDiskState(context.Context, *GetDiskStateRequest) (*GetDiskStateResponse, error) @@ -36,7 +31,6 @@ type Interface interface { // Rescan refreshes the host's storage cache. Rescan(context.Context, *RescanRequest) (*RescanResponse, error) - SetAttachState(context.Context, *SetAttachStateRequest) (*SetAttachStateResponse, error) // SetDiskState sets the offline/online state of a disk. SetDiskState(context.Context, *SetDiskStateRequest) (*SetDiskStateResponse, error) @@ -123,19 +117,6 @@ func (d *Disk) Rescan(context context.Context, request *RescanRequest) (*RescanR return response, nil } -func (d *Disk) GetDiskNumberByName(context context.Context, request *GetDiskNumberByNameRequest) (*GetDiskNumberByNameResponse, error) { - klog.V(4).Infof("Request: GetDiskNumberByName with diskName %q", request.DiskName) - response := &GetDiskNumberByNameResponse{} - diskName := request.DiskName - number, err := d.hostAPI.GetDiskNumberByName(diskName) - if err != nil { - klog.Errorf("GetDiskNumberByName failed: %v", err) - return nil, err - } - response.DiskNumber = number - return response, nil -} - func (d *Disk) ListDiskIDs(context context.Context, request *ListDiskIDsRequest) (*ListDiskIDsResponse, error) { klog.V(4).Infof("Request: ListDiskIDs") @@ -158,26 +139,6 @@ func (d *Disk) ListDiskIDs(context context.Context, request *ListDiskIDsRequest) return response, nil } -func (d *Disk) DiskStats(context context.Context, request *DiskStatsRequest) (*DiskStatsResponse, error) { - klog.V(2).Infof("Request: DiskStats: diskNumber=%d", request.DiskID) - // forward to GetDiskStats - diskNumber, err := strconv.ParseUint(request.DiskID, 10, 64) - if err != nil { - return nil, fmt.Errorf("Failed to format DiskStatsRequest.DiskID with err: %w", err) - } - getDiskStatsRequest := &GetDiskStatsRequest{ - DiskNumber: uint32(diskNumber), - } - getDiskStatsResponse, err := d.GetDiskStats(context, getDiskStatsRequest) - if err != nil { - klog.Errorf("Forward to GetDiskStats failed: %+v", err) - return nil, err - } - return &DiskStatsResponse{ - DiskSize: getDiskStatsResponse.TotalBytes, - }, nil -} - func (d *Disk) GetDiskStats(context context.Context, request *GetDiskStatsRequest) (*GetDiskStatsResponse, error) { klog.V(2).Infof("Request: GetDiskStats: diskNumber=%d", request.DiskNumber) diskNumber := request.DiskNumber @@ -191,26 +152,6 @@ func (d *Disk) GetDiskStats(context context.Context, request *GetDiskStatsReques }, nil } -func (d *Disk) SetAttachState(context context.Context, request *SetAttachStateRequest) (*SetAttachStateResponse, error) { - klog.V(2).Infof("Request: SetAttachState: %+v", request) - - // forward to SetDiskState - diskNumber, err := strconv.ParseUint(request.DiskID, 10, 64) - if err != nil { - return nil, fmt.Errorf("Failed to format SetAttachStateRequest.DiskID with err: %w", err) - } - setDiskStateRequest := &SetDiskStateRequest{ - DiskNumber: uint32(diskNumber), - IsOnline: request.IsOnline, - } - _, err = d.SetDiskState(context, setDiskStateRequest) - if err != nil { - klog.Errorf("Forward to SetDiskState failed with: %+v", err) - return nil, err - } - return &SetAttachStateResponse{}, nil -} - func (d *Disk) SetDiskState(context context.Context, request *SetDiskStateRequest) (*SetDiskStateResponse, error) { klog.V(2).Infof("Request: SetDiskState with diskNumber=%d and isOnline=%v", request.DiskNumber, request.IsOnline) err := d.hostAPI.SetDiskState(request.DiskNumber, request.IsOnline) @@ -221,27 +162,6 @@ func (d *Disk) SetDiskState(context context.Context, request *SetDiskStateReques return &SetDiskStateResponse{}, nil } -func (d *Disk) GetAttachState(context context.Context, request *GetAttachStateRequest) (*GetAttachStateResponse, error) { - klog.V(2).Infof("Request: GetAttachState: %+v", request) - - // forward to GetDiskState - diskNumber, err := strconv.ParseUint(request.DiskID, 10, 64) - if err != nil { - return nil, fmt.Errorf("Failed to format GetAttachStateRequest.DiskID with err: %w", err) - } - getDiskStateRequest := &GetDiskStateRequest{ - DiskNumber: uint32(diskNumber), - } - getDiskStateResponse, err := d.GetDiskState(context, getDiskStateRequest) - if err != nil { - klog.Errorf("Forward to GetDiskState failed with: %+v", err) - return nil, err - } - return &GetAttachStateResponse{ - IsOnline: getDiskStateResponse.IsOnline, - }, nil -} - func (d *Disk) GetDiskState(context context.Context, request *GetDiskStateRequest) (*GetDiskStateResponse, error) { klog.V(4).Infof("Request: GetDiskState with diskNumber=%d", request.DiskNumber) isOnline, err := d.hostAPI.GetDiskState(request.DiskNumber) diff --git a/pkg/disk/types.go b/pkg/disk/types.go index 05225f88..c1c9b4db 100644 --- a/pkg/disk/types.go +++ b/pkg/disk/types.go @@ -29,15 +29,6 @@ type RescanRequest struct { type RescanResponse struct { } -type GetDiskNumberByNameRequest struct { - // Disk name is the page83 ID of the disk - DiskName string -} - -type GetDiskNumberByNameResponse struct { - DiskNumber uint32 -} - type ListDiskIDsRequest struct { } @@ -80,34 +71,3 @@ type GetDiskStateResponse struct { // Online state of the disk. true for online, false for offline IsOnline bool } - -// These structs are used in pre v1beta3 API versions - -type DiskStatsRequest struct { - DiskID string -} - -type DiskStatsResponse struct { - DiskSize int64 -} - -type SetAttachStateRequest struct { - // Disk device ID of the disk which state will change - DiskID string - - // Online state to set for the disk. true for online, false for offline - IsOnline bool -} - -type SetAttachStateResponse struct { -} - -type GetAttachStateRequest struct { - // Disk device ID of the disk - DiskID string -} - -type GetAttachStateResponse struct { - // Online state of the disk. true for online, false for offline - IsOnline bool -} diff --git a/pkg/filesystem/filesystem.go b/pkg/filesystem/filesystem.go index 0e9b2e0c..3277ba36 100644 --- a/pkg/filesystem/filesystem.go +++ b/pkg/filesystem/filesystem.go @@ -16,11 +16,9 @@ type Interface interface { // in the host filesystem (target_path is the name of the symbolic link created, // source_path is the existing path). CreateSymlink(context.Context, *CreateSymlinkRequest) (*CreateSymlinkResponse, error) - IsMountPoint(context.Context, *IsMountPointRequest) (*IsMountPointResponse, error) // IsSymlink checks if a given path is a symlink. IsSymlink(context.Context, *IsSymlinkRequest) (*IsSymlinkResponse, error) - LinkPath(context.Context, *LinkPathRequest) (*LinkPathResponse, error) // Mkdir creates a directory at the requested path in the host filesystem. Mkdir(context.Context, *MkdirRequest) (*MkdirResponse, error) @@ -121,19 +119,6 @@ func (f *Filesystem) RmdirContents(ctx context.Context, request *RmdirContentsRe return nil, err } -func (f *Filesystem) LinkPath(ctx context.Context, request *LinkPathRequest) (*LinkPathResponse, error) { - klog.V(2).Infof("Request: LinkPath with targetPath=%q sourcePath=%q", request.TargetPath, request.SourcePath) - createSymlinkRequest := &CreateSymlinkRequest{ - SourcePath: request.SourcePath, - TargetPath: request.TargetPath, - } - if _, err := f.CreateSymlink(ctx, createSymlinkRequest); err != nil { - klog.Errorf("Failed to forward to CreateSymlink: %v", err) - return nil, err - } - return &LinkPathResponse{}, nil -} - func (f *Filesystem) CreateSymlink(ctx context.Context, request *CreateSymlinkRequest) (*CreateSymlinkResponse, error) { klog.V(2).Infof("Request: CreateSymlink with targetPath=%q sourcePath=%q", request.TargetPath, request.SourcePath) err := ValidatePathWindows(request.TargetPath) @@ -154,21 +139,6 @@ func (f *Filesystem) CreateSymlink(ctx context.Context, request *CreateSymlinkRe return &CreateSymlinkResponse{}, nil } -func (f *Filesystem) IsMountPoint(ctx context.Context, request *IsMountPointRequest) (*IsMountPointResponse, error) { - klog.V(2).Infof("Request: IsMountPoint with path=%q", request.Path) - isSymlinkRequest := &IsSymlinkRequest{ - Path: request.Path, - } - isSymlinkResponse, err := f.IsSymlink(ctx, isSymlinkRequest) - if err != nil { - klog.Errorf("Failed to forward to IsSymlink: %v", err) - return nil, err - } - return &IsMountPointResponse{ - IsMountPoint: isSymlinkResponse.IsSymlink, - }, nil -} - func (f *Filesystem) IsSymlink(ctx context.Context, request *IsSymlinkRequest) (*IsSymlinkResponse, error) { klog.V(2).Infof("Request: IsSymlink with path=%q", request.Path) isSymlink, err := f.hostAPI.IsSymlink(request.Path) diff --git a/pkg/filesystem/types.go b/pkg/filesystem/types.go index d00509a6..1544afba 100644 --- a/pkg/filesystem/types.go +++ b/pkg/filesystem/types.go @@ -139,46 +139,3 @@ type IsSymlinkRequest struct { type IsSymlinkResponse struct { IsSymlink bool } - -// Compatibility for pre v1beta2 APIs - -type LinkPathRequest struct { - // The path where the symlink is created in the host's filesystem. - // All special characters allowed by Windows in path names will be allowed - // except for restrictions noted below. For details, please check: - // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file - // - // Restrictions: - // Only absolute path (indicated by a drive letter prefix: e.g. "C:\") is accepted. - // UNC paths of the form "\\server\share\path\file" are not allowed. - // All directory separators need to be backslash character: "\". - // Characters: .. / : | ? * in the path are not allowed. - // source_path cannot already exist in the host filesystem. - // Maximum path length will be capped to 260 characters. - SourcePath string - // Target path in the host's filesystem used for the symlink creation. - // All special characters allowed by Windows in path names will be allowed - // except for restrictions noted below. For details, please check: - // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file - // - // Restrictions: - // Only absolute path (indicated by a drive letter prefix: e.g. "C:\") is accepted. - // UNC paths of the form "\\server\share\path\file" are not allowed. - // All directory separators need to be backslash character: "\". - // Characters: .. / : | ? * in the path are not allowed. - // target_path needs to exist as a directory in the host that is empty. - // target_path cannot be a symbolic link. - // Maximum path length will be capped to 260 characters. - TargetPath string -} - -type LinkPathResponse struct { -} - -type IsMountPointRequest struct { - Path string -} - -type IsMountPointResponse struct { - IsMountPoint bool -} diff --git a/pkg/volume/types.go b/pkg/volume/types.go index 4584f68d..5c6c4e8a 100644 --- a/pkg/volume/types.go +++ b/pkg/volume/types.go @@ -87,30 +87,3 @@ type GetClosestVolumeIDFromTargetPathRequest struct { type GetClosestVolumeIDFromTargetPathResponse struct { VolumeId string } - -// These structs are used in APIs less than v1beta3 and rerouted internally - -type DismountVolumeRequest struct { - VolumeId string - Path string -} -type DismountVolumeResponse struct{} -type VolumeDiskNumberRequest struct { - VolumeId string -} -type VolumeDiskNumberResponse struct { - DiskNumber int64 -} -type VolumeIDFromMountRequest struct { - Mount string -} -type VolumeIDFromMountResponse struct { - VolumeId string -} -type VolumeStatsRequest struct { - VolumeId string -} -type VolumeStatsResponse struct { - VolumeSize int64 - VolumeUsedSize int64 -} diff --git a/pkg/volume/volume.go b/pkg/volume/volume.go index 5733f510..26fdf251 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -14,7 +14,6 @@ type Volume struct { } type Interface interface { - DismountVolume(context.Context, *DismountVolumeRequest) (*DismountVolumeResponse, error) // FormatVolume formats a volume with NTFS. FormatVolume(context.Context, *FormatVolumeRequest) (*FormatVolumeResponse, error) @@ -25,8 +24,6 @@ type Interface interface { // GetDiskNumberFromVolumeID gets the disk number of the disk where the volume is located. GetDiskNumberFromVolumeID(context.Context, *GetDiskNumberFromVolumeIDRequest) (*GetDiskNumberFromVolumeIDResponse, error) - GetVolumeDiskNumber(context.Context, *VolumeDiskNumberRequest) (*VolumeDiskNumberResponse, error) - GetVolumeIDFromMount(context.Context, *VolumeIDFromMountRequest) (*VolumeIDFromMountResponse, error) // GetVolumeIDFromTargetPath gets the volume id for a given target path. GetVolumeIDFromTargetPath(context.Context, *GetVolumeIDFromTargetPathRequest) (*GetVolumeIDFromTargetPathResponse, error) @@ -49,7 +46,6 @@ type Interface interface { // UnmountVolume flushes data cache to disk and removes the global staging path. UnmountVolume(context.Context, *UnmountVolumeRequest) (*UnmountVolumeResponse, error) - VolumeStats(context.Context, *VolumeStatsRequest) (*VolumeStatsResponse, error) // WriteVolumeCache write volume cache to disk. WriteVolumeCache(context.Context, *WriteVolumeCacheRequest) (*WriteVolumeCacheResponse, error) @@ -100,19 +96,6 @@ func (v *Volume) MountVolume(context context.Context, request *MountVolumeReques return response, nil } -func (v *Volume) DismountVolume(context context.Context, request *DismountVolumeRequest) (*DismountVolumeResponse, error) { - unmountVolumeRequest := &UnmountVolumeRequest{ - VolumeId: request.VolumeId, - TargetPath: request.Path, - } - _, err := v.UnmountVolume(context, unmountVolumeRequest) - if err != nil { - return nil, fmt.Errorf("Forward to UnmountVolume failed, err=%+v", err) - } - dismountVolumeResponse := &DismountVolumeResponse{} - return dismountVolumeResponse, nil -} - func (v *Volume) UnmountVolume(context context.Context, request *UnmountVolumeRequest) (*UnmountVolumeResponse, error) { klog.V(2).Infof("UnmountVolume: Request: %+v", request) response := &UnmountVolumeResponse{} @@ -210,21 +193,6 @@ func (v *Volume) ResizeVolume(context context.Context, request *ResizeVolumeRequ return response, nil } -func (v *Volume) VolumeStats(context context.Context, request *VolumeStatsRequest) (*VolumeStatsResponse, error) { - getVolumeStatsRequest := &GetVolumeStatsRequest{ - VolumeId: request.VolumeId, - } - getVolumeStatsResponse, err := v.GetVolumeStats(context, getVolumeStatsRequest) - if err != nil { - return nil, fmt.Errorf("Forward to GetVolumeStats failed, err=%+v", err) - } - volumeStatsResponse := &VolumeStatsResponse{ - VolumeSize: getVolumeStatsResponse.TotalBytes, - VolumeUsedSize: getVolumeStatsResponse.UsedBytes, - } - return volumeStatsResponse, nil -} - func (v *Volume) GetVolumeStats(context context.Context, request *GetVolumeStatsRequest) (*GetVolumeStatsResponse, error) { klog.V(2).Infof("GetVolumeStats: Request: %+v", request) volumeID := request.VolumeId @@ -248,20 +216,6 @@ func (v *Volume) GetVolumeStats(context context.Context, request *GetVolumeStats return response, nil } -func (v *Volume) GetVolumeDiskNumber(context context.Context, request *VolumeDiskNumberRequest) (*VolumeDiskNumberResponse, error) { - getDiskNumberFromVolumeIDRequest := &GetDiskNumberFromVolumeIDRequest{ - VolumeId: request.VolumeId, - } - getDiskNumberFromVolumeIDResponse, err := v.GetDiskNumberFromVolumeID(context, getDiskNumberFromVolumeIDRequest) - if err != nil { - return nil, fmt.Errorf("Forward to GetDiskNumberFromVolumeID failed, err=%+v", err) - } - volumeStatsResponse := &VolumeDiskNumberResponse{ - DiskNumber: int64(getDiskNumberFromVolumeIDResponse.DiskNumber), - } - return volumeStatsResponse, nil -} - func (v *Volume) GetDiskNumberFromVolumeID(context context.Context, request *GetDiskNumberFromVolumeIDRequest) (*GetDiskNumberFromVolumeIDResponse, error) { klog.V(2).Infof("GetDiskNumberFromVolumeID: Request: %+v", request) @@ -283,20 +237,6 @@ func (v *Volume) GetDiskNumberFromVolumeID(context context.Context, request *Get return response, nil } -func (v *Volume) GetVolumeIDFromMount(context context.Context, request *VolumeIDFromMountRequest) (*VolumeIDFromMountResponse, error) { - getVolumeIDFromTargetPathRequest := &GetVolumeIDFromTargetPathRequest{ - TargetPath: request.Mount, - } - getVolumeIDFromTargetPathResponse, err := v.GetVolumeIDFromTargetPath(context, getVolumeIDFromTargetPathRequest) - if err != nil { - return nil, fmt.Errorf("Forward to GetVolumeIDFromTargetPath failed, err=%+v", err) - } - volumeIDFromMountResponse := &VolumeIDFromMountResponse{ - VolumeId: getVolumeIDFromTargetPathResponse.VolumeId, - } - return volumeIDFromMountResponse, nil -} - func (v *Volume) GetVolumeIDFromTargetPath(context context.Context, request *GetVolumeIDFromTargetPathRequest) (*GetVolumeIDFromTargetPathResponse, error) { klog.V(2).Infof("GetVolumeIDFromTargetPath: Request: %+v", request)