Documentation ¶
Overview ¶
Package network are the end-to-end tests for Kubernetes networking.
Index ¶
- Constants
- func CheckSCTPModuleLoadedOnNodes(f *framework.Framework, nodes *v1.NodeList) bool
- func DescribeSvc(ns string)
- func GetHTTPContent(host string, port int, timeout time.Duration, url string) (string, error)
- func GetHTTPContentFromTestContainer(config *e2enetwork.NetworkingTestConfig, host string, port int, ...) (string, error)
- func StartServeHostnameService(c clientset.Interface, svc *v1.Service, ns string, replicas int) ([]string, string, error)
- func StopServeHostnameService(clientset clientset.Interface, ns, name string) error
- func TestHTTPHealthCheckNodePort(host string, port int, request string, timeout time.Duration, ...) error
- type IPerf2EnhancedCSVResults
- type IPerf2NodeToNodeCSVResults
- type IPerfCSVResult
- type IPerfResults
- type StrSlice
- type TestFixture
- func (t *TestFixture) BuildServiceSpec() *v1.Service
- func (t *TestFixture) Cleanup() []error
- func (t *TestFixture) CreateRC(rc *v1.ReplicationController) (*v1.ReplicationController, error)
- func (t *TestFixture) CreateService(service *v1.Service) (*v1.Service, error)
- func (t *TestFixture) DeleteService(serviceName string) error
- type UDPPokeParams
- type UDPPokeResult
- type UDPPokeStatus
Constants ¶
const ( // AffinityTimeout is the maximum time that CheckAffinity is allowed to take; this // needs to be more than long enough for AffinityConfirmCount HTTP requests to // complete in a busy CI cluster, but shouldn't be too long since we will end up // waiting the entire time in the tests where affinity is not expected. AffinityTimeout = 2 * time.Minute // AffinityConfirmCount is the number of needed continuous requests to confirm that // affinity is enabled. AffinityConfirmCount = 15 )
const ( // RespondingTimeout is how long to wait for a service to be responding. RespondingTimeout = 2 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
func CheckSCTPModuleLoadedOnNodes ¶ added in v1.19.0
CheckSCTPModuleLoadedOnNodes checks whether any node on the list has the sctp.ko module loaded For security reasons, and also to allow clusters to use userspace SCTP implementations, we require that just creating an SCTP Pod/Service/NetworkPolicy must not do anything that would cause the sctp kernel module to be loaded.
func DescribeSvc ¶ added in v1.18.0
func DescribeSvc(ns string)
DescribeSvc logs the output of kubectl describe svc for the given namespace
func GetHTTPContent ¶ added in v1.18.0
GetHTTPContent returns the content of the given url by HTTP.
func GetHTTPContentFromTestContainer ¶ added in v1.19.0
func GetHTTPContentFromTestContainer(config *e2enetwork.NetworkingTestConfig, host string, port int, timeout time.Duration, dialCmd string) (string, error)
GetHTTPContentFromTestContainer returns the content of the given url by HTTP via a test container.
func StartServeHostnameService ¶ added in v1.18.0
func StartServeHostnameService(c clientset.Interface, svc *v1.Service, ns string, replicas int) ([]string, string, error)
StartServeHostnameService creates a replication controller that serves its hostname and a service on top of it.
func StopServeHostnameService ¶ added in v1.18.0
StopServeHostnameService stops the given service.
Types ¶
type IPerf2EnhancedCSVResults ¶ added in v1.21.0
type IPerf2EnhancedCSVResults struct { Intervals []*IPerfCSVResult Total *IPerfCSVResult }
IPerf2EnhancedCSVResults models the results produced by iperf2 when run with the -e (--enhancedreports) flag.
func ParseIPerf2EnhancedResultsFromCSV ¶ added in v1.21.0
func ParseIPerf2EnhancedResultsFromCSV(output string) (*IPerf2EnhancedCSVResults, error)
ParseIPerf2EnhancedResultsFromCSV parses results from iperf2 when given the -e (--enhancedreports) and `--reportstyle C` options. Example output: 20201210141800.884,10.244.2.24,47880,10.96.114.79,6789,3,0.0-1.0,1677852672,13422821376 20201210141801.881,10.244.2.24,47880,10.96.114.79,6789,3,1.0-2.0,1980760064,15846080512 20201210141802.883,10.244.2.24,47880,10.96.114.79,6789,3,2.0-3.0,1886650368,15093202944 20201210141803.882,10.244.2.24,47880,10.96.114.79,6789,3,3.0-4.0,2035417088,16283336704 20201210141804.879,10.244.2.24,47880,10.96.114.79,6789,3,4.0-5.0,1922957312,15383658496 20201210141805.881,10.244.2.24,47880,10.96.114.79,6789,3,5.0-6.0,2095316992,16762535936 20201210141806.882,10.244.2.24,47880,10.96.114.79,6789,3,6.0-7.0,1741291520,13930332160 20201210141807.879,10.244.2.24,47880,10.96.114.79,6789,3,7.0-8.0,1862926336,14903410688 20201210141808.878,10.244.2.24,47880,10.96.114.79,6789,3,8.0-9.0,1821245440,14569963520 20201210141809.849,10.244.2.24,47880,10.96.114.79,6789,3,0.0-10.0,18752208896,15052492511
type IPerf2NodeToNodeCSVResults ¶ added in v1.21.0
type IPerf2NodeToNodeCSVResults struct { ServerNode string Results map[string]*IPerf2EnhancedCSVResults }
IPerf2NodeToNodeCSVResults models the results of running iperf2 between a daemonset of clients and a single server. The node name of the server is captured, along with a map of client node name to iperf2 results.
type IPerfCSVResult ¶ added in v1.21.0
type IPerfCSVResult struct {
// contains filtered or unexported fields
}
IPerfCSVResult struct modelling an iperf record.... 20160314154239,172.17.0.3,34152,172.17.0.2,5001,3,0.0-10.0,33843707904,27074774092
func NewIPerf ¶
func NewIPerf(csvLine string) (*IPerfCSVResult, error)
NewIPerf parses an IPerf CSV output line into an IPerfCSVResult.
type IPerfResults ¶
IPerfResults is a struct that stores some IPerfCSVResult
func (*IPerfResults) Add ¶
func (i *IPerfResults) Add(ipr *IPerfCSVResult)
Add adds a new result to the Results struct.
func (*IPerfResults) ToTSV ¶
func (i *IPerfResults) ToTSV() string
ToTSV exports an easily readable tab delimited format of all IPerfResults.
type TestFixture ¶ added in v1.18.0
type TestFixture struct { ServiceName string Namespace string Client clientset.Interface TestID string Labels map[string]string Name string Image string // contains filtered or unexported fields }
TestFixture is a simple helper class to avoid too much boilerplate in tests
func NewServerTest ¶ added in v1.18.0
func NewServerTest(client clientset.Interface, namespace string, serviceName string) *TestFixture
NewServerTest creates a new TestFixture for the tests.
func (*TestFixture) BuildServiceSpec ¶ added in v1.18.0
func (t *TestFixture) BuildServiceSpec() *v1.Service
BuildServiceSpec builds default config for a service (which can then be changed)
func (*TestFixture) Cleanup ¶ added in v1.18.0
func (t *TestFixture) Cleanup() []error
Cleanup cleans all ReplicationControllers and Services which this object holds.
func (*TestFixture) CreateRC ¶ added in v1.18.0
func (t *TestFixture) CreateRC(rc *v1.ReplicationController) (*v1.ReplicationController, error)
CreateRC creates a replication controller and records it for cleanup.
func (*TestFixture) CreateService ¶ added in v1.18.0
CreateService creates a service, and record it for cleanup
func (*TestFixture) DeleteService ¶ added in v1.18.0
func (t *TestFixture) DeleteService(serviceName string) error
DeleteService deletes a service, and remove it from the cleanup list
type UDPPokeParams ¶ added in v1.18.0
UDPPokeParams is a struct for UDP poke parameters.
type UDPPokeResult ¶ added in v1.18.0
type UDPPokeResult struct { Status UDPPokeStatus Error error // if there was any error Response []byte // if code != 0 }
UDPPokeResult is a struct for UDP poke result.
type UDPPokeStatus ¶ added in v1.18.0
type UDPPokeStatus string
UDPPokeStatus is string for representing UDP poke status.
const ( // UDPSuccess is UDP poke status which is success. UDPSuccess UDPPokeStatus = "Success" // UDPError is UDP poke status which is error. UDPError UDPPokeStatus = "UnknownError" // UDPTimeout is UDP poke status which is timeout. UDPTimeout UDPPokeStatus = "TimedOut" // UDPRefused is UDP poke status which is connection refused. UDPRefused UDPPokeStatus = "ConnectionRefused" // UDPBadResponse is UDP poke status which is bad response. UDPBadResponse UDPPokeStatus = "BadResponse" )
Source Files ¶
- conntrack.go
- dns.go
- dns_common.go
- dns_configmap.go
- dns_scale_records.go
- doc.go
- dual_stack.go
- endpointslice.go
- endpointslicemirroring.go
- example_cluster_dns.go
- firewall.go
- fixture.go
- hostport.go
- ingress.go
- ingress_scale.go
- ingressclass.go
- kube_proxy.go
- loadbalancer.go
- network_policy.go
- network_tiers.go
- networking.go
- networking_perf.go
- no_snat.go
- proxy.go
- service.go
- service_latency.go
- util.go
- util_iperf.go