testing

package
v1.13.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2018 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainsAccessMode added in v1.9.0

func ContainsAccessMode(modes []v1.PersistentVolumeAccessMode, mode v1.PersistentVolumeAccessMode) bool

func CreateTestPVC added in v1.7.0

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 added in v1.7.0

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

func NewBlockVolumePathHandler added in v1.9.0

func NewBlockVolumePathHandler() volumepathhandler.BlockVolumePathHandler

NewDeviceHandler Create a new IoHandler implementation

func NewFakeFileVolumePlugin added in v1.9.0

func NewFakeFileVolumePlugin() []VolumePlugin

func NewFakeVolumeHost

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

func NewFakeVolumeHostWithCloudProvider added in v1.8.8

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

func NewFakeVolumeHostWithNodeLabels added in v1.8.8

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

func NewFakeVolumeHostWithNodeName added in v1.9.0

func NewFakeVolumeHostWithNodeName(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, nodeName string) *fakeVolumeHost

func ProbeVolumePlugins

func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin

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 added in v1.9.0

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 VerifyGetMapDeviceCallCount added in v1.11.6

func VerifyGetMapDeviceCallCount(
	expectedMapDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

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

func VerifyGetPodDeviceMapPathCallCount added in v1.9.0

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 added in v1.9.0

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 added in v1.9.0

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 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 added in v1.9.0

func VerifyZeroTearDownDeviceCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroTearDownDeviceCallCount ensures that all Mappers for this plugin have a zero TearDownDeviceCallCount. 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.

Types

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 FakeFileVolumePlugin added in v1.9.0

type FakeFileVolumePlugin struct {
}

func (*FakeFileVolumePlugin) CanSupport added in v1.9.0

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

func (*FakeFileVolumePlugin) ConstructVolumeSpec added in v1.9.0

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

func (*FakeFileVolumePlugin) GetPluginName added in v1.9.0

func (plugin *FakeFileVolumePlugin) GetPluginName() string

func (*FakeFileVolumePlugin) GetVolumeName added in v1.9.0

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

func (*FakeFileVolumePlugin) Init added in v1.9.0

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

func (*FakeFileVolumePlugin) NewMounter added in v1.9.0

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

func (*FakeFileVolumePlugin) NewUnmounter added in v1.9.0

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

func (*FakeFileVolumePlugin) RequiresRemount added in v1.9.0

func (plugin *FakeFileVolumePlugin) RequiresRemount() bool

func (*FakeFileVolumePlugin) SupportsBulkVolumeVerification added in v1.9.0

func (plugin *FakeFileVolumePlugin) SupportsBulkVolumeVerification() bool

func (*FakeFileVolumePlugin) SupportsMountOption added in v1.9.0

func (plugin *FakeFileVolumePlugin) SupportsMountOption() bool

type FakeProvisioner

type FakeProvisioner struct {
	Options VolumeOptions
	Host    VolumeHost
}

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

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

func (*FakeVolume) Attach

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

func (*FakeVolume) CanMount added in v1.7.0

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 added in v1.9.0

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

Block volume support

func (*FakeVolume) GetGlobalMapPathCallCount added in v1.9.0

func (fv *FakeVolume) GetGlobalMapPathCallCount() int

Block volume support

func (*FakeVolume) GetMapDeviceCallCount added in v1.11.6

func (fv *FakeVolume) GetMapDeviceCallCount() int

Block volume support

func (*FakeVolume) GetMountDeviceCallCount

func (fv *FakeVolume) GetMountDeviceCallCount() int

func (*FakeVolume) GetPath

func (fv *FakeVolume) GetPath() string

func (*FakeVolume) GetPodDeviceMapPath added in v1.9.0

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

Block volume support

func (*FakeVolume) GetPodDeviceMapPathCallCount added in v1.9.0

func (fv *FakeVolume) GetPodDeviceMapPathCallCount() int

Block volume support

func (*FakeVolume) GetSetUpCallCount

func (fv *FakeVolume) GetSetUpCallCount() int

func (*FakeVolume) GetSetUpDeviceCallCount added in v1.9.0

func (fv *FakeVolume) GetSetUpDeviceCallCount() int

Block volume support

func (*FakeVolume) GetTearDownCallCount

func (fv *FakeVolume) GetTearDownCallCount() int

func (*FakeVolume) GetTearDownDeviceCallCount added in v1.9.0

func (fv *FakeVolume) GetTearDownDeviceCallCount() int

Block volume support

func (*FakeVolume) GetWaitForAttachCallCount

func (fv *FakeVolume) GetWaitForAttachCallCount() int

func (*FakeVolume) MapDevice added in v1.11.6

func (fv *FakeVolume) MapDevice(devicePath, globalMapPath, volumeMapPath, volumeMapName string, pod types.UID) 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(fsGroup *int64) error

func (*FakeVolume) SetUpAt

func (fv *FakeVolume) SetUpAt(dir string, fsGroup *int64) error

func (*FakeVolume) SetUpDevice added in v1.9.0

func (fv *FakeVolume) SetUpDevice() (string, 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 added in v1.9.0

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

Block volume support

func (*FakeVolume) UnmountDevice

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

func (*FakeVolume) VolumesAreAttached added in v1.7.0

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 added in v1.9.0

type FakeVolumePathHandler struct {
	sync.RWMutex
}

func (*FakeVolumePathHandler) AttachFileDevice added in v1.9.0

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

func (*FakeVolumePathHandler) FindGlobalMapPathUUIDFromPod added in v1.9.0

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

func (*FakeVolumePathHandler) GetDeviceSymlinkRefs added in v1.9.0

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

func (*FakeVolumePathHandler) GetLoopDevice added in v1.9.0

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

func (*FakeVolumePathHandler) IsSymlinkExist added in v1.9.0

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

func (*FakeVolumePathHandler) MapDevice added in v1.9.0

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

func (*FakeVolumePathHandler) RemoveLoopDevice added in v1.9.0

func (fv *FakeVolumePathHandler) RemoveLoopDevice(device string) error

func (*FakeVolumePathHandler) RemoveMapPath added in v1.9.0

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

func (*FakeVolumePathHandler) UnmapDevice added in v1.9.0

func (fv *FakeVolumePathHandler) UnmapDevice(mapDir string, linkName string) 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

	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) CanSupport

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

func (*FakeVolumePlugin) ConstructBlockVolumeSpec added in v1.9.0

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

Block volume support

func (*FakeVolumePlugin) ConstructVolumeSpec added in v1.4.5

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

func (*FakeVolumePlugin) ExpandVolumeDevice added in v1.11.6

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 added in v1.9.0

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

Block volume support

func (*FakeVolumePlugin) GetBlockVolumeUnmapper added in v1.9.0

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

Block volume support

func (*FakeVolumePlugin) GetDetachers

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

func (*FakeVolumePlugin) GetDeviceMountRefs added in v1.4.5

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 added in v1.13.3

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 added in v1.9.0

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

Block volume support

func (*FakeVolumePlugin) NewBlockVolumeUnmapper added in v1.9.0

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) 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) Recycle added in v1.7.0

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

func (*FakeVolumePlugin) RequiresFSResize added in v1.11.6

func (plugin *FakeVolumePlugin) RequiresFSResize() bool

func (*FakeVolumePlugin) RequiresRemount

func (plugin *FakeVolumePlugin) RequiresRemount() bool

func (*FakeVolumePlugin) SupportsBulkVolumeVerification added in v1.7.0

func (plugin *FakeVolumePlugin) SupportsBulkVolumeVerification() bool

func (*FakeVolumePlugin) SupportsMountOption added in v1.7.0

func (plugin *FakeVolumePlugin) SupportsMountOption() bool

func (*FakeVolumePlugin) VolumeLimitKey added in v1.13.3

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:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL