Documentation

Overview

    e2e_node contains e2e tests specific to the node TODO: rename this package e2e-node

    Index

    Constants

    View Source
    const (
    	TimeSeriesTag = "[Result:TimeSeries]"
    	TimeSeriesEnd = "[Finish:TimeSeries]"
    )

    Variables

    View Source
    var NodeImageWhiteList = sets.NewString(
    	"google/cadvisor:latest",
    	"k8s.gcr.io/stress:v1",
    	busyboxImage,
    	"k8s.gcr.io/busybox@sha256:4bdd623e848417d96127e16037743f0cd8b528c026e9175e22a84f639eca58ff",
    	"k8s.gcr.io/node-problem-detector:v0.4.1",
    	imageutils.GetE2EImage(imageutils.NginxSlim),
    	imageutils.GetE2EImage(imageutils.ServeHostname),
    	imageutils.GetE2EImage(imageutils.Netexec),
    	imageutils.GetE2EImage(imageutils.Nonewprivs),
    	imageutils.GetPauseImageNameForHostArch(),
    	framework.GetGPUDevicePluginImage(),
    )

      NodeImageWhiteList 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 PrePullAllImages

      func PrePullAllImages() error

        Pre-fetch all images tests depend on so that we don't fail in an actual test.

        func SIGDescribe

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

        Types

        type ConformanceContainer

        type ConformanceContainer struct {
        	Container        v1.Container
        	RestartPolicy    v1.RestartPolicy
        	Volumes          []v1.Volume
        	ImagePullSecrets []string
        
        	PodClient *framework.PodClient
        
        	PodSecurityContext *v1.PodSecurityContext
        	// contains filtered or unexported fields
        }

          One pod one container

          func (*ConformanceContainer) Create

          func (cc *ConformanceContainer) Create()

          func (*ConformanceContainer) Delete

          func (cc *ConformanceContainer) Delete() error

          func (*ConformanceContainer) GetPhase

          func (cc *ConformanceContainer) GetPhase() (v1.PodPhase, error)

          func (*ConformanceContainer) GetStatus

          func (cc *ConformanceContainer) GetStatus() (v1.ContainerStatus, error)

          func (*ConformanceContainer) IsReady

          func (cc *ConformanceContainer) IsReady() (bool, error)

          func (*ConformanceContainer) Present

          func (cc *ConformanceContainer) Present() (bool, error)

          type ContainerState

          type ContainerState string
          const (
          	ContainerStateWaiting    ContainerState = "Waiting"
          	ContainerStateRunning    ContainerState = "Running"
          	ContainerStateTerminated ContainerState = "Terminated"
          	ContainerStateUnknown    ContainerState = "Unknown"
          )

          func GetContainerState

          func GetContainerState(state v1.ContainerState) ContainerState

          type ResourceCollector

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

          func NewResourceCollector

          func NewResourceCollector(interval time.Duration) *ResourceCollector

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

            func (*ResourceCollector) GetBasicCPUStats

            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

                GetCPUSummary gets CPU usage in percentile.

                func (*ResourceCollector) GetLatest

                  GetLatest gets the latest resource usage from stats buffer.

                  func (*ResourceCollector) GetResourceTimeSeries

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

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

                    func (*ResourceCollector) LogLatest

                    func (r *ResourceCollector) LogLatest()

                      LogLatest logs the latest resource usage.

                      func (*ResourceCollector) Reset

                      func (r *ResourceCollector) Reset()

                        Reset clears the stats buffer of resource collector.

                        func (*ResourceCollector) Start

                        func (r *ResourceCollector) Start()

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

                          func (*ResourceCollector) Stop

                          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.
                            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.
                            runner
                            remote
                            To run the node e2e tests remotely against one or more hosts on gce: $ go run run_remote.go --logtostderr --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 --logtostderr --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 --logtostderr --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 --logtostderr --v 2 --project <project> --zone <zone> --ssh-env gce --images <comma separated images>