common

package
v1.16.3 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2019 License: Apache-2.0 Imports: 60 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ContainerStatusRetryTimeout = time.Minute * 5
	ContainerStatusPollInterval = time.Second * 1
)

Variables

View Source
var (
	KindRC         = schema.GroupVersionKind{Version: "v1", Kind: "ReplicationController"}
	KindDeployment = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "Deployment"}
	KindReplicaSet = schema.GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "ReplicaSet"}
)
View Source
var AppArmorDistros = []string{"gci", "ubuntu"}

AppArmorDistros are distros with AppArmor support

CommonImageWhiteList is the list of images used in common test. These images should be prepulled before a tests starts, so that the tests won't fail due image pulling flakes. Currently, this is only used by node e2e test. TODO(random-liu): Change the image puller pod to use similar mechanism.

Functions

func CreateAppArmorTestPod

func CreateAppArmorTestPod(f *framework.Framework, unconfined bool, runOnce bool) *v1.Pod

CreateAppArmorTestPod creates a pod that tests apparmor profile enforcement. The pod exits with an error code if the profile is incorrectly enforced. If runOnce is true the pod will exit after a single test, otherwise it will repeat the test every 1 second until failure.

func CreateCPUHorizontalPodAutoscaler

func CreateCPUHorizontalPodAutoscaler(rc *ResourceConsumer, cpu, minReplicas, maxRepl int32) *autoscalingv1.HorizontalPodAutoscaler

func DeleteHorizontalPodAutoscaler

func DeleteHorizontalPodAutoscaler(rc *ResourceConsumer, autoscalerName string)

func GetContainerStartedTime

func GetContainerStartedTime(p *v1.Pod, containerName string) (time.Time, error)

func GetResourceConsumerImage

func GetResourceConsumerImage() string

func GetTransitionTimeForReadyCondition

func GetTransitionTimeForReadyCondition(p *v1.Pod) (time.Time, error)

func IsAppArmorSupported

func IsAppArmorSupported() bool

func LoadAppArmorProfiles

func LoadAppArmorProfiles(f *framework.Framework)

func NewRCByName

func NewRCByName(c clientset.Interface, ns, name string, replicas int32, gracePeriod *int64, containerArgs []string) (*v1.ReplicationController, error)

NewRCByName creates a replication controller with a selector by name of name.

func NewSVCByName

func NewSVCByName(c clientset.Interface, ns, name string) error

NewSVCByName creates a service by name.

func ObserveEventAfterAction

func ObserveEventAfterAction(f *framework.Framework, eventPredicate func(*v1.Event) bool, action Action) (bool, error)

Returns true if an event matching the predicate was emitted from the system after performing the supplied action.

func ObserveNodeUpdateAfterAction

func ObserveNodeUpdateAfterAction(f *framework.Framework, nodeName string, nodePredicate func(*v1.Node) bool, action Action) (bool, error)

Returns true if a node update matching the predicate was emitted from the system after performing the supplied action.

func RestartNodes

func RestartNodes(c clientset.Interface, nodes []v1.Node) error

RestartNodes restarts specific nodes.

func RunLivenessTest

func RunLivenessTest(f *framework.Framework, pod *v1.Pod, expectNumRestarts int, timeout time.Duration)

func SkipIfAppArmorNotSupported

func SkipIfAppArmorNotSupported()

func SubstituteImageName

func SubstituteImageName(content string) string

SubstituteImageName replaces image name in content.

func WaitTimeoutForEvent

func WaitTimeoutForEvent(c clientset.Interface, namespace, eventSelector, msg string, timeout time.Duration) error

WaitTimeoutForEvent waits the given timeout duration for an event to occur.

Types

type Action

type Action func() error

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 KubeletManagedHostConfig

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

type PrivilegedPodTestConfig

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

PrivilegedPodTestConfig is configuration struct for privileged pod test TODO: Merge with tests in security_context.go

type ResourceConsumer

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

ResourceConsumer is a tool for testing. It helps create specified usage of CPU or memory (Warning: memory not supported) typical use case: rc.ConsumeCPU(600) // ... check your assumption here rc.ConsumeCPU(300) // ... check your assumption here

func NewDynamicResourceConsumer

func NewDynamicResourceConsumer(name, nsName string, kind schema.GroupVersionKind, replicas, initCPUTotal, initMemoryTotal, initCustomMetric int, cpuLimit, memLimit int64, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter) *ResourceConsumer

func NewMetricExporter

func NewMetricExporter(name, nsName string, podAnnotations, serviceAnnotations map[string]string, metricValue int, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter) *ResourceConsumer

func NewStaticResourceConsumer

func NewStaticResourceConsumer(name, nsName string, replicas, initCPUTotal, initMemoryTotal, initCustomMetric int, cpuLimit, memLimit int64, clientset clientset.Interface, scaleClient scaleclient.ScalesGetter) *ResourceConsumer

TODO this still defaults to replication controller

func (*ResourceConsumer) CleanUp

func (rc *ResourceConsumer) CleanUp()

func (*ResourceConsumer) ConsumeCPU

func (rc *ResourceConsumer) ConsumeCPU(millicores int)

ConsumeCPU consumes given number of CPU

func (*ResourceConsumer) ConsumeCustomMetric

func (rc *ResourceConsumer) ConsumeCustomMetric(amount int)

ConsumeMem consumes given number of custom metric

func (*ResourceConsumer) ConsumeMem

func (rc *ResourceConsumer) ConsumeMem(megabytes int)

ConsumeMem consumes given number of Mem

func (*ResourceConsumer) EnsureDesiredReplicas

func (rc *ResourceConsumer) EnsureDesiredReplicas(desiredReplicas int, duration time.Duration, hpaName string)

func (*ResourceConsumer) EnsureDesiredReplicasInRange

func (rc *ResourceConsumer) EnsureDesiredReplicasInRange(minDesiredReplicas, maxDesiredReplicas int, duration time.Duration, hpaName string)

func (*ResourceConsumer) GetHpa

func (*ResourceConsumer) GetReplicas

func (rc *ResourceConsumer) GetReplicas() int

func (*ResourceConsumer) Pause

func (rc *ResourceConsumer) Pause()

Pause stops background goroutines responsible for consuming resources.

func (*ResourceConsumer) Resume

func (rc *ResourceConsumer) Resume()

Pause starts background goroutines responsible for consuming resources.

func (*ResourceConsumer) WaitForReplicas

func (rc *ResourceConsumer) WaitForReplicas(desiredReplicas int, duration time.Duration)

type Suite

type Suite string

Suite represents test suite.

const (
	// E2E represents a test suite for e2e.
	E2E Suite = "e2e"
	// NodeE2E represents a test suite for node e2e.
	NodeE2E Suite = "node e2e"
)
var CurrentSuite Suite

CurrentSuite represents current test suite.

Jump to

Keyboard shortcuts

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