README
¶
Integration tests
Integration tests require a running Kubevirt cluster. Once you have a running
Kubevirt cluster, you can use the -master
and the -kubeconfig
flags to
point the tests to the cluster.
Run them on an arbitrary KubeVirt installation
cd tests # from the git repo root folder
go test -kubeconfig=path/to/my/config
Run them on one of the core KubeVirt providers
There is a make target to run this with the config taken from hack/config.sh:
# from the git repo root folder
make functest
Documentation
¶
Index ¶
- Constants
- Variables
- func AddEphemeralDisk(vm *v1.VirtualMachine, name string, bus string, image string) *v1.VirtualMachine
- func AddEphemeralFloppy(vm *v1.VirtualMachine, name string, image string) *v1.VirtualMachine
- func AfterTestSuitCleanup()
- func BeforeTestCleanup()
- func BeforeTestSuitSetup()
- func GetRunningPodByLabel(label string, labelType string, namespace string) *k8sv1.Pod
- func LoggedInCirrosExpecter(vm *v1.VirtualMachine) (expect.Expecter, error)
- func NewBool(x bool) *bool
- func NewConsoleExpecter(virtCli kubecli.KubevirtClient, vm *v1.VirtualMachine, consoleName string, ...) (expect.Expecter, <-chan error, error)
- func NewInt32(x int32) *int32
- func NewRandomReplicaSetFromVM(vm *v1.VirtualMachine, replicas int32) *v1.VirtualMachineReplicaSet
- func NewRandomVM() *v1.VirtualMachine
- func NewRandomVMWithEphemeralDisk(containerImage string) *v1.VirtualMachine
- func NewRandomVMWithEphemeralDiskAndUserdata(containerImage string, userData string) *v1.VirtualMachine
- func NewRandomVMWithEphemeralDiskAndUserdataHighMemory(containerImage string, userData string) *v1.VirtualMachine
- func NewRandomVMWithEphemeralDiskHighMemory(containerImage string) *v1.VirtualMachine
- func NewRandomVMWithEphemeralPVC(claimName string) *v1.VirtualMachine
- func NewRandomVMWithNS(namespace string) *v1.VirtualMachine
- func NewRandomVMWithPVC(claimName string) *v1.VirtualMachine
- func NewRandomVMWithWatchdog() *v1.VirtualMachine
- func PanicOnError(err error)
- func RegistryDiskFor(name RegistryDisk) string
- func RenderJob(name string, cmd []string, args []string) *k8sv1.Pod
- func WaitForSuccessfulVMStart(vm runtime.Object) string
- func WaitForSuccessfulVMStartIgnoreWarnings(vm runtime.Object) string
- func WaitForSuccessfulVMStartWithTimeout(vm runtime.Object, seconds int) (nodeName string)
- type Description
- type EventType
- type ObjectEventWatcher
- func (w *ObjectEventWatcher) FailOnWarnings() *ObjectEventWatcher
- func (w *ObjectEventWatcher) SinceNow() *ObjectEventWatcher
- func (w *ObjectEventWatcher) SinceObjectResourceVersion(object runtime.Object) *ObjectEventWatcher
- func (w *ObjectEventWatcher) SinceResourceVersion(rv string) *ObjectEventWatcher
- func (w *ObjectEventWatcher) SinceWatchedObjectResourceVersion() *ObjectEventWatcher
- func (w *ObjectEventWatcher) Timeout(duration time.Duration) *ObjectEventWatcher
- func (w *ObjectEventWatcher) WaitFor(eventType EventType, reason interface{}) (e *k8sv1.Event)
- func (w *ObjectEventWatcher) Watch(processFunc ProcessFunc)
- type PolarionReporter
- func (reporter *PolarionReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary)
- func (reporter *PolarionReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary)
- func (reporter *PolarionReporter) SpecDidComplete(specSummary *types.SpecSummary)
- func (reporter *PolarionReporter) SpecSuiteDidEnd(summary *types.SuiteSummary)
- func (reporter *PolarionReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary)
- func (reporter *PolarionReporter) SpecWillRun(specSummary *types.SpecSummary)
- type PolarionTestCase
- type PolarionTestCases
- type ProcessFunc
- type RegistryDisk
- type TestCaseCustomField
- type TestCaseCustomFields
- type Title
Constants ¶
const (
// tests.NamespaceTestDefault is the default namespace, to test non-infrastructure related KubeVirt objects.
NamespaceTestDefault string = "kubevirt-test-default"
// NamespaceTestAlternative is used to test controller-namespace independency.
NamespaceTestAlternative string = "kubevirt-test-alternative"
)
const (
DiskAlpineISCSI = "disk-alpine-iscsi"
)
Variables ¶
var KubeVirtRepoPrefix string = "kubevirt"
var KubeVirtVersionTag string = "latest"
var Polarion = PolarionReporter{}
Functions ¶
func AddEphemeralDisk ¶ added in v0.3.0
func AddEphemeralDisk(vm *v1.VirtualMachine, name string, bus string, image string) *v1.VirtualMachine
func AddEphemeralFloppy ¶ added in v0.3.0
func AddEphemeralFloppy(vm *v1.VirtualMachine, name string, image string) *v1.VirtualMachine
func AfterTestSuitCleanup ¶
func AfterTestSuitCleanup()
func BeforeTestCleanup ¶
func BeforeTestCleanup()
func BeforeTestSuitSetup ¶
func BeforeTestSuitSetup()
func GetRunningPodByLabel ¶ added in v0.3.0
func GetRunningPodByLabel(label string, labelType string, namespace string) *k8sv1.Pod
func LoggedInCirrosExpecter ¶ added in v0.3.0
func LoggedInCirrosExpecter(vm *v1.VirtualMachine) (expect.Expecter, error)
func NewConsoleExpecter ¶ added in v0.0.4
func NewConsoleExpecter(virtCli kubecli.KubevirtClient, vm *v1.VirtualMachine, consoleName string, timeout time.Duration, opts ...expect.Option) (expect.Expecter, <-chan error, error)
func NewRandomReplicaSetFromVM ¶ added in v0.0.3
func NewRandomReplicaSetFromVM(vm *v1.VirtualMachine, replicas int32) *v1.VirtualMachineReplicaSet
func NewRandomVM ¶
func NewRandomVM() *v1.VirtualMachine
func NewRandomVMWithEphemeralDisk ¶
func NewRandomVMWithEphemeralDisk(containerImage string) *v1.VirtualMachine
func NewRandomVMWithEphemeralDiskAndUserdata ¶ added in v0.0.3
func NewRandomVMWithEphemeralDiskAndUserdata(containerImage string, userData string) *v1.VirtualMachine
func NewRandomVMWithEphemeralDiskAndUserdataHighMemory ¶ added in v0.3.0
func NewRandomVMWithEphemeralDiskAndUserdataHighMemory(containerImage string, userData string) *v1.VirtualMachine
func NewRandomVMWithEphemeralDiskHighMemory ¶ added in v0.3.0
func NewRandomVMWithEphemeralDiskHighMemory(containerImage string) *v1.VirtualMachine
func NewRandomVMWithEphemeralPVC ¶ added in v0.3.0
func NewRandomVMWithEphemeralPVC(claimName string) *v1.VirtualMachine
func NewRandomVMWithNS ¶
func NewRandomVMWithNS(namespace string) *v1.VirtualMachine
func NewRandomVMWithPVC ¶
func NewRandomVMWithPVC(claimName string) *v1.VirtualMachine
func NewRandomVMWithWatchdog ¶ added in v0.1.0
func NewRandomVMWithWatchdog() *v1.VirtualMachine
func PanicOnError ¶
func PanicOnError(err error)
func RegistryDiskFor ¶ added in v0.3.0
func RegistryDiskFor(name RegistryDisk) string
RegistryDiskFor takes the name of an image and returns the full registry diks image path. Supported values are: cirros, fedora, alpine
func RenderJob ¶ added in v0.3.0
func RenderJob(name string, cmd []string, args []string) *k8sv1.Pod
func WaitForSuccessfulVMStart ¶
func WaitForSuccessfulVMStart(vm runtime.Object) string
func WaitForSuccessfulVMStartIgnoreWarnings ¶ added in v0.3.0
func WaitForSuccessfulVMStartIgnoreWarnings(vm runtime.Object) string
func WaitForSuccessfulVMStartWithTimeout ¶ added in v0.0.3
func WaitForSuccessfulVMStartWithTimeout(vm runtime.Object, seconds int) (nodeName string)
Types ¶
type Description ¶ added in v0.4.0
type Description struct {
Content string `xml:",chardata"`
}
type EventType ¶
type EventType string
const (
NormalEvent EventType = "Normal"
WarningEvent EventType = "Warning"
)
type ObjectEventWatcher ¶
type ObjectEventWatcher struct {
// contains filtered or unexported fields
}
func NewObjectEventWatcher ¶
func NewObjectEventWatcher(object runtime.Object) *ObjectEventWatcher
func (*ObjectEventWatcher) FailOnWarnings ¶
func (w *ObjectEventWatcher) FailOnWarnings() *ObjectEventWatcher
func (*ObjectEventWatcher) SinceNow ¶
func (w *ObjectEventWatcher) SinceNow() *ObjectEventWatcher
SinceNow sets a watch starting point for events, from the moment on the connection to the apiserver was established.
func (*ObjectEventWatcher) SinceObjectResourceVersion ¶
func (w *ObjectEventWatcher) SinceObjectResourceVersion(object runtime.Object) *ObjectEventWatcher
SinceObjectResourceVersion takes the resource version of the passed in runtime object and takes it as the starting point for all events to watch for.
func (*ObjectEventWatcher) SinceResourceVersion ¶
func (w *ObjectEventWatcher) SinceResourceVersion(rv string) *ObjectEventWatcher
SinceResourceVersion sets the passed in resourceVersion as the starting point for all events to watch for.
func (*ObjectEventWatcher) SinceWatchedObjectResourceVersion ¶
func (w *ObjectEventWatcher) SinceWatchedObjectResourceVersion() *ObjectEventWatcher
SinceWatchedObjectResourceVersion takes the resource version of the runtime object which is watched, and takes it as the starting point for all events to watch for.
func (*ObjectEventWatcher) Timeout ¶
func (w *ObjectEventWatcher) Timeout(duration time.Duration) *ObjectEventWatcher
type PolarionReporter ¶ added in v0.4.0
type PolarionReporter struct {
Run bool
// contains filtered or unexported fields
}
func (*PolarionReporter) AfterSuiteDidRun ¶ added in v0.4.0
func (reporter *PolarionReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary)
func (*PolarionReporter) BeforeSuiteDidRun ¶ added in v0.4.0
func (reporter *PolarionReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary)
func (*PolarionReporter) SpecDidComplete ¶ added in v0.4.0
func (reporter *PolarionReporter) SpecDidComplete(specSummary *types.SpecSummary)
func (*PolarionReporter) SpecSuiteDidEnd ¶ added in v0.4.0
func (reporter *PolarionReporter) SpecSuiteDidEnd(summary *types.SuiteSummary)
func (*PolarionReporter) SpecSuiteWillBegin ¶ added in v0.4.0
func (reporter *PolarionReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary)
func (*PolarionReporter) SpecWillRun ¶ added in v0.4.0
func (reporter *PolarionReporter) SpecWillRun(specSummary *types.SpecSummary)
type PolarionTestCase ¶ added in v0.4.0
type PolarionTestCase struct {
Title Title `xml:"title"`
Description Description `xml:"description"`
TestCaseCustomFields TestCaseCustomFields `xml:"custom-fields"`
}
type PolarionTestCases ¶ added in v0.4.0
type PolarionTestCases struct {
XMLName xml.Name `xml:"testcases"`
TestCases []PolarionTestCase `xml:"testcase"`
ProjectID string `xml:"project-id,attr"`
}
type ProcessFunc ¶
type ProcessFunc func(event *k8sv1.Event) (done bool)
type RegistryDisk ¶ added in v0.3.0
type RegistryDisk string
const (
RegistryDiskCirros RegistryDisk = "cirros"
RegistryDiskAlpine RegistryDisk = "alpine"
RegistryDiskFedora RegistryDisk = "fedora-cloud"
)
type TestCaseCustomField ¶ added in v0.4.0
type TestCaseCustomField struct {
Content string `xml:"content,attr"`
ID string `xml:"id,attr"`
}
type TestCaseCustomFields ¶ added in v0.4.0
type TestCaseCustomFields struct {
CustomFields []TestCaseCustomField `xml:"custom-field"`
}