
Refactoring for non-csi e2e test similar to below commit in csi e2e test.
4d11dab272 (diff-0d9ecaa3e6a0297186ad33f57aad472e)
Scopes for this refactoring are below four files:
- test/e2e/storage/volumes.go
- test/e2e/storage/volume_io.go
- test/e2e/storage/persistent_volumes-volumemode.go
- test/e2e/storage/subpath.go
fixes: #66571
169 lines
5.2 KiB
Go
169 lines
5.2 KiB
Go
/*
|
|
Copyright 2018 The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package testpatterns
|
|
|
|
import (
|
|
v1 "k8s.io/api/core/v1"
|
|
"k8s.io/kubernetes/test/e2e/framework"
|
|
)
|
|
|
|
const (
|
|
// MinFileSize represents minimum file size (1 MiB) for testing
|
|
MinFileSize = 1 * framework.MiB
|
|
|
|
// FileSizeSmall represents small file size (1 MiB) for testing
|
|
FileSizeSmall = 1 * framework.MiB
|
|
// FileSizeMedium represents medium file size (100 MiB) for testing
|
|
FileSizeMedium = 100 * framework.MiB
|
|
// FileSizeLarge represents large file size (1 GiB) for testing
|
|
FileSizeLarge = 1 * framework.GiB
|
|
)
|
|
|
|
// TestVolType represents a volume type to be tested in a TestSuite
|
|
type TestVolType string
|
|
|
|
var (
|
|
// InlineVolume represents a volume type that is used inline in volumeSource
|
|
InlineVolume TestVolType = "InlineVolume"
|
|
// PreprovisionedPV represents a volume type for pre-provisioned Persistent Volume
|
|
PreprovisionedPV TestVolType = "PreprovisionedPV"
|
|
// DynamicPV represents a volume type for dynamic provisioned Persistent Volume
|
|
DynamicPV TestVolType = "DynamicPV"
|
|
)
|
|
|
|
// TestPattern represents a combination of parameters to be tested in a TestSuite
|
|
type TestPattern struct {
|
|
Name string // Name of TestPattern
|
|
FeatureTag string // featureTag for the TestSuite
|
|
VolType TestVolType // Volume type of the volume
|
|
FsType string // Fstype of the volume
|
|
VolMode v1.PersistentVolumeMode // PersistentVolumeMode of the volume
|
|
}
|
|
|
|
var (
|
|
// Definitions for default fsType
|
|
|
|
// DefaultFsInlineVolume is TestPattern for "Inline-volume (default fs)"
|
|
DefaultFsInlineVolume = TestPattern{
|
|
Name: "Inline-volume (default fs)",
|
|
VolType: InlineVolume,
|
|
}
|
|
// DefaultFsPreprovisionedPV is TestPattern for "Pre-provisioned PV (default fs)"
|
|
DefaultFsPreprovisionedPV = TestPattern{
|
|
Name: "Pre-provisioned PV (default fs)",
|
|
VolType: PreprovisionedPV,
|
|
}
|
|
// DefaultFsDynamicPV is TestPattern for "Dynamic PV (default fs)"
|
|
DefaultFsDynamicPV = TestPattern{
|
|
Name: "Dynamic PV (default fs)",
|
|
VolType: DynamicPV,
|
|
}
|
|
|
|
// Definitions for ext3
|
|
|
|
// Ext3InlineVolume is TestPattern for "Inline-volume (ext3)"
|
|
Ext3InlineVolume = TestPattern{
|
|
Name: "Inline-volume (ext3)",
|
|
VolType: InlineVolume,
|
|
FsType: "ext3",
|
|
}
|
|
// Ext3PreprovisionedPV is TestPattern for "Pre-provisioned PV (ext3)"
|
|
Ext3PreprovisionedPV = TestPattern{
|
|
Name: "Pre-provisioned PV (ext3)",
|
|
VolType: PreprovisionedPV,
|
|
FsType: "ext3",
|
|
}
|
|
// Ext3DynamicPV is TestPattern for "Dynamic PV (ext3)"
|
|
Ext3DynamicPV = TestPattern{
|
|
Name: "Dynamic PV (ext3)",
|
|
VolType: DynamicPV,
|
|
FsType: "ext3",
|
|
}
|
|
|
|
// Definitions for ext4
|
|
|
|
// Ext4InlineVolume is TestPattern for "Inline-volume (ext4)"
|
|
Ext4InlineVolume = TestPattern{
|
|
Name: "Inline-volume (ext4)",
|
|
VolType: InlineVolume,
|
|
FsType: "ext4",
|
|
}
|
|
// Ext4PreprovisionedPV is TestPattern for "Pre-provisioned PV (ext4)"
|
|
Ext4PreprovisionedPV = TestPattern{
|
|
Name: "Pre-provisioned PV (ext4)",
|
|
VolType: PreprovisionedPV,
|
|
FsType: "ext4",
|
|
}
|
|
// Ext4DynamicPV is TestPattern for "Dynamic PV (ext4)"
|
|
Ext4DynamicPV = TestPattern{
|
|
Name: "Dynamic PV (ext4)",
|
|
VolType: DynamicPV,
|
|
FsType: "ext4",
|
|
}
|
|
|
|
// Definitions for xfs
|
|
|
|
// XfsInlineVolume is TestPattern for "Inline-volume (xfs)"
|
|
XfsInlineVolume = TestPattern{
|
|
Name: "Inline-volume (xfs)",
|
|
VolType: InlineVolume,
|
|
FsType: "xfs",
|
|
}
|
|
// XfsPreprovisionedPV is TestPattern for "Pre-provisioned PV (xfs)"
|
|
XfsPreprovisionedPV = TestPattern{
|
|
Name: "Pre-provisioned PV (xfs)",
|
|
VolType: PreprovisionedPV,
|
|
FsType: "xfs",
|
|
}
|
|
// XfsDynamicPV is TestPattern for "Dynamic PV (xfs)"
|
|
XfsDynamicPV = TestPattern{
|
|
Name: "Dynamic PV (xfs)",
|
|
VolType: DynamicPV,
|
|
FsType: "xfs",
|
|
}
|
|
|
|
// Definitions for Filesystem volume mode
|
|
|
|
// FsVolModePreprovisionedPV is TestPattern for "Pre-provisioned PV (filesystem)"
|
|
FsVolModePreprovisionedPV = TestPattern{
|
|
Name: "Pre-provisioned PV (filesystem volmode)",
|
|
VolType: PreprovisionedPV,
|
|
VolMode: v1.PersistentVolumeFilesystem,
|
|
}
|
|
// FsVolModeDynamicPV is TestPattern for "Dynamic PV (filesystem)"
|
|
FsVolModeDynamicPV = TestPattern{
|
|
Name: "Dynamic PV (filesystem volmode)",
|
|
VolType: DynamicPV,
|
|
VolMode: v1.PersistentVolumeFilesystem,
|
|
}
|
|
|
|
// Definitions for block volume mode
|
|
|
|
// BlockVolModePreprovisionedPV is TestPattern for "Pre-provisioned PV (block)"
|
|
BlockVolModePreprovisionedPV = TestPattern{
|
|
Name: "Pre-provisioned PV (block volmode)",
|
|
VolType: PreprovisionedPV,
|
|
VolMode: v1.PersistentVolumeBlock,
|
|
}
|
|
// BlockVolModeDynamicPV is TestPattern for "Dynamic PV (block)(immediate bind)"
|
|
BlockVolModeDynamicPV = TestPattern{
|
|
Name: "Dynamic PV (block volmode)",
|
|
VolType: DynamicPV,
|
|
VolMode: v1.PersistentVolumeBlock,
|
|
}
|
|
)
|