tests

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2024 License: Apache-2.0 Imports: 62 Imported by: 1

README

Integration tests

Writing e2e tests

We aim to run e2e tests in parallel by default. As such the following rules should be followed:

  • Use cirros and alpine VMs for testing wherever possible. If you have to use another OS, discuss on the PR why it is needed.
  • Stay within the boundary of the Testnamespaces which we prove. If you have to create resources outside the test namespaces, discuss potential solutions on such a PR.
  • If you really have to run tests serial (destructive tests, infra-tests, ...), mark the test with a [Serial] tag and add the Serial decorator to the test.
  • If tests are not using the default cleanup code, additional custom preparations may be necessary.

The following types of tests need to be marked as [Serial] right now:

  • Tests which use PVCs or DataVolumes (parallelizing these is on the way).
  • Tests which use BeforeAll.

Additional suggestions:

  • The [Disruptive] tag is recognized by the test suite but is not yet mandatory. Feel free to set it on destructive tests.
  • Conformance tests need to be marked with a [Conformance] tag.
  • We try to mark tests that require advanced/special storage capabilities with [storage-req],
    So they are easy to skip when lanes with new storage solutions are introduced.
    At the point of writing this we use rook-ceph-block which certainly qualifies for running them.

Test Namespaces

If tests are executed in parallel, every test gets its unique set of namespaces to test in. If you write a test and reference the namespaces test.NamespaceTestDefault, test.NamespaceTestAlternative or tests.NamespaceTestOperator, you get different values, based on the ginkgo execution node.

For as long as test resources are created by referencing these namespaces, there is no test conflict to expect.

Running 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.

Running networking tests for outside connectivity

When running the tests with no internet connection, some networking tests ,that test outside connectivity, might fail, and you might want to skip them. For that some additional flags are needed to be passed. In addition, if you'd like to test outside connectivity using different addresses than the default (8.8.8.8, 2001:db8:1::1 and google.com), you can achive that with the designated flags as well.

For each method detailed below, there is note about the needed flags to the outside connectivity tests and how to pass them.

Run them on an arbitrary KubeVirt installation

cd tests # from the git repo root folder
go test -kubeconfig=path/to/my/config -config=default-config.json

outside connectivity tests: The tests will run by default. To skip the outside connectivity tests add -ginkgo.skip='\[outside_connectivity\]' To your go command. To change the IPV4, IPV6 or DNS used for outside connectivity tests, add conn-check-ipv4-address, conn-check-ipv6-address or conn-check-dns to your go command, with the desired value. For example:

go test -kubeconfig=$KUBECONFIG -config=default-config.json \
-conn-check-ipv4-address=8.8.4.4 -conn-check-ipv6-address=2620:119:35::35 \
-conn-check-dns=amazon.com \

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

outside connectivity tests: The tests will run by default. To skip the tests export KUBEVIRT_E2E_SKIP='\[outside_connectivity\]' environment variable before running the tests. To change the IPV4, IPV6 or DNS used for outside connectivity tests, you can export CONN_CHECK_IPV4_ADDRESS, CONN_CHECK_IPV6_ADDRESS and
CONN_CHECK_DNS with the desired values. For example:

export CONN_CHECK_IPV4_ADDRESS=8.8.4.4
export CONN_CHECK_IPV6_ADDRESS=2620:119:35::35
export CONN_CHECK_DNS=amazon.com

Run them anywhere inside of container

# Create directory for data / results / kubectl binary
mkdir -p /tmp/kubevirt-tests-data
# Make sure that eveybody can write there
setfacl -m d:o:rwx /tmp/kubevirt-tests-data
setfacl -m o:rwx /tmp/kubevirt-tests-data

docker run \
    -v /tmp/kubevirt-tests-data:/home/kubevirt-tests/data:rw,z --rm \
    kubevirt/tests:latest \
        --kubeconfig=data/openshift-master.kubeconfig \
        --container-tag=latest \
        --container-prefix=quay.io/kubevirt \
        --test.timeout 180m \
        --junit-output=data/results/junit.xml \
        --deploy-testing-infra \
        --path-to-testing-infra-manifests=data/manifests

Documentation

Overview

* This file is part of the KubeVirt project * * 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. * * Copyright 2021 Red Hat, Inc. *

Index

Constants

View Source
const (
	UsrBinVirtChroot = "/usr/bin/virt-chroot"
	Mount            = "--mount"
	Proc1NsMnt       = "/proc/1/ns/mnt"
)
View Source
const (
	BinBash = "/bin/bash"

	EchoLastReturnValue = "echo $?\n"
	CustomHostPath      = "custom-host-path"
	DiskAlpineHostPath  = "disk-alpine-host-path"
	DiskWindowsSysprep  = "disk-windows-sysprep"
	DiskCustomHostPath  = "disk-custom-host-path"
)
View Source
const (
	TCPServer  = server("\"Hello World!\"&\n")
	HTTPServer = server("\"HTTP/1.1 200 OK\\nContent-Length: 12\\n\\nHello World!\"&\n")
)

Variables

This section is empty.

Functions

func AddCloudInitConfigDriveData deprecated added in v0.19.0

func AddCloudInitConfigDriveData(vmi *v1.VirtualMachineInstance, name, userData, networkData string, b64encode bool)

AddCloudInitConfigDriveData

Deprecated: Use libvmi

func AddCloudInitNoCloudData deprecated added in v0.19.0

func AddCloudInitNoCloudData(vmi *v1.VirtualMachineInstance, name, userData, networkData string, b64encode bool)

AddCloudInitNoCloudData

Deprecated: Use libvmi

func AddEphemeralDisk deprecated added in v0.3.0

func AddEphemeralDisk(vmi *v1.VirtualMachineInstance, name string, bus v1.DiskBus, image string) *v1.VirtualMachineInstance

AddEphemeralDisk

Deprecated: Use libvmi

func AddUserData deprecated added in v0.9.0

func AddUserData(vmi *v1.VirtualMachineInstance, name string, userData string)

AddUserData

Deprecated: Use libvmi

func ArchiveToFile added in v0.51.0

func ArchiveToFile(tgtFile *os.File, sourceFilesNames ...string)

func ChangeImgFilePermissionsToNonQEMU added in v0.53.0

func ChangeImgFilePermissionsToNonQEMU(pvc *k8sv1.PersistentVolumeClaim)

func CheckCloudInitMetaData added in v0.46.0

func CheckCloudInitMetaData(vmi *v1.VirtualMachineInstance, testFile, testData string)

func CopyAlpineWithNonQEMUPermissions added in v0.48.0

func CopyAlpineWithNonQEMUPermissions() (dstPath, nodeName string)

func CreateConfigMap added in v0.9.0

func CreateConfigMap(name, namespace string, data map[string]string)

func CreateErrorDisk added in v0.44.1

func CreateErrorDisk(nodeName string) (address string, device string)

The tests using the function CreateErrorDisk need to be run serially as it relies on the kernel scsi_debug module

func CreateExecutorPodWithPVC added in v0.54.0

func CreateExecutorPodWithPVC(podName string, pvc *k8sv1.PersistentVolumeClaim) *k8sv1.Pod

CreateExecutorPodWithPVC creates a Pod with the passed in PVC mounted under /pvc. You can then use the executor utilities to run commands against the PVC through this Pod.

func CreateFaultyDisk added in v0.41.1

func CreateFaultyDisk(nodeName, deviceName string)

func CreateHostDiskImage added in v0.9.0

func CreateHostDiskImage(diskPath string) *k8sv1.Pod

func CreatePVandPVCwithFaultyDisk added in v0.41.1

func CreatePVandPVCwithFaultyDisk(nodeName, devicePath, namespace string) (*corev1.PersistentVolume, *corev1.PersistentVolumeClaim, error)

func CreatePVandPVCwithSCSIDisk added in v0.48.0

func CreatePVandPVCwithSCSIDisk(nodeName, devicePath, namespace, storageClass, pvName, pvcName string) (*corev1.PersistentVolume, *corev1.PersistentVolumeClaim, error)

func CreatePVwithSCSIDisk added in v0.59.2

func CreatePVwithSCSIDisk(storageClass, pvName, nodeName, devicePath string) (*corev1.PersistentVolume, error)

func CreatePodAndWaitUntil added in v0.34.0

func CreatePodAndWaitUntil(pod *corev1.Pod, phaseToWait corev1.PodPhase) *corev1.Pod

func CreateSCSIDisk added in v0.48.0

func CreateSCSIDisk(nodeName string, opts []string) (address string, device string)

CreateSCSIDisk creates a SCSI disk using the scsi_debug module. This function should be used only to check SCSI disk functionalities and not for creating a filesystem or any data. The disk is stored in ram and it isn't suitable for storing large amount of data. If a test uses this function, it needs to be run serially. The device is created directly on the node and the addition and removal of the scsi_debug kernel module could create flakiness

func CreateSecret added in v0.9.0

func CreateSecret(name, namespace string, data map[string]string)

func DeleteAlpineWithNonQEMUPermissions added in v0.48.0

func DeleteAlpineWithNonQEMUPermissions()

func DeleteConfigMap added in v0.9.0

func DeleteConfigMap(name, namespace string)

func DeletePvAndPvc added in v0.9.2

func DeletePvAndPvc(name string)

func DeleteSecret added in v0.9.0

func DeleteSecret(name, namespace string)

func DisableFeatureGate added in v0.20.0

func DisableFeatureGate(feature string)

func EnableFeatureGate added in v0.20.0

func EnableFeatureGate(feature string) *v1.KubeVirt

func EnsurePodsCertIsSynced added in v0.29.0

func EnsurePodsCertIsSynced(labelSelector string, namespace string, port string) []byte

EnsurePodsCertIsSynced waits until new certificates are rolled out to all pods which are matching the specified labelselector. Once all certificates are in sync, the final secret is returned

func ExecuteCommandInVirtHandlerPod added in v0.41.1

func ExecuteCommandInVirtHandlerPod(nodeName string, args []string) (stdout string, err error)

func ExecuteCommandOnNodeThroughVirtHandler added in v0.53.0

func ExecuteCommandOnNodeThroughVirtHandler(virtCli kubecli.KubevirtClient, nodeName string, command []string) (stdout string, stderr string, err error)

func ExpectResourceVersionToBeLessEqualThanConfigVersion added in v0.52.0

func ExpectResourceVersionToBeLessEqualThanConfigVersion(resourceVersion, configVersion string) bool

func FixErrorDevice added in v0.44.1

func FixErrorDevice(nodeName string)

func ForwardPorts added in v0.17.0

func ForwardPorts(pod *k8sv1.Pod, ports []string, stop chan struct{}, readyTimeout time.Duration) error

func GenerateHelloWorldServer added in v0.19.0

func GenerateHelloWorldServer(vmi *v1.VirtualMachineInstance, testPort int, protocol string, loginTo console.LoginToFunction, sudoNeeded bool)

func GenerateVMJson added in v0.17.0

func GenerateVMJson(vm *v1.VirtualMachine, generateDirectory string) (string, error)

func GetBundleFromConfigMap added in v0.29.0

func GetBundleFromConfigMap(configMapName string) ([]byte, []*x509.Certificate)

func GetCertFromSecret added in v0.29.0

func GetCertFromSecret(secretName string) []byte

func GetCertsForPods added in v0.29.0

func GetCertsForPods(labelSelector string, namespace string, port string) ([][]byte, error)

GetCertsForPods returns the used certificates for all pods matching the label selector

func GetComputeContainerOfPod added in v0.19.0

func GetComputeContainerOfPod(pod *k8sv1.Pod) *k8sv1.Container

func GetContainerOfPod added in v0.19.0

func GetContainerOfPod(pod *k8sv1.Pod, containerName string) *k8sv1.Container

func GetDefaultExportProxyDeployment added in v0.58.1

func GetDefaultExportProxyDeployment(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.Deployment, error)

func GetDefaultVirtApiDeployment added in v0.58.1

func GetDefaultVirtApiDeployment(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.Deployment, error)

func GetDefaultVirtControllerDeployment added in v0.58.1

func GetDefaultVirtControllerDeployment(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.Deployment, error)

func GetDefaultVirtHandlerDaemonSet added in v0.58.1

func GetDefaultVirtHandlerDaemonSet(namespace string, config *util.KubeVirtDeploymentConfig) (*v12.DaemonSet, error)

func GetFedoraToolsGuestAgentBlacklistUserData added in v0.36.3

func GetFedoraToolsGuestAgentBlacklistUserData(commands string) string

func GetIdOfLauncher added in v0.52.0

func GetIdOfLauncher(vmi *v1.VirtualMachineInstance) string

func GetKubevirtVMMetricsFunc added in v0.53.0

func GetKubevirtVMMetricsFunc(virtClient *kubecli.KubevirtClient, pod *k8sv1.Pod) func(string) string

func GetKvmPitMask added in v0.58.2

func GetKvmPitMask(qemupid, nodeName string) (output string, err error)

func GetNodeHostModel added in v0.49.1

func GetNodeHostModel(node *k8sv1.Node) (hostModel string)

func GetPodByVirtualMachineInstance added in v0.17.0

func GetPodByVirtualMachineInstance(vmi *v1.VirtualMachineInstance) *k8sv1.Pod

func GetPodCPUSet added in v0.50.0

func GetPodCPUSet(pod *k8sv1.Pod) (output string, err error)

func GetPodsCertIfSynced added in v0.29.0

func GetPodsCertIfSynced(labelSelector string, namespace string, port string) (cert []byte, synced bool, err error)

GetPodsCertIfSynced returns the certificate for all matching pods once all of them use the same certificate

func GetProcessName added in v0.58.1

func GetProcessName(pod *k8sv1.Pod, pid string) (output string, err error)

func GetRunningPodByVirtualMachineInstance added in v0.8.0

func GetRunningPodByVirtualMachineInstance(vmi *v1.VirtualMachineInstance, namespace string) *k8sv1.Pod

func GetRunningVMIDomainSpec added in v0.28.0

func GetRunningVMIDomainSpec(vmi *v1.VirtualMachineInstance) (*launcherApi.DomainSpec, error)

func GetRunningVMIEmulator added in v1.1.0

func GetRunningVMIEmulator(vmi *v1.VirtualMachineInstance) (string, error)

func GetRunningVirtualMachineInstanceDomainXML added in v0.9.2

func GetRunningVirtualMachineInstanceDomainXML(virtClient kubecli.KubevirtClient, vmi *v1.VirtualMachineInstance) (string, error)

func GetSupportedCPUFeatures added in v0.40.0

func GetSupportedCPUFeatures(nodes k8sv1.NodeList) []string

func GetSupportedCPUModels added in v0.40.0

func GetSupportedCPUModels(nodes k8sv1.NodeList) []string

func GetVcpuMask added in v0.58.2

func GetVcpuMask(pod *k8sv1.Pod, emulator, cpu string) (output string, err error)

func GetVmPodName added in v0.15.0

func GetVmPodName(virtCli kubecli.KubevirtClient, vmi *v1.VirtualMachineInstance) string

func GetVmiPod added in v1.0.0

func GetVmiPod(virtClient kubecli.KubevirtClient, vmi *v1.VirtualMachineInstance) *k8sv1.Pod

func LibvirtDomainIsPaused added in v0.41.0

func LibvirtDomainIsPaused(virtClient kubecli.KubevirtClient, vmi *v1.VirtualMachineInstance) (bool, error)

func ListCgroupThreads added in v0.58.1

func ListCgroupThreads(pod *k8sv1.Pod) (output string, err error)

func MountCloudInitFunc added in v0.46.0

func MountCloudInitFunc(devName string) func(*v1.VirtualMachineInstance)

func NewHTTPServerPod added in v0.34.0

func NewHTTPServerPod(ipFamily, port int) *corev1.Pod

func NewRandomFedoraVMI deprecated added in v0.39.0

func NewRandomFedoraVMI(opts ...libvmi.Option) *v1.VirtualMachineInstance

NewRandomFedoraVMI

Deprecated: Use libvmi directly

func NewRandomFedoraVMIWithBlacklistGuestAgent deprecated added in v0.36.3

func NewRandomFedoraVMIWithBlacklistGuestAgent(commands string) *v1.VirtualMachineInstance

NewRandomFedoraVMIWithBlacklistGuestAgent

Deprecated: Use libvmi directly

func NewRandomReplicaSetFromVMI added in v0.6.1

func NewRandomReplicaSetFromVMI(vmi *v1.VirtualMachineInstance, replicas int32) *v1.VirtualMachineInstanceReplicaSet

func NewRandomVMI deprecated added in v0.6.1

func NewRandomVMI() *v1.VirtualMachineInstance

NewRandomVMI

Deprecated: Use libvmi directly

func NewRandomVMIWithDataVolume deprecated added in v0.8.0

func NewRandomVMIWithDataVolume(dataVolumeName string) *v1.VirtualMachineInstance

NewRandomVMIWithDataVolume

Deprecated: Use libvmi directly

func NewRandomVMIWithEphemeralDisk deprecated added in v0.6.1

func NewRandomVMIWithEphemeralDisk(containerImage string) *v1.VirtualMachineInstance

NewRandomVMIWithEphemeralDisk

Deprecated: Use libvmi directly

func NewRandomVMIWithEphemeralDiskAndConfigDriveUserdata deprecated added in v0.19.0

func NewRandomVMIWithEphemeralDiskAndConfigDriveUserdata(containerImage string, userData string) *v1.VirtualMachineInstance

NewRandomVMIWithEphemeralDiskAndConfigDriveUserdata

Deprecated: Use libvmi directly

func NewRandomVMIWithEphemeralDiskAndConfigDriveUserdataHighMemory deprecated added in v0.19.0

func NewRandomVMIWithEphemeralDiskAndConfigDriveUserdataHighMemory(containerImage string, userData string) *v1.VirtualMachineInstance

NewRandomVMIWithEphemeralDiskAndConfigDriveUserdataHighMemory

Deprecated: Use libvmi directly

func NewRandomVMIWithEphemeralDiskAndConfigDriveUserdataNetworkData deprecated added in v0.19.0

func NewRandomVMIWithEphemeralDiskAndConfigDriveUserdataNetworkData(containerImage, userData, networkData string, b64encode bool) *v1.VirtualMachineInstance

NewRandomVMIWithEphemeralDiskAndConfigDriveUserdataNetworkData

Deprecated: Use libvmi directly

func NewRandomVMIWithEphemeralDiskAndUserdata deprecated added in v0.6.1

func NewRandomVMIWithEphemeralDiskAndUserdata(containerImage string, userData string) *v1.VirtualMachineInstance

NewRandomVMIWithEphemeralDiskAndUserdata

Deprecated: Use libvmi directly

func NewRandomVMIWithEphemeralDiskAndUserdataNetworkData deprecated added in v0.14.0

func NewRandomVMIWithEphemeralDiskAndUserdataNetworkData(containerImage, userData, networkData string, b64encode bool) *v1.VirtualMachineInstance

NewRandomVMIWithEphemeralDiskAndUserdataNetworkData

Deprecated: Use libvmi directly

func NewRandomVMWithDataVolume deprecated added in v0.8.0

func NewRandomVMWithDataVolume(imageUrl string, namespace string) (*v1.VirtualMachine, bool)

NewRandomVMWithDataVolume

Deprecated: Use libvmi directly

func NewRandomVMWithDataVolumeAndUserDataInStorageClass deprecated added in v0.34.0

func NewRandomVMWithDataVolumeAndUserDataInStorageClass(imageUrl, namespace, userData, storageClass string) *v1.VirtualMachine

NewRandomVMWithDataVolumeAndUserDataInStorageClass

Deprecated: Use libvmi directly

func NewRandomVMWithDataVolumeWithRegistryImport deprecated added in v0.44.2

func NewRandomVMWithDataVolumeWithRegistryImport(imageUrl, namespace, storageClass string, accessMode k8sv1.PersistentVolumeAccessMode) *v1.VirtualMachine

NewRandomVMWithDataVolumeWithRegistryImport

Deprecated: Use libvmi directly

func NewRandomVMWithEphemeralDisk deprecated

func NewRandomVMWithEphemeralDisk(containerImage string) *v1.VirtualMachine

NewRandomVMWithEphemeralDisk

Deprecated: Use libvmi directly

func NewRandomVirtualMachineInstanceWithBlockDisk deprecated added in v0.49.1

func NewRandomVirtualMachineInstanceWithBlockDisk(imageUrl, namespace string, accessMode k8sv1.PersistentVolumeAccessMode) (*v1.VirtualMachineInstance, *cdiv1.DataVolume)

NewRandomVirtualMachineInstanceWithBlockDisk

Deprecated: Use libvmi directly

func NewRandomVirtualMachineInstanceWithDisk deprecated added in v0.49.1

func NewRandomVirtualMachineInstanceWithDisk(imageUrl, namespace, sc string, accessMode k8sv1.PersistentVolumeAccessMode, volMode k8sv1.PersistentVolumeMode) (*v1.VirtualMachineInstance, *cdiv1.DataVolume)

NewRandomVirtualMachineInstanceWithDisk

Deprecated: Use libvmi directly

func NewRandomVirtualMachineInstanceWithFileDisk deprecated added in v0.49.1

func NewRandomVirtualMachineInstanceWithFileDisk(imageUrl, namespace string, accessMode k8sv1.PersistentVolumeAccessMode) (*v1.VirtualMachineInstance, *cdiv1.DataVolume)

NewRandomVirtualMachineInstanceWithFileDisk

Deprecated: Use libvmi directly

func NewTCPServerPod added in v0.34.0

func NewTCPServerPod(ipFamily, port int) *corev1.Pod

func NodeNameWithHandler added in v0.41.1

func NodeNameWithHandler() string

func NotDeleted added in v0.5.0

func NotDeleted(vmis *v1.VirtualMachineInstanceList) (notDeleted []v1.VirtualMachineInstance)

func NotDeletedVMs added in v0.49.0

func NotDeletedVMs(vms *v1.VirtualMachineList) (notDeleted []v1.VirtualMachine)

func PrepareMetricsURL added in v0.53.0

func PrepareMetricsURL(ip string, port int) string

func RandTmpDir added in v0.29.0

func RandTmpDir() string

func RemoveFaultyDisk added in v0.41.1

func RemoveFaultyDisk(nodeName, deviceName string)

func RemoveHostDiskImage added in v0.9.0

func RemoveHostDiskImage(diskPath string, nodeName string)

func RemoveSCSIDisk added in v0.48.0

func RemoveSCSIDisk(nodeName, address string)

func RenameImgFile added in v0.58.0

func RenameImgFile(pvc *k8sv1.PersistentVolumeClaim, newName string)

func RetryIfModified added in v0.22.0

func RetryIfModified(do func() error) (err error)

func RetryWithMetadataIfModified added in v0.23.0

func RetryWithMetadataIfModified(objectMeta metav1.ObjectMeta, do func(objectMeta metav1.ObjectMeta) error) (err error)

func RunCommandOnVmiPod added in v0.6.3

func RunCommandOnVmiPod(vmi *v1.VirtualMachineInstance, command []string) string

RunCommandOnVmiPod runs specified command on the virt-launcher pod

func RunCommandOnVmiTargetPod added in v0.36.4

func RunCommandOnVmiTargetPod(vmi *v1.VirtualMachineInstance, command []string) (string, error)

RunCommandOnVmiTargetPod runs specified command on the target virt-launcher pod of a migration

func RunPod added in v0.48.0

func RunPod(pod *k8sv1.Pod) *k8sv1.Pod

func RunPodAndExpectCompletion added in v0.48.0

func RunPodAndExpectCompletion(pod *k8sv1.Pod) *k8sv1.Pod

func RunPodInNamespace added in v0.58.0

func RunPodInNamespace(pod *k8sv1.Pod, namespace string) *k8sv1.Pod

func RunVMIAndExpectLaunch added in v0.9.0

func RunVMIAndExpectLaunch(vmi *v1.VirtualMachineInstance, timeout int) *v1.VirtualMachineInstance

func RunVMIAndExpectLaunchIgnoreWarnings added in v0.29.0

func RunVMIAndExpectLaunchIgnoreWarnings(vmi *v1.VirtualMachineInstance, timeout int) *v1.VirtualMachineInstance

func RunVMIAndExpectLaunchWithDataVolume added in v0.40.0

func RunVMIAndExpectLaunchWithDataVolume(vmi *v1.VirtualMachineInstance, dv *cdiv1.DataVolume, timeout int) *v1.VirtualMachineInstance

func RunVMIAndExpectScheduling added in v0.17.0

func RunVMIAndExpectScheduling(vmi *v1.VirtualMachineInstance, timeout int) *v1.VirtualMachineInstance

func RunVMIAndExpectSchedulingWithWarningPolicy added in v0.58.1

func RunVMIAndExpectSchedulingWithWarningPolicy(vmi *v1.VirtualMachineInstance, timeout int, wp watcher.WarningsPolicy) *v1.VirtualMachineInstance

func Running added in v0.35.0

func Running(vmis *v1.VirtualMachineInstanceList) (running []v1.VirtualMachineInstance)

func StartExampleGuestAgent added in v0.59.0

func StartExampleGuestAgent(vmi *v1.VirtualMachineInstance, useTLS bool, port uint32) error

func StartHTTPServer added in v0.11.0

func StartHTTPServer(vmi *v1.VirtualMachineInstance, port int, loginTo console.LoginToFunction)

func StartHTTPServerPod added in v0.34.0

func StartHTTPServerPod(ipFamily, port int) *corev1.Pod

func StartHTTPServerWithSourceIp added in v0.52.0

func StartHTTPServerWithSourceIp(vmi *v1.VirtualMachineInstance, port int, sourceIP string, loginTo console.LoginToFunction)

func StartPythonHttpServer added in v0.37.0

func StartPythonHttpServer(vmi *v1.VirtualMachineInstance, port int)

func StartPythonUDPServer added in v0.56.0

func StartPythonUDPServer(vmi *v1.VirtualMachineInstance, port int, ipFamily k8sv1.IPFamily)

func StartTCPServer added in v0.11.0

func StartTCPServer(vmi *v1.VirtualMachineInstance, port int, loginTo console.LoginToFunction)

func StartTCPServerPod added in v0.34.0

func StartTCPServerPod(ipFamily, port int) *corev1.Pod

func StartVMAndExpectRunning added in v0.53.0

func StartVMAndExpectRunning(virtClient kubecli.KubevirtClient, vm *v1.VirtualMachine) *v1.VirtualMachine

func StartVirtualMachine added in v0.8.0

func StartVirtualMachine(vm *v1.VirtualMachine) *v1.VirtualMachine

func StopVirtualMachine added in v0.8.0

func StopVirtualMachine(vm *v1.VirtualMachine) *v1.VirtualMachine

func StopVirtualMachineWithTimeout added in v0.41.0

func StopVirtualMachineWithTimeout(vm *v1.VirtualMachine, timeout time.Duration) *v1.VirtualMachine

func UnfinishedVMIPodSelector added in v0.6.1

func UnfinishedVMIPodSelector(vmi *v1.VirtualMachineInstance) metav1.ListOptions

func UpdateKubeVirtConfigValueAndWait added in v0.35.0

func UpdateKubeVirtConfigValueAndWait(kvConfig v1.KubeVirtConfiguration) *v1.KubeVirt

UpdateKubeVirtConfigValueAndWait updates the given configuration in the kubevirt custom resource and then waits to allow the configuration events to be propagated to the consumers.

func WaitForConfigToBePropagatedToComponent added in v0.35.0

func WaitForConfigToBePropagatedToComponent(podLabel string, resourceVersion string, compareResourceVersions compare, duration time.Duration)

Types

This section is empty.

Directories

Path Synopsis
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
framework
job

Jump to

Keyboard shortcuts

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