k8sTest

package
v0.0.0-...-c34bea4 Latest Latest
Warning

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

Go to latest
Published: May 20, 2022 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HookTC     = "TC"
	HookCgroup = "CG"
	HookXDP    = "XDP"
)

Variables

View Source
var (
	DemoDaemonSet = helpers.Manifest{
		Filename:        "demo_ds.yaml",
		Alternate:       "demo_ds_local.yaml",
		DaemonSetNames:  []string{"testds", "testclient"},
		DeploymentNames: []string{"test-k8s2"},
		NumPods:         1,
		Singleton:       true,
	}

	NetperfPods = helpers.Manifest{
		Filename:      "netperf-deployment.yaml",
		NumPods:       2,
		LabelSelector: "zgroup=testapp",
	}

	HttpServer = helpers.Manifest{
		Filename:      "http-deployment.yaml",
		NumPods:       2,
		LabelSelector: "zgroup=http-server",
	}

	HttpClients = helpers.Manifest{
		Filename:      "http-clients.yaml",
		NumPods:       2,
		LabelSelector: "zgroup=http-clients",
	}

	DemoHostFirewall = helpers.Manifest{
		Filename:       "demo_hostfw.yaml",
		DaemonSetNames: []string{"testserver", "testclient", "testserver-host", "testclient-host"},
		LabelSelector:  "zgroup=DS",
	}

	IPSecSecret = helpers.Manifest{
		Filename: "ipsec_secret.yaml",
	}

	StatelessEtcd = helpers.Manifest{
		Filename:      "etcd-deployment.yaml",
		NumPods:       1,
		LabelSelector: "name=stateless-etcd",
	}

	ConnectivityCheck = helpers.Manifest{
		Filename:      "policy-stress-test.yaml",
		NumPods:       14,
		LabelSelector: "manifest=policy-stress-test",
		Singleton:     true,
	}
)

Functions

func DeployCiliumAndDNS

func DeployCiliumAndDNS(vm *helpers.Kubectl, ciliumFilename string)

DeployCiliumAndDNS deploys DNS and cilium into the kubernetes cluster

func DeployCiliumOptionsAndDNS

func DeployCiliumOptionsAndDNS(vm *helpers.Kubectl, ciliumFilename string, options map[string]string)

DeployCiliumOptionsAndDNS deploys DNS and cilium with options into the kubernetes cluster

func ExpectAllPodsInNsTerminated

func ExpectAllPodsInNsTerminated(vm *helpers.Kubectl, ns string)

ExpectAllPodsInNsTerminated is a wrapper around helpers/WaitTerminatingPods. It asserts that the error returned by that function is nil.

func ExpectAllPodsTerminated

func ExpectAllPodsTerminated(vm *helpers.Kubectl)

ExpectAllPodsTerminated is a wrapper around helpers/WaitTerminatingPods. It asserts that the error returned by that function is nil.

func ExpectCiliumNotRunning

func ExpectCiliumNotRunning(vm *helpers.Kubectl)

func ExpectCiliumOperatorReady

func ExpectCiliumOperatorReady(vm *helpers.Kubectl)

ExpectCiliumOperatorReady is a wrapper around helpers/WaitForPods. It asserts that the error returned by that function is nil.

func ExpectCiliumPreFlightInstallReady

func ExpectCiliumPreFlightInstallReady(vm *helpers.Kubectl)

ExpectCiliumPreFlightInstallReady is a wrapper around helpers/WaitForNPods. It asserts the error returned by that function is nil.

func ExpectCiliumReady

func ExpectCiliumReady(vm *helpers.Kubectl)

ExpectCiliumReady is a wrapper around helpers/WaitForPods. It asserts that the error returned by that function is nil.

func ExpectHubbleCLIReady

func ExpectHubbleCLIReady(vm *helpers.Kubectl, ns string)

ExpectHubbleCLIReady is a wrapper around helpers/WaitForPods. It asserts that the error returned by that function is nil.

func ExpectHubbleRelayReady

func ExpectHubbleRelayReady(vm *helpers.Kubectl, ns string)

ExpectHubbleRelayReady is a wrapper around helpers/WaitForPods. It asserts that the error returned by that function is nil.

func ExpectKubeDNSReady

func ExpectKubeDNSReady(vm *helpers.Kubectl)

ExpectKubeDNSReady is a wrapper around helpers/WaitKubeDNS. It asserts that the error returned by that function is nil.

func InstallAndValidateCiliumUpgrades

func InstallAndValidateCiliumUpgrades(kubectl *helpers.Kubectl, oldHelmChartVersion, oldImageVersion, newHelmChartVersion, newImageVersion string) (func(), func())

InstallAndValidateCiliumUpgrades installs and tests if the oldVersion can be upgrade to the newVersion and if the newVersion can be downgraded to the oldVersion. It returns two callbacks, the first one is the assertfunction that need to run, and the second one are the cleanup actions

func RedeployCilium

func RedeployCilium(vm *helpers.Kubectl, ciliumFilename string, options map[string]string)

RedeployCilium reinstantiates the Cilium DS and ensures it is running.

This helper is only appropriate for reconfiguring Cilium in the middle of an existing testsuite that calls DeployCiliumAndDNS(...).

func RedeployCiliumWithMerge

func RedeployCiliumWithMerge(vm *helpers.Kubectl,
	ciliumFilename string,
	from, options map[string]string)

RedeployCiliumWithMerge merges the configuration passed as "from" into "options", allowing the caller to preserve the previous Cilium configuration, along with passing new configuration. This function behaves equivalently to RedeployCilium. Note that "options" is deep copied, meaning it will NOT be modified. Any modifications will be local to this function.

func SkipIfBenchmark

func SkipIfBenchmark()

SkipIfBenchmark will skip the test if benchmark is not specified

func SkipIfIntegration

func SkipIfIntegration(integration string)

SkipIfIntegration will skip a test if it's running with any of the specified integration.

func UninstallCiliumFromManifest

func UninstallCiliumFromManifest(vm *helpers.Kubectl, ciliumFilename string)

UninstallCiliumFromManifest uninstall a deployed Cilium configuration from the provided manifest file. Treat this as a cleanup function for RedeployCilium/Redeploy/DeployCiliumAndDNS/CiliumInstall.

Types

type BPFProgram

type BPFProgram struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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