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 Vagrant ==
The vagrant environment has an unprotected haproxy in front of the apiserver,
so only -master
needs to be set to run the tests.
cd tests # from the git repo root folder
go test -master=http://192.168.200.2:8184
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
- func AfterTestSuitCleanup()
- func BeforeTestCleanup()
- func BeforeTestSuitSetup()
- func GetReadyNodes() []k8sv1.Node
- func NewConsoleExpecter(config *rest.Config, vm *v1.VirtualMachine, consoleName string, ...) (expect.Expecter, <-chan error, error)
- func NewInt32(x int32) *int32
- func NewRandomMigrationForVm(vm *v1.VirtualMachine) *v1.Migration
- func NewRandomReplicaSetFromVM(vm *v1.VirtualMachine, replicas int32) *v1.VirtualMachineReplicaSet
- func NewRandomVM() *v1.VirtualMachine
- func NewRandomVMWithDirectLun(lun int, withAuth bool) *v1.VirtualMachine
- func NewRandomVMWithEphemeralDisk(containerImage string) *v1.VirtualMachine
- func NewRandomVMWithEphemeralDiskAndUserdata(containerImage string, cloudInitDataSource, userData string) (*v1.VirtualMachine, error)
- func NewRandomVMWithNS(namespace string) *v1.VirtualMachine
- func NewRandomVMWithPVC(claimName string) *v1.VirtualMachine
- func NewRandomVMWithSerialConsole() *v1.VirtualMachine
- func NewRandomVMWithSpice() *v1.VirtualMachine
- func NewRandomVMWithUserData(cloudInitDataSource string, userData string) (*v1.VirtualMachine, error)
- func NewRandomVMWithWatchdog() *v1.VirtualMachine
- func PanicOnError(err error)
- func WaitForSuccessfulVMStart(vm runtime.Object) string
- func WaitForSuccessfulVMStartWithTimeout(vm runtime.Object, seconds int) (nodeName string)
- 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 ProcessFunc
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"
)
Variables ¶
This section is empty.
Functions ¶
func AfterTestSuitCleanup ¶
func AfterTestSuitCleanup()
func BeforeTestCleanup ¶
func BeforeTestCleanup()
func BeforeTestSuitSetup ¶
func BeforeTestSuitSetup()
func GetReadyNodes ¶
func GetReadyNodes() []k8sv1.Node
func NewConsoleExpecter ¶
func NewConsoleExpecter(config *rest.Config, vm *v1.VirtualMachine, consoleName string, timeout time.Duration, opts ...expect.Option) (expect.Expecter, <-chan error, error)
func NewRandomMigrationForVm ¶
func NewRandomMigrationForVm(vm *v1.VirtualMachine) *v1.Migration
func NewRandomReplicaSetFromVM ¶
func NewRandomReplicaSetFromVM(vm *v1.VirtualMachine, replicas int32) *v1.VirtualMachineReplicaSet
func NewRandomVM ¶
func NewRandomVM() *v1.VirtualMachine
func NewRandomVMWithDirectLun ¶
func NewRandomVMWithDirectLun(lun int, withAuth bool) *v1.VirtualMachine
func NewRandomVMWithEphemeralDisk ¶
func NewRandomVMWithEphemeralDisk(containerImage string) *v1.VirtualMachine
func NewRandomVMWithEphemeralDiskAndUserdata ¶
func NewRandomVMWithEphemeralDiskAndUserdata(containerImage string, cloudInitDataSource, userData string) (*v1.VirtualMachine, error)
func NewRandomVMWithNS ¶
func NewRandomVMWithNS(namespace string) *v1.VirtualMachine
func NewRandomVMWithPVC ¶
func NewRandomVMWithPVC(claimName string) *v1.VirtualMachine
func NewRandomVMWithSerialConsole ¶
func NewRandomVMWithSerialConsole() *v1.VirtualMachine
func NewRandomVMWithSpice ¶
func NewRandomVMWithSpice() *v1.VirtualMachine
func NewRandomVMWithUserData ¶
func NewRandomVMWithUserData(cloudInitDataSource string, userData string) (*v1.VirtualMachine, error)
func NewRandomVMWithWatchdog ¶
func NewRandomVMWithWatchdog() *v1.VirtualMachine
func PanicOnError ¶
func PanicOnError(err error)
func WaitForSuccessfulVMStart ¶
func WaitForSuccessfulVMStart(vm runtime.Object) string
func WaitForSuccessfulVMStartWithTimeout ¶
func WaitForSuccessfulVMStartWithTimeout(vm runtime.Object, seconds int) (nodeName string)
Block until the specified VM started and return the target node name.
Types ¶
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 ProcessFunc ¶
type ProcessFunc func(event *k8sv1.Event) (done bool)