e2e_node

package
v1.4.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2016 License: Apache-2.0 Imports: 56 Imported by: 0

README

WARNING WARNING WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree

If you are using a released version of Kubernetes, you should refer to the docs that go with that version.

The latest release of this document can be found [here](http://releases.k8s.io/release-1.1/docs/devel/collab.md).

Documentation for other releases can be found at releases.k8s.io.

See e2e-node-tests

Analytics

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]"
)
View Source
const (
	CNIRelease   = "8a936732094c0941e1543ef5d292a1f4fffa1ac5"
	CNIDirectory = "cni"
)
View Source
const (
	// This is consistent with the level used in a cluster e2e test.
	LOG_VERBOSITY_LEVEL = "4"
)

Variables

View Source
var CNIURL = fmt.Sprintf("https://storage.googleapis.com/kubernetes-release/network-plugins/cni-%s.tar.gz", CNIRelease)
View Source
var ImageRegistry = map[int]string{
	// contains filtered or unexported fields
}
View Source
var NoPullImageRegistry = map[int]string{
	// contains filtered or unexported fields
}

These are used by tests that explicitly test the ability to pull images

Functions

func AddHostnameIp added in v1.3.0

func AddHostnameIp(hostname, ip string)

func CreateTestArchive

func CreateTestArchive() (string, error)

CreateTestArchive builds the local source and creates a tar archive e2e_node_test.tar.gz containing the binaries k8s required for node e2e tests

func GetHostnameOrIp added in v1.3.0

func GetHostnameOrIp(hostname string) string

func PrePullAllImages added in v1.3.0

func PrePullAllImages() error

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

func RunE2EServices

func RunE2EServices()

RunE2EServices actually start the e2e services. This function is used to start e2e services in current process. This is only used in run-services-mode.

func RunRemote

func RunRemote(archive string, host string, cleanup bool, junitFilePrefix string, setupNode bool, testArgs string, ginkgoFlags string) (string, bool, error)

Returns the command output, whether the exit was ok, and any errors

func RunSshCommand

func RunSshCommand(cmd string, args ...string) (string, error)

runSshCommand executes the ssh or scp command, adding the flag provided --ssh-options

Types

type APIServer

type APIServer struct{}

APIServer is a server which manages apiserver.

func NewAPIServer

func NewAPIServer() *APIServer

NewAPIServer creates an apiserver.

func (*APIServer) Name

func (a *APIServer) Name() string

func (*APIServer) Start

func (a *APIServer) Start() error

Start starts the apiserver, returns when apiserver is ready.

func (*APIServer) Stop

func (a *APIServer) Stop() error

Stop stops the apiserver. Currently, there is no way to stop the apiserver. The function is here only for completion.

type ConformanceContainer

type ConformanceContainer struct {
	Container        api.Container
	RestartPolicy    api.RestartPolicy
	Volumes          []api.Volume
	ImagePullSecrets []string

	PodClient *framework.PodClient

	PodSecurityContext *api.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 added in v1.3.0

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

func (*ConformanceContainer) GetStatus added in v1.3.0

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

func (*ConformanceContainer) IsReady added in v1.3.0

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

func (*ConformanceContainer) Present added in v1.3.0

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

type ConformanceImage added in v1.3.0

type ConformanceImage struct {
	Image   kubecontainer.ImageSpec
	Runtime kubecontainer.Runtime
}

func NewConformanceImage added in v1.3.0

func NewConformanceImage(containerRuntime string, image string) (ci ConformanceImage, err error)

func (*ConformanceImage) GetTag added in v1.3.0

func (ci *ConformanceImage) GetTag() string

func (*ConformanceImage) List added in v1.3.0

func (ci *ConformanceImage) List() ([]string, error)

func (*ConformanceImage) Present added in v1.3.0

func (ci *ConformanceImage) Present() (bool, error)

func (*ConformanceImage) Pull added in v1.3.0

func (ci *ConformanceImage) Pull() error

func (*ConformanceImage) Remove added in v1.3.0

func (ci *ConformanceImage) Remove() error

type ContainerState added in v1.3.0

type ContainerState int
const (
	ContainerStateWaiting ContainerState = iota
	ContainerStateRunning
	ContainerStateTerminated
	ContainerStateUnknown
)

func GetContainerState added in v1.3.0

func GetContainerState(state api.ContainerState) ContainerState

type E2EServices

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

E2EServices starts and stops e2e services in a separate process. The test uses it to start and stop all e2e services.

func NewE2EServices

func NewE2EServices() *E2EServices

func (*E2EServices) Start

func (e *E2EServices) Start() error

Start starts the e2e services in another process, it returns when all e2e services are ready. We want to statically link e2e services into the test binary, but we don't want their glog to pollute the test result. So we run the binary in run- services-mode to start e2e services in another process.

func (*E2EServices) Stop

func (e *E2EServices) Stop() error

Stop stops the e2e services.

type EtcdServer

type EtcdServer struct {
	*etcdserver.EtcdServer
	// contains filtered or unexported fields
}

EtcdServer is a server which manages etcd.

func NewEtcd

func NewEtcd(dataDir string) *EtcdServer

NewEtcd creates a new default etcd server using 'dataDir' for persistence.

func (*EtcdServer) Name

func (e *EtcdServer) Name() string

Name returns the server's unique name

func (*EtcdServer) Start

func (e *EtcdServer) Start() error

Start starts the etcd server and listening for client connections

func (*EtcdServer) Stop

func (e *EtcdServer) Stop() error

Stop closes all connections and stops the Etcd server

type NamespaceController

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

NamespaceController is a server which manages namespace controller.

func NewNamespaceController

func NewNamespaceController() *NamespaceController

NewNamespaceController creates a new namespace controller.

func (*NamespaceController) Name

func (n *NamespaceController) Name() string

Name returns the name of namespace controller.

func (*NamespaceController) Start

func (n *NamespaceController) Start() error

Start starts the namespace controller.

func (*NamespaceController) Stop

func (n *NamespaceController) Stop() error

Stop stops the namespace controller.

type NodeTimeSeries added in v1.4.0

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 added in v1.4.0

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

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

GetResourceSeriesWithLabels 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

type ResourceSeries added in v1.4.0

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.
To run the e2e tests against one or more hosts on gce: $ go run run_e2e.go --logtostderr --v 2 --ssh-env gce --hosts <comma separated hosts> To run the e2e tests against one or more images on gce and provision them: $ go run run_e2e.go --logtostderr --v 2 --project <project> --zone <zone> --ssh-env gce --images <comma separated images>
To run the e2e tests against one or more hosts on gce: $ go run run_e2e.go --logtostderr --v 2 --ssh-env gce --hosts <comma separated hosts> To run the e2e tests against one or more images on gce and provision them: $ go run run_e2e.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