Documentation

Index

Constants

View Source
const (
	// GCEPDCSIDriverName is the name of GCE Persistent Disk CSI driver
	GCEPDCSIDriverName = "pd.csi.storage.gke.io"
	// GCEPDCSIZoneTopologyKey is the key of GCE Persistent Disk CSI zone topology
	GCEPDCSIZoneTopologyKey = "topology.gke.io/zone"
)

Variables

This section is empty.

Functions

func InitAwsDriver

func InitAwsDriver() storageframework.TestDriver

InitAwsDriver returns awsDriver that implements TestDriver interface

func InitAzureDiskDriver

func InitAzureDiskDriver() storageframework.TestDriver

InitAzureDiskDriver returns azureDiskDriver that implements TestDriver interface

func InitCephFSDriver

func InitCephFSDriver() storageframework.TestDriver

InitCephFSDriver returns cephFSDriver that implements TestDriver interface

func InitCinderDriver

func InitCinderDriver() storageframework.TestDriver

InitCinderDriver returns cinderDriver that implements TestDriver interface

func InitEmptydirDriver

func InitEmptydirDriver() storageframework.TestDriver

InitEmptydirDriver returns emptydirDriver that implements TestDriver interface

func InitGcePDCSIDriver

func InitGcePDCSIDriver() storageframework.TestDriver

InitGcePDCSIDriver returns gcePDCSIDriver that implements TestDriver interface

func InitGcePdDriver

func InitGcePdDriver() storageframework.TestDriver

InitGcePdDriver returns gcePdDriver that implements TestDriver interface

func InitGlusterFSDriver

func InitGlusterFSDriver() storageframework.TestDriver

InitGlusterFSDriver returns glusterFSDriver that implements TestDriver interface

func InitHostPathCSIDriver

func InitHostPathCSIDriver() storageframework.TestDriver

InitHostPathCSIDriver returns hostpathCSIDriver that implements TestDriver interface

func InitHostPathDriver

func InitHostPathDriver() storageframework.TestDriver

InitHostPathDriver returns hostPathDriver that implements TestDriver interface

func InitHostPathSymlinkDriver

func InitHostPathSymlinkDriver() storageframework.TestDriver

InitHostPathSymlinkDriver returns hostPathSymlinkDriver that implements TestDriver interface

func InitISCSIDriver

func InitISCSIDriver() storageframework.TestDriver

InitISCSIDriver returns iSCSIDriver that implements TestDriver interface

func InitLocalDriverWithVolumeType

func InitLocalDriverWithVolumeType(volumeType utils.LocalVolumeType) func() storageframework.TestDriver

InitLocalDriverWithVolumeType initializes the local driver based on the volume type.

func InitNFSDriver

func InitNFSDriver() storageframework.TestDriver

InitNFSDriver returns nfsDriver that implements TestDriver interface

func InitRbdDriver

func InitRbdDriver() storageframework.TestDriver

InitRbdDriver returns rbdDriver that implements TestDriver interface

func InitVSphereDriver

func InitVSphereDriver() storageframework.TestDriver

InitVSphereDriver returns vSphereDriver that implements TestDriver interface

func InitWindowsGcePdDriver

func InitWindowsGcePdDriver() storageframework.TestDriver

InitWindowsGcePdDriver returns gcePdDriver running on Windows cluster that implements TestDriver interface In current test structure, it first initialize the driver and then set up the new framework, so we cannot get the correct OS here and select which file system is supported. So here uses a separate Windows in-tree gce pd driver

func WaitForCSIDriverRegistrationOnAllNodes

func WaitForCSIDriverRegistrationOnAllNodes(driverName string, cs clientset.Interface) error

WaitForCSIDriverRegistrationOnAllNodes waits for the CSINode object to be updated with the given driver on all schedulable nodes.

func WaitForCSIDriverRegistrationOnNode

func WaitForCSIDriverRegistrationOnNode(nodeName string, driverName string, cs clientset.Interface) error

WaitForCSIDriverRegistrationOnNode waits for the CSINode object generated by the node-registrar on a certain node

Types

type CSIMockDriverOpts

type CSIMockDriverOpts struct {
	RegisterDriver      bool
	DisableAttach       bool
	PodInfo             *bool
	StorageCapacity     *bool
	AttachLimit         int
	EnableTopology      bool
	EnableResizing      bool
	EnableNodeExpansion bool
	EnableSnapshot      bool
	TokenRequests       []storagev1.TokenRequest
	RequiresRepublish   *bool
	FSGroupPolicy       *storagev1.FSGroupPolicy

	// Embedded defines whether the CSI mock driver runs
	// inside the cluster (false, the default) or just a proxy
	// runs inside the cluster and all gRPC calls are handled
	// inside the e2e.test binary.
	Embedded bool

	// Hooks that will be called if (and only if!) the embedded
	// mock driver is used. Beware that hooks are invoked
	// asynchronously in different goroutines.
	Hooks Hooks
}

CSIMockDriverOpts defines options used for csi driver

type Hooks

type Hooks struct {
	// Pre is called before invoking the mock driver's implementation of a method.
	// If either a non-nil reply or error are returned, then those are returned to the caller.
	Pre func(ctx context.Context, method string, request interface{}) (reply interface{}, err error)

	// Post is called after invoking the mock driver's implementation of a method.
	// What it returns is used as actual result.
	Post func(ctx context.Context, method string, request, reply interface{}, err error) (finalReply interface{}, finalErr error)
}

Hooks to be run to execute while handling gRPC calls.

At the moment, only generic pre- and post-function call hooks are implemented. Those hooks can cast the request and response values if needed. More hooks inside specific functions could be added if needed.

type MockCSICall

type MockCSICall struct {
	Method  string
	Request struct {
		VolumeContext map[string]string `json:"volume_context"`
	}
	FullError struct {
		Code    codes.Code `json:"code"`
		Message string     `json:"message"`
	}
	Error string
	// contains filtered or unexported fields
}

Dummy structure that parses just volume_attributes and error code out of logged CSI call

type MockCSICalls

type MockCSICalls struct {
	// contains filtered or unexported fields
}

MockCSICalls is a Thread-safe storage for MockCSICall instances.

func (*MockCSICalls) Add

func (c *MockCSICalls) Add(call MockCSICall)

Add appens one new call at the end.

func (*MockCSICalls) Get

func (c *MockCSICalls) Get() []MockCSICall

Get returns all currently recorded calls.

func (*MockCSICalls) LogGRPC

func (c *MockCSICalls) LogGRPC(method string, request, reply interface{}, err error)

LogGRPC takes individual parameters from the mock CSI driver and adds them.

type MockCSITestDriver

type MockCSITestDriver interface {
	storageframework.DynamicPVTestDriver

	// GetCalls returns all currently observed gRPC calls. Only valid
	// after PrepareTest.
	GetCalls() ([]MockCSICall, error)
}

MockCSITestDriver provides additional functions specific to the CSI mock driver.

func InitMockCSIDriver

func InitMockCSIDriver(driverOpts CSIMockDriverOpts) MockCSITestDriver

InitMockCSIDriver returns a mockCSIDriver that implements TestDriver interface

Directories

Path Synopsis
csi-test
driver
Package driver is a generated GoMock package, with required copyright header added manually.
Package driver is a generated GoMock package, with required copyright header added manually.