Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions pkg/disk/api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
Expand Down Expand Up @@ -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{}
Expand Down
80 changes: 0 additions & 80 deletions pkg/disk/disk.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ package disk

import (
"context"
"fmt"
"strconv"

diskapi "github.com/kubernetes-csi/csi-proxy/pkg/disk/api"
"k8s.io/klog/v2"
Expand All @@ -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)

Expand All @@ -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)
Expand Down Expand Up @@ -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")

Expand All @@ -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
Expand All @@ -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)
Expand All @@ -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)
Expand Down
40 changes: 0 additions & 40 deletions pkg/disk/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
}

Expand Down Expand Up @@ -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
}
30 changes: 0 additions & 30 deletions pkg/filesystem/filesystem.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
43 changes: 0 additions & 43 deletions pkg/filesystem/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
27 changes: 0 additions & 27 deletions pkg/volume/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Loading