e2enode

package
v1.29.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2023 License: Apache-2.0 Imports: 89 Imported by: 3

README

Documentation

Overview

Package e2enode contains e2e tests specific to the node

Index

Constants

View Source
const (
	// TimeSeriesTag is the tag for time series.
	TimeSeriesTag = "[Result:TimeSeries]"
	// TimeSeriesEnd is the end tag for time series.
	TimeSeriesEnd = "[Finish:TimeSeries]"
)
View Source
const (
	// SampleDevicePluginDSYAML is the path of the daemonset template of the sample device plugin. // TODO: Parametrize it by making it a feature in TestFramework.
	SampleDevicePluginDSYAML                    = "test/e2e/testing-manifests/sample-device-plugin/sample-device-plugin.yaml"
	SampleDevicePluginControlRegistrationDSYAML = "test/e2e/testing-manifests/sample-device-plugin/sample-device-plugin-control-registration.yaml"

	// SampleDevicePluginName is the name of the device plugin pod
	SampleDevicePluginName = "sample-device-plugin"

	// SampleDeviceResourceName is the name of the resource provided by the sample device plugin
	SampleDeviceResourceName = "example.com/resource"

	SampleDeviceEnvVarNamePluginSockDir = "PLUGIN_SOCK_DIR"
)
View Source
const (
	// SRIOVDevicePluginCMYAML is the path of the config map to configure the sriov device plugin.
	SRIOVDevicePluginCMYAML = "test/e2e_node/testing-manifests/sriovdp-cm.yaml"
	// SRIOVDevicePluginDSYAML is the path of the daemonset template of the sriov device plugin. // TODO: Parametrize it by making it a feature in TestFramework.
	SRIOVDevicePluginDSYAML = "test/e2e_node/testing-manifests/sriovdp-ds.yaml"
	// SRIOVDevicePluginSAYAML is the path of the service account needed by the sriov device plugin to run.
	SRIOVDevicePluginSAYAML = "test/e2e_node/testing-manifests/sriovdp-sa.yaml"
	// SRIOVDevicePluginName is the name of the device plugin pod
	SRIOVDevicePluginName = "sriov-device-plugin"
)

Variables

View Source
var NodePrePullImageList = sets.NewString(
	imageutils.GetE2EImage(imageutils.Agnhost),
	"gcr.io/cadvisor/cadvisor:v0.47.2",
	"registry.k8s.io/stress:v1",
	busyboxImage,
	"registry.k8s.io/busybox@sha256:4bdd623e848417d96127e16037743f0cd8b528c026e9175e22a84f639eca58ff",
	imageutils.GetE2EImage(imageutils.Nginx),
	imageutils.GetE2EImage(imageutils.Perl),
	imageutils.GetE2EImage(imageutils.Nonewprivs),
	imageutils.GetPauseImageName(),
	imageutils.GetE2EImage(imageutils.NodePerfNpbEp),
	imageutils.GetE2EImage(imageutils.NodePerfNpbIs),
	imageutils.GetE2EImage(imageutils.Etcd),
)

NodePrePullImageList is a list of images used in node e2e test. These images will be prepulled before test running so that the image pulling won't fail in actual test.

Functions

func CountSampleDeviceAllocatable added in v1.25.10

func CountSampleDeviceAllocatable(node *v1.Node) int64

CountSampleDeviceAllocatable returns the number of devices of SampleDeviceResourceName advertised by a node allocatable

func CountSampleDeviceCapacity added in v1.25.10

func CountSampleDeviceCapacity(node *v1.Node) int64

CountSampleDeviceCapacity returns the number of devices of SampleDeviceResourceName advertised by a node capacity

func ExecCommand added in v1.28.0

func ExecCommand(name string, c execCommand) []string

ExecCommand returns the command to execute in the container that implements execCommand and logs activities to a container specific log that persists across container restarts. The final log is written to container log so it can be retrieved by the test harness during the container execution. Log to /proc/1/fd/1 so that the lifecycle hook handler logs are captured as well.

func IsCgroup2UnifiedMode added in v1.19.0

func IsCgroup2UnifiedMode() bool

IsCgroup2UnifiedMode returns whether we are running in cgroup v2 unified mode.

func PrePullAllImages added in v1.3.0

func PrePullAllImages() error

PrePullAllImages pre-fetches all images tests depend on so that we don't fail in an actual test.

func SIGDescribe added in v1.9.0

func SIGDescribe(text string, body func()) bool

SIGDescribe annotates the test with the SIG label.

func WaitForPodContainerRestartCount added in v1.28.0

func WaitForPodContainerRestartCount(ctx context.Context, c clientset.Interface, namespace, podName string, containerIndex int, desiredRestartCount int32, timeout time.Duration) error

WaitForPodContainerRestartCount waits for the given Pod container to achieve at least a given restartCount TODO: eventually look at moving to test/e2e/framework/pod

func WaitForPodInitContainerRestartCount added in v1.28.0

func WaitForPodInitContainerRestartCount(ctx context.Context, c clientset.Interface, namespace, podName string, initContainerIndex int, desiredRestartCount int32, timeout time.Duration) error

WaitForPodInitContainerRestartCount waits for the given Pod init container to achieve at least a given restartCount TODO: eventually look at moving to test/e2e/framework/pod

func WaitForPodInitContainerToFail added in v1.28.0

func WaitForPodInitContainerToFail(ctx context.Context, c clientset.Interface, namespace, podName string, containerIndex int, reason string, timeout time.Duration) error

WaitForPodInitContainerToFail waits for the given Pod init container to fail with the given reason, specifically due to invalid container configuration. In this case, the container will remain in a waiting state with a specific reason set, which should match the given reason. TODO: eventually look at moving to test/e2e/framework/pod

Types

type ResourceCollector added in v1.4.0

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

ResourceCollector is a collector object which collects resource usage periodically from Cadvisor.

func NewResourceCollector added in v1.4.0

func NewResourceCollector(interval time.Duration) *ResourceCollector

NewResourceCollector creates a resource collector object which collects resource usage periodically from Cadvisor

func (*ResourceCollector) GetBasicCPUStats added in v1.4.0

func (r *ResourceCollector) GetBasicCPUStats(containerName string) map[float64]float64

GetBasicCPUStats returns the percentiles the cpu usage in cores for containerName. This method examines all data currently in the buffer.

func (*ResourceCollector) GetCPUSummary added in v1.4.0

GetCPUSummary gets CPU usage in percentile.

func (*ResourceCollector) GetLatest added in v1.4.0

GetLatest gets the latest resource usage from stats buffer.

func (*ResourceCollector) GetResourceTimeSeries added in v1.4.0

func (r *ResourceCollector) GetResourceTimeSeries() map[string]*perftype.ResourceSeries

GetResourceTimeSeries gets the time series of resource usage of each container.

func (*ResourceCollector) LogLatest added in v1.4.0

func (r *ResourceCollector) LogLatest()

LogLatest logs the latest resource usage.

func (*ResourceCollector) Reset added in v1.4.0

func (r *ResourceCollector) Reset()

Reset clears the stats buffer of resource collector.

func (*ResourceCollector) Start added in v1.4.0

func (r *ResourceCollector) Start()

Start starts resource collector and connects to the standalone Cadvisor pod then repeatedly runs collectStats.

func (*ResourceCollector) Stop added in v1.4.0

func (r *ResourceCollector) Stop()

Stop stops resource collector collecting stats. It does not clear the buffer

Directories

Path Synopsis
Build the binary with `go build conformance.go`, then run the conformance binary on a node candidate.
Build the binary with `go build conformance.go`, then run the conformance binary on a node candidate.
perf
plugins
gcp-credential-provider
Originally copied from pkg/credentialproviders/gcp
Originally copied from pkg/credentialproviders/gcp
Package remote contains implementations of the TestSuite interface, which specify how to run various node test suites remotely.
Package remote contains implementations of the TestSuite interface, which specify how to run various node test suites remotely.
gce
runner
remote
To run the node e2e tests remotely against one or more hosts on gce: $ go run run_remote.go --v 2 --ssh-env gce --hosts <comma separated hosts> To run the node e2e tests remotely against one or more images on gce and provision them: $ go run run_remote.go --v 2 --project <project> --zone <zone> --ssh-env gce --images <comma separated images>
To run the node e2e tests remotely against one or more hosts on gce: $ go run run_remote.go --v 2 --ssh-env gce --hosts <comma separated hosts> To run the node e2e tests remotely against one or more images on gce and provision them: $ go run run_remote.go --v 2 --project <project> --zone <zone> --ssh-env gce --images <comma separated images>

Jump to

Keyboard shortcuts

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