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 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
- type RegistryDisk
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"
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 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)
type RegistryDisk ¶ added in v0.3.0
type RegistryDisk string
const (
RegistryDiskCirros RegistryDisk = "cirros"
RegistryDiskAlpine RegistryDisk = "alpine"
RegistryDiskFedora RegistryDisk = "fedora-cloud"
)