e2e_node

package
v0.12.1-0...-0a124f2 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2017 License: Apache-2.0 Imports: 39 Imported by: 0

README

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",
	"gcr.io/google-containers/stress:v1",
	"gcr.io/google_containers/busybox:1.24",
	"gcr.io/google_containers/busybox@sha256:4bdd623e848417d96127e16037743f0cd8b528c026e9175e22a84f639eca58ff",
	"gcr.io/google_containers/nginx-slim:0.7",
	"gcr.io/google_containers/serve_hostname:v1.4",
	"gcr.io/google_containers/netexec:1.7",
	framework.GetPauseImageNameForHostArch(),
)

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.

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 TODO: This should be migrated to the e2e framework.

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 NodeTimeSeries

type NodeTimeSeries struct {
	// value in OperationData is an array of timestamps
	OperationData map[string][]int64         `json:"op_series,omitempty"`
	ResourceData  map[string]*ResourceSeries `json:"resource_series,omitempty"`
	Labels        map[string]string          `json:"labels"`
	Version       string                     `json:"version"`
}

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]*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

type ResourceSeries

type ResourceSeries struct {
	Timestamp            []int64           `json:"ts"`
	CPUUsageInMilliCores []int64           `json:"cpu"`
	MemoryRSSInMegaBytes []int64           `json:"memory"`
	Units                map[string]string `json:"unit"`
}

Time series of resource usage

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

Jump to

Keyboard shortcuts

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