Back to godoc.org
k8s.io/kubernetes / pkg / volume / testing

package testing

v1.18.5
Latest Go to latest
Published: Jun 26, 2020 | License: Apache-2.0 | Module: k8s.io/kubernetes

Index

Constants

const (
	// A hook specified in storage class to indicate it's provisioning
	// is expected to fail.
	ExpectProvisionFailureKey = "expect-provision-failure"
	// The node is marked as uncertain. The attach operation will fail and return timeout error
	// for the first attach call. The following call will return sucesssfully.
	UncertainAttachNode = "uncertain-attach-node"
	// The node is marked as timeout. The attach operation will always fail and return timeout error
	// but the operation is actually succeeded.
	TimeoutAttachNode = "timeout-attach-node"
	// The node is marked as multi-attach which means it is allowed to attach the volume to multiple nodes.
	MultiAttachNode = "multi-attach-node"
	// TimeoutOnSetupVolumeName will cause Setup call to timeout but volume will finish mounting.
	TimeoutOnSetupVolumeName = "timeout-setup-volume"
	// FailOnSetupVolumeName will cause setup call to fail
	FailOnSetupVolumeName = "fail-setup-volume"
	//TimeoutAndFailOnSetupVolumeName will first timeout and then fail the setup
	TimeoutAndFailOnSetupVolumeName = "timeout-and-fail-setup-volume"
	// SuccessAndTimeoutSetupVolumeName will cause first mount operation to succeed but subsequent attempts to timeout
	SuccessAndTimeoutSetupVolumeName = "success-and-timeout-setup-volume-name"
	// SuccessAndFailOnSetupVolumeName will cause first mount operation to succeed but subsequent attempts to fail
	SuccessAndFailOnSetupVolumeName = "success-and-failed-setup-device-name"

	// TimeoutOnMountDeviceVolumeName will cause MountDevice call to timeout but Setup will finish.
	TimeoutOnMountDeviceVolumeName = "timeout-mount-device-volume"
	// TimeoutAndFailOnMountDeviceVolumeName will cause first MountDevice call to timeout but second call will fail
	TimeoutAndFailOnMountDeviceVolumeName = "timeout-and-fail-mount-device-name"
	// FailMountDeviceVolumeName will cause MountDevice operation on volume to fail
	FailMountDeviceVolumeName = "fail-mount-device-volume-name"
	// SuccessAndTimeoutDeviceName will cause first mount operation to succeed but subsequent attempts to timeout
	SuccessAndTimeoutDeviceName = "success-and-timeout-device-name"
	// SuccessAndFailOnMountDeviceName will cause first mount operation to succeed but subsequent attempts to fail
	SuccessAndFailOnMountDeviceName = "success-and-failed-mount-device-name"
)

func CreateTestPVC

func CreateTestPVC(capacity string, accessModes []v1.PersistentVolumeAccessMode) *v1.PersistentVolumeClaim

CreateTestPVC returns a provisionable PVC for tests

func FindEmptyDirectoryUsageOnTmpfs

func FindEmptyDirectoryUsageOnTmpfs() (*resource.Quantity, error)

FindEmptyDirectoryUsageOnTmpfs finds the expected usage of an empty directory existing on a tmpfs filesystem on this system.

func GetTestVolumePluginMgr

func GetTestVolumePluginMgr(
	t *testing.T) (*VolumePluginMgr, *FakeVolumePlugin)

GetTestVolumePluginMgr creates, initializes, and returns a test volume plugin manager and fake volume plugin using a fake volume host.

func MetricsEqualIgnoreTimestamp

func MetricsEqualIgnoreTimestamp(a *Metrics, b *Metrics) bool

func NewBlockVolumePathHandler

func NewBlockVolumePathHandler() volumepathhandler.BlockVolumePathHandler

NewDeviceHandler Create a new IoHandler implementation

func NewFakeFileVolumePlugin

func NewFakeFileVolumePlugin() []VolumePlugin

func NewFakeVolumeHost

func NewFakeVolumeHost(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin) *fakeVolumeHost

func NewFakeVolumeHostWithCSINodeName

func NewFakeVolumeHostWithCSINodeName(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) *fakeVolumeHost

func NewFakeVolumeHostWithCloudProvider

func NewFakeVolumeHostWithCloudProvider(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, cloud cloudprovider.Interface) *fakeVolumeHost

func NewFakeVolumeHostWithMounterFSType

func NewFakeVolumeHostWithMounterFSType(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, pathToTypeMap map[string]hostutil.FileType) *fakeVolumeHost

func NewFakeVolumeHostWithNodeLabels

func NewFakeVolumeHostWithNodeLabels(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, labels map[string]string) *fakeVolumeHost

func ProbeVolumePlugins

func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin

func ScriptCommands

func ScriptCommands(fe *testingexec.FakeExec, scripts []CommandScript)

ScriptCommands configures fe, the FakeExec, to have a pre-configured list of commands to expect. Calling more commands using fe than those scripted will result in a panic. By default, the fe does not enforce command argument checking or order -- if you have given an Output to the command, the first command scripted will return its output on the first command call, even if the command called is different than the one scripted. This is mostly useful to make sure that the right number of commands were called. If you want to check the exact commands and arguments were called, set fe.ExectOrder to true.

func VerifyAttachCallCount

func VerifyAttachCallCount(
	expectedAttachCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyAttachCallCount ensures that at least one of the Attachers for this plugin has the expectedAttachCallCount number of calls. Otherwise it returns an error.

func VerifyDetachCallCount

func VerifyDetachCallCount(
	expectedDetachCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyDetachCallCount ensures that at least one of the Attachers for this plugin has the expectedDetachCallCount number of calls. Otherwise it returns an error.

func VerifyGetGlobalMapPathCallCount

func VerifyGetGlobalMapPathCallCount(
	expectedGlobalMapPathCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyGetGlobalMapPathCallCount ensures that at least one of the Mappers for this plugin has the expectedGlobalMapPathCallCount number of calls. Otherwise it returns an error.

func VerifyGetMapPodDeviceCallCount

func VerifyGetMapPodDeviceCallCount(
	expectedMapPodDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyGetMapPodDeviceCallCount ensures that at least one of the Mappers for this plugin has the expectedMapPodDeviceCallCount number of calls. Otherwise it returns an error.

func VerifyGetPodDeviceMapPathCallCount

func VerifyGetPodDeviceMapPathCallCount(
	expectedPodDeviceMapPathCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyGetPodDeviceMapPathCallCount ensures that at least one of the Mappers for this plugin has the expectedPodDeviceMapPathCallCount number of calls. Otherwise it returns an error.

func VerifyMountDeviceCallCount

func VerifyMountDeviceCallCount(
	expectedMountDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyMountDeviceCallCount ensures that at least one of the Mounters for this plugin has the expectedMountDeviceCallCount number of calls. Otherwise it returns an error.

func VerifySetUpCallCount

func VerifySetUpCallCount(
	expectedSetUpCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifySetUpCallCount ensures that at least one of the Mounters for this plugin has the expectedSetUpCallCount number of calls. Otherwise it returns an error.

func VerifySetUpDeviceCallCount

func VerifySetUpDeviceCallCount(
	expectedSetUpDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifySetUpDeviceCallCount ensures that at least one of the Mappers for this plugin has the expectedSetUpDeviceCallCount number of calls. Otherwise it returns an error.

func VerifyTearDownCallCount

func VerifyTearDownCallCount(
	expectedTearDownCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyTearDownCallCount ensures that at least one of the Unounters for this plugin has the expectedTearDownCallCount number of calls. Otherwise it returns an error.

func VerifyTearDownDeviceCallCount

func VerifyTearDownDeviceCallCount(
	expectedTearDownDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyTearDownDeviceCallCount ensures that at least one of the Unmappers for this plugin has the expectedTearDownDeviceCallCount number of calls. Otherwise it returns an error.

func VerifyUnmapPodDeviceCallCount

func VerifyUnmapPodDeviceCallCount(
	expectedUnmapPodDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyUnmapPodDeviceCallCount ensures that at least one of the Unmappers for this plugin has the expected number of UnmapPodDevice calls. Otherwise it returns an error.

func VerifyUnmountDeviceCallCount

func VerifyUnmountDeviceCallCount(expectedCallCount int, fakeVolumePlugin *FakeVolumePlugin) error

func VerifyWaitForAttachCallCount

func VerifyWaitForAttachCallCount(
	expectedWaitForAttachCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyWaitForAttachCallCount ensures that at least one of the Mounters for this plugin has the expectedWaitForAttachCallCount number of calls. Otherwise it returns an error.

func VerifyZeroAttachCalls

func VerifyZeroAttachCalls(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroAttachCalls ensures that all of the Attachers for this plugin have a zero AttachCallCount. Otherwise it returns an error.

func VerifyZeroDetachCallCount

func VerifyZeroDetachCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroDetachCallCount ensures that all Detachers for this plugin have a zero DetachCallCount. Otherwise it returns an error.

func VerifyZeroMountDeviceCallCount

func VerifyZeroMountDeviceCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroMountDeviceCallCount ensures that all Attachers for this plugin have a zero MountDeviceCallCount. Otherwise it returns an error.

func VerifyZeroSetUpCallCount

func VerifyZeroSetUpCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroSetUpCallCount ensures that all Mounters for this plugin have a zero SetUpCallCount. Otherwise it returns an error.

func VerifyZeroTearDownCallCount

func VerifyZeroTearDownCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroTearDownCallCount ensures that all Mounters for this plugin have a zero TearDownCallCount. Otherwise it returns an error.

func VerifyZeroTearDownDeviceCallCount

func VerifyZeroTearDownDeviceCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroTearDownDeviceCallCount ensures that all Mappers for this plugin have a zero TearDownDeviceCallCount. Otherwise it returns an error.

func VerifyZeroUnmapPodDeviceCallCount

func VerifyZeroUnmapPodDeviceCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroUnmapPodDeviceCallCount ensures that all Mappers for this plugin have a zero UnmapPodDevice calls. Otherwise it returns an error.

func VerifyZeroWaitForAttachCallCount

func VerifyZeroWaitForAttachCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroWaitForAttachCallCount ensures that all Attachers for this plugin have a zero WaitForAttachCallCount. Otherwise it returns an error.

type CommandScript

type CommandScript struct {
	// Cmd is the command to execute, e.g. "ls"
	Cmd string
	// Args is a slice of arguments to pass to the command, e.g. "-a"
	Args []string
	// Output is the combined stdout and stderr of the command to return
	Output string
	// ReturnCode is the exit code for the command. Setting this to non-zero will
	// cause the command to return an error with this exit code set.
	ReturnCode int
}

CommandScript is used to pre-configure a command that will be executed and optionally set it's output (stdout and stderr combined) and return code.

type FakeAttachableVolumePlugin

type FakeAttachableVolumePlugin struct {
	FakeDeviceMountableVolumePlugin
}

FakeAttachableVolumePlugin implements an attachable plugin based on FakeDeviceMountableVolumePlugin.

func (*FakeAttachableVolumePlugin) CanAttach

func (f *FakeAttachableVolumePlugin) CanAttach(spec *Spec) (bool, error)

func (*FakeAttachableVolumePlugin) NewAttacher

func (f *FakeAttachableVolumePlugin) NewAttacher() (Attacher, error)

func (*FakeAttachableVolumePlugin) NewDetacher

func (f *FakeAttachableVolumePlugin) NewDetacher() (Detacher, error)

type FakeBasicVolumePlugin

type FakeBasicVolumePlugin struct {
	Plugin FakeVolumePlugin
}

FakeBasicVolumePlugin implements a basic volume plugin. It wrappers on FakeVolumePlugin but implements VolumePlugin interface only. It is useful to test logic involving plugin interfaces.

func (*FakeBasicVolumePlugin) CanSupport

func (f *FakeBasicVolumePlugin) CanSupport(spec *Spec) bool

CanSupport tests whether the plugin supports a given volume specification by testing volume spec name begins with plugin name or not. This is useful to choose plugin by volume in testing.

func (*FakeBasicVolumePlugin) ConstructVolumeSpec

func (f *FakeBasicVolumePlugin) ConstructVolumeSpec(ame, mountPath string) (*Spec, error)

func (*FakeBasicVolumePlugin) GetPluginName

func (f *FakeBasicVolumePlugin) GetPluginName() string

func (*FakeBasicVolumePlugin) GetVolumeName

func (f *FakeBasicVolumePlugin) GetVolumeName(spec *Spec) (string, error)

func (*FakeBasicVolumePlugin) Init

func (f *FakeBasicVolumePlugin) Init(ost VolumeHost) error

func (*FakeBasicVolumePlugin) NewMounter

func (f *FakeBasicVolumePlugin) NewMounter(spec *Spec, pod *v1.Pod, opts VolumeOptions) (Mounter, error)

func (*FakeBasicVolumePlugin) NewUnmounter

func (f *FakeBasicVolumePlugin) NewUnmounter(volName string, podUID types.UID) (Unmounter, error)

func (*FakeBasicVolumePlugin) RequiresRemount

func (f *FakeBasicVolumePlugin) RequiresRemount() bool

func (*FakeBasicVolumePlugin) SupportsBulkVolumeVerification

func (f *FakeBasicVolumePlugin) SupportsBulkVolumeVerification() bool

func (*FakeBasicVolumePlugin) SupportsMountOption

func (f *FakeBasicVolumePlugin) SupportsMountOption() bool

type FakeDeleter

type FakeDeleter struct {
	MetricsNil
	// contains filtered or unexported fields
}

func (*FakeDeleter) Delete

func (fd *FakeDeleter) Delete() error

func (*FakeDeleter) GetPath

func (fd *FakeDeleter) GetPath() string

type FakeDeviceMountableVolumePlugin

type FakeDeviceMountableVolumePlugin struct {
	FakeBasicVolumePlugin
}

FakeDeviceMountableVolumePlugin implements an device mountable plugin based on FakeBasicVolumePlugin.

func (*FakeDeviceMountableVolumePlugin) CanDeviceMount

func (f *FakeDeviceMountableVolumePlugin) CanDeviceMount(spec *Spec) (bool, error)

func (*FakeDeviceMountableVolumePlugin) GetDeviceMountRefs

func (f *FakeDeviceMountableVolumePlugin) GetDeviceMountRefs(deviceMountPath string) ([]string, error)

func (*FakeDeviceMountableVolumePlugin) NewDeviceMounter

func (f *FakeDeviceMountableVolumePlugin) NewDeviceMounter() (DeviceMounter, error)

func (*FakeDeviceMountableVolumePlugin) NewDeviceUnmounter

func (f *FakeDeviceMountableVolumePlugin) NewDeviceUnmounter() (DeviceUnmounter, error)

type FakeFileVolumePlugin

type FakeFileVolumePlugin struct {
}

func (*FakeFileVolumePlugin) CanSupport

func (plugin *FakeFileVolumePlugin) CanSupport(spec *Spec) bool

func (*FakeFileVolumePlugin) ConstructVolumeSpec

func (plugin *FakeFileVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*Spec, error)

func (*FakeFileVolumePlugin) GetPluginName

func (plugin *FakeFileVolumePlugin) GetPluginName() string

func (*FakeFileVolumePlugin) GetVolumeName

func (plugin *FakeFileVolumePlugin) GetVolumeName(spec *Spec) (string, error)

func (*FakeFileVolumePlugin) Init

func (plugin *FakeFileVolumePlugin) Init(host VolumeHost) error

func (*FakeFileVolumePlugin) NewMounter

func (plugin *FakeFileVolumePlugin) NewMounter(spec *Spec, podRef *v1.Pod, opts VolumeOptions) (Mounter, error)

func (*FakeFileVolumePlugin) NewUnmounter

func (plugin *FakeFileVolumePlugin) NewUnmounter(name string, podUID types.UID) (Unmounter, error)

func (*FakeFileVolumePlugin) RequiresRemount

func (plugin *FakeFileVolumePlugin) RequiresRemount() bool

func (*FakeFileVolumePlugin) SupportsBulkVolumeVerification

func (plugin *FakeFileVolumePlugin) SupportsBulkVolumeVerification() bool

func (*FakeFileVolumePlugin) SupportsMountOption

func (plugin *FakeFileVolumePlugin) SupportsMountOption() bool

type FakeProvisioner

type FakeProvisioner struct {
	Options               VolumeOptions
	Host                  VolumeHost
	ProvisionDelaySeconds int
}

func (*FakeProvisioner) Provision

func (fc *FakeProvisioner) Provision(selectedNode *v1.Node, allowedTopologies []v1.TopologySelectorTerm) (*v1.PersistentVolume, error)

type FakeVolume

type FakeVolume struct {
	sync.RWMutex
	PodUID  types.UID
	VolName string
	Plugin  *FakeVolumePlugin
	MetricsNil
	VolumesAttached  map[string]types.NodeName
	DeviceMountState map[string]string
	VolumeMountState map[string]string

	// Add callbacks as needed
	WaitForAttachHook func(spec *Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error)
	UnmountDeviceHook func(globalMountPath string) error

	SetUpCallCount              int
	TearDownCallCount           int
	AttachCallCount             int
	DetachCallCount             int
	WaitForAttachCallCount      int
	MountDeviceCallCount        int
	UnmountDeviceCallCount      int
	GetDeviceMountPathCallCount int
	SetUpDeviceCallCount        int
	TearDownDeviceCallCount     int
	MapPodDeviceCallCount       int
	UnmapPodDeviceCallCount     int
	GlobalMapPathCallCount      int
	PodDeviceMapPathCallCount   int
}

func (*FakeVolume) Attach

func (fv *FakeVolume) Attach(spec *Spec, nodeName types.NodeName) (string, error)

func (*FakeVolume) CanMount

func (fv *FakeVolume) CanMount() error

func (*FakeVolume) Detach

func (fv *FakeVolume) Detach(volumeName string, nodeName types.NodeName) error

func (*FakeVolume) GetAttachCallCount

func (fv *FakeVolume) GetAttachCallCount() int

func (*FakeVolume) GetAttributes

func (_ *FakeVolume) GetAttributes() Attributes

func (*FakeVolume) GetDetachCallCount

func (fv *FakeVolume) GetDetachCallCount() int

func (*FakeVolume) GetDeviceMountPath

func (fv *FakeVolume) GetDeviceMountPath(spec *Spec) (string, error)

func (*FakeVolume) GetGlobalMapPath

func (fv *FakeVolume) GetGlobalMapPath(spec *Spec) (string, error)

Block volume support

func (*FakeVolume) GetGlobalMapPathCallCount

func (fv *FakeVolume) GetGlobalMapPathCallCount() int

Block volume support

func (*FakeVolume) GetMapPodDeviceCallCount

func (fv *FakeVolume) GetMapPodDeviceCallCount() int

Block volume support

func (*FakeVolume) GetMountDeviceCallCount

func (fv *FakeVolume) GetMountDeviceCallCount() int

func (*FakeVolume) GetPath

func (fv *FakeVolume) GetPath() string

func (*FakeVolume) GetPodDeviceMapPath

func (fv *FakeVolume) GetPodDeviceMapPath() (string, string)

Block volume support

func (*FakeVolume) GetPodDeviceMapPathCallCount

func (fv *FakeVolume) GetPodDeviceMapPathCallCount() int

Block volume support

func (*FakeVolume) GetSetUpCallCount

func (fv *FakeVolume) GetSetUpCallCount() int

func (*FakeVolume) GetSetUpDeviceCallCount

func (fv *FakeVolume) GetSetUpDeviceCallCount() int

Block volume support

func (*FakeVolume) GetTearDownCallCount

func (fv *FakeVolume) GetTearDownCallCount() int

func (*FakeVolume) GetTearDownDeviceCallCount

func (fv *FakeVolume) GetTearDownDeviceCallCount() int

Block volume support

func (*FakeVolume) GetUnmapPodDeviceCallCount

func (fv *FakeVolume) GetUnmapPodDeviceCallCount() int

Block volume support

func (*FakeVolume) GetUnmountDeviceCallCount

func (fv *FakeVolume) GetUnmountDeviceCallCount() int

func (*FakeVolume) GetWaitForAttachCallCount

func (fv *FakeVolume) GetWaitForAttachCallCount() int

func (*FakeVolume) MapPodDevice

func (fv *FakeVolume) MapPodDevice() (string, error)

Block volume support

func (*FakeVolume) MountDevice

func (fv *FakeVolume) MountDevice(spec *Spec, devicePath string, deviceMountPath string) error

func (*FakeVolume) SetUp

func (fv *FakeVolume) SetUp(mounterArgs MounterArgs) error

func (*FakeVolume) SetUpAt

func (fv *FakeVolume) SetUpAt(dir string, mounterArgs MounterArgs) error

func (*FakeVolume) SetUpDevice

func (fv *FakeVolume) SetUpDevice() error

Block volume support

func (*FakeVolume) TearDown

func (fv *FakeVolume) TearDown() error

func (*FakeVolume) TearDownAt

func (fv *FakeVolume) TearDownAt(dir string) error

func (*FakeVolume) TearDownDevice

func (fv *FakeVolume) TearDownDevice(mapPath string, devicePath string) error

Block volume support

func (*FakeVolume) UnmapPodDevice

func (fv *FakeVolume) UnmapPodDevice() error

Block volume support

func (*FakeVolume) UnmountDevice

func (fv *FakeVolume) UnmountDevice(globalMountPath string) error

func (*FakeVolume) VolumesAreAttached

func (fv *FakeVolume) VolumesAreAttached(spec []*Spec, nodeName types.NodeName) (map[*Spec]bool, error)

func (*FakeVolume) WaitForAttach

func (fv *FakeVolume) WaitForAttach(spec *Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error)

type FakeVolumePathHandler

type FakeVolumePathHandler struct {
	sync.RWMutex
}

func (*FakeVolumePathHandler) AttachFileDevice

func (fv *FakeVolumePathHandler) AttachFileDevice(path string) (string, error)

func (*FakeVolumePathHandler) DetachFileDevice

func (fv *FakeVolumePathHandler) DetachFileDevice(path string) error

func (*FakeVolumePathHandler) FindGlobalMapPathUUIDFromPod

func (fv *FakeVolumePathHandler) FindGlobalMapPathUUIDFromPod(pluginDir, mapPath string, podUID types.UID) (string, error)

func (*FakeVolumePathHandler) GetDeviceBindMountRefs

func (fv *FakeVolumePathHandler) GetDeviceBindMountRefs(devPath string, mapPath string) ([]string, error)

func (*FakeVolumePathHandler) GetLoopDevice

func (fv *FakeVolumePathHandler) GetLoopDevice(path string) (string, error)

func (*FakeVolumePathHandler) IsDeviceBindMountExist

func (fv *FakeVolumePathHandler) IsDeviceBindMountExist(mapPath string) (bool, error)

func (*FakeVolumePathHandler) IsSymlinkExist

func (fv *FakeVolumePathHandler) IsSymlinkExist(mapPath string) (bool, error)

func (*FakeVolumePathHandler) MapDevice

func (fv *FakeVolumePathHandler) MapDevice(devicePath string, mapDir string, linkName string, bindMount bool) error

func (*FakeVolumePathHandler) RemoveMapPath

func (fv *FakeVolumePathHandler) RemoveMapPath(mapPath string) error

func (*FakeVolumePathHandler) UnmapDevice

func (fv *FakeVolumePathHandler) UnmapDevice(mapDir string, linkName string, bindMount bool) error

type FakeVolumePlugin

type FakeVolumePlugin struct {
	sync.RWMutex
	PluginName             string
	Host                   VolumeHost
	Config                 VolumeConfig
	LastProvisionerOptions VolumeOptions
	NewAttacherCallCount   int
	NewDetacherCallCount   int
	VolumeLimits           map[string]int64
	VolumeLimitsError      error
	LimitKey               string
	ProvisionDelaySeconds  int
	SupportsRemount        bool

	// Add callbacks as needed
	WaitForAttachHook func(spec *Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error)
	UnmountDeviceHook func(globalMountPath string) error

	Mounters             []*FakeVolume
	Unmounters           []*FakeVolume
	Attachers            []*FakeVolume
	Detachers            []*FakeVolume
	BlockVolumeMappers   []*FakeVolume
	BlockVolumeUnmappers []*FakeVolume
}

FakeVolumePlugin is useful for testing. It tries to be a fully compliant plugin, but all it does is make empty directories. Use as:

volume.RegisterPlugin(&FakePlugin{"fake-name"})

func (*FakeVolumePlugin) CanAttach

func (plugin *FakeVolumePlugin) CanAttach(spec *Spec) (bool, error)

func (*FakeVolumePlugin) CanDeviceMount

func (plugin *FakeVolumePlugin) CanDeviceMount(spec *Spec) (bool, error)

func (*FakeVolumePlugin) CanSupport

func (plugin *FakeVolumePlugin) CanSupport(spec *Spec) bool

func (*FakeVolumePlugin) ConstructBlockVolumeSpec

func (plugin *FakeVolumePlugin) ConstructBlockVolumeSpec(podUID types.UID, volumeName, mountPath string) (*Spec, error)

Block volume support

func (*FakeVolumePlugin) ConstructVolumeSpec

func (plugin *FakeVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*Spec, error)

func (*FakeVolumePlugin) ExpandVolumeDevice

func (plugin *FakeVolumePlugin) ExpandVolumeDevice(spec *Spec, newSize resource.Quantity, oldSize resource.Quantity) (resource.Quantity, error)

Expandable volume support

func (*FakeVolumePlugin) GetAccessModes

func (plugin *FakeVolumePlugin) GetAccessModes() []v1.PersistentVolumeAccessMode

func (*FakeVolumePlugin) GetAttachers

func (plugin *FakeVolumePlugin) GetAttachers() (Attachers []*FakeVolume)

func (*FakeVolumePlugin) GetBlockVolumeMapper

func (plugin *FakeVolumePlugin) GetBlockVolumeMapper() (BlockVolumeMappers []*FakeVolume)

Block volume support

func (*FakeVolumePlugin) GetBlockVolumeUnmapper

func (plugin *FakeVolumePlugin) GetBlockVolumeUnmapper() (BlockVolumeUnmappers []*FakeVolume)

Block volume support

func (*FakeVolumePlugin) GetDetachers

func (plugin *FakeVolumePlugin) GetDetachers() (Detachers []*FakeVolume)

func (*FakeVolumePlugin) GetDeviceMountRefs

func (plugin *FakeVolumePlugin) GetDeviceMountRefs(deviceMountPath string) ([]string, error)

func (*FakeVolumePlugin) GetMounters

func (plugin *FakeVolumePlugin) GetMounters() (Mounters []*FakeVolume)

func (*FakeVolumePlugin) GetNewAttacherCallCount

func (plugin *FakeVolumePlugin) GetNewAttacherCallCount() int

func (*FakeVolumePlugin) GetNewDetacherCallCount

func (plugin *FakeVolumePlugin) GetNewDetacherCallCount() int

func (*FakeVolumePlugin) GetPluginName

func (plugin *FakeVolumePlugin) GetPluginName() string

func (*FakeVolumePlugin) GetUnmounters

func (plugin *FakeVolumePlugin) GetUnmounters() (Unmounters []*FakeVolume)

func (*FakeVolumePlugin) GetVolumeLimits

func (plugin *FakeVolumePlugin) GetVolumeLimits() (map[string]int64, error)

func (*FakeVolumePlugin) GetVolumeName

func (plugin *FakeVolumePlugin) GetVolumeName(spec *Spec) (string, error)

func (*FakeVolumePlugin) Init

func (plugin *FakeVolumePlugin) Init(host VolumeHost) error

func (*FakeVolumePlugin) NewAttacher

func (plugin *FakeVolumePlugin) NewAttacher() (Attacher, error)

func (*FakeVolumePlugin) NewBlockVolumeMapper

func (plugin *FakeVolumePlugin) NewBlockVolumeMapper(spec *Spec, pod *v1.Pod, opts VolumeOptions) (BlockVolumeMapper, error)

Block volume support

func (*FakeVolumePlugin) NewBlockVolumeUnmapper

func (plugin *FakeVolumePlugin) NewBlockVolumeUnmapper(volName string, podUID types.UID) (BlockVolumeUnmapper, error)

Block volume support

func (*FakeVolumePlugin) NewDeleter

func (plugin *FakeVolumePlugin) NewDeleter(spec *Spec) (Deleter, error)

func (*FakeVolumePlugin) NewDetacher

func (plugin *FakeVolumePlugin) NewDetacher() (Detacher, error)

func (*FakeVolumePlugin) NewDeviceMounter

func (plugin *FakeVolumePlugin) NewDeviceMounter() (DeviceMounter, error)

func (*FakeVolumePlugin) NewDeviceUnmounter

func (plugin *FakeVolumePlugin) NewDeviceUnmounter() (DeviceUnmounter, error)

func (*FakeVolumePlugin) NewMounter

func (plugin *FakeVolumePlugin) NewMounter(spec *Spec, pod *v1.Pod, opts VolumeOptions) (Mounter, error)

func (*FakeVolumePlugin) NewProvisioner

func (plugin *FakeVolumePlugin) NewProvisioner(options VolumeOptions) (Provisioner, error)

func (*FakeVolumePlugin) NewUnmounter

func (plugin *FakeVolumePlugin) NewUnmounter(volName string, podUID types.UID) (Unmounter, error)

func (*FakeVolumePlugin) NodeExpand

func (plugin *FakeVolumePlugin) NodeExpand(resizeOptions NodeResizeOptions) (bool, error)

func (*FakeVolumePlugin) Recycle

func (plugin *FakeVolumePlugin) Recycle(pvName string, spec *Spec, eventRecorder recyclerclient.RecycleEventRecorder) error

func (*FakeVolumePlugin) RequiresFSResize

func (plugin *FakeVolumePlugin) RequiresFSResize() bool

func (*FakeVolumePlugin) RequiresRemount

func (plugin *FakeVolumePlugin) RequiresRemount() bool

func (*FakeVolumePlugin) SupportsBulkVolumeVerification

func (plugin *FakeVolumePlugin) SupportsBulkVolumeVerification() bool

func (*FakeVolumePlugin) SupportsMountOption

func (plugin *FakeVolumePlugin) SupportsMountOption() bool

func (*FakeVolumePlugin) VolumeLimitKey

func (plugin *FakeVolumePlugin) VolumeLimitKey(spec *Spec) string

type MockVolume

type MockVolume struct {
	mock.Mock
}

func (*MockVolume) GetMetrics

func (_m *MockVolume) GetMetrics() (*Metrics, error)

GetMetrics provides a mock function with given fields:

func (*MockVolume) GetPath

func (_m *MockVolume) GetPath() string

GetPath provides a mock function with given fields:

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier