Documentation ¶
Overview ¶
Package network are the end-to-end tests for Kubernetes networking.
Index ¶
- Constants
- func CheckSCTPModuleLoadedOnNodes(ctx context.Context, 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(ctx context.Context, config *e2enetwork.NetworkingTestConfig, host string, ...) (string, error)
- func StartServeHostnameService(ctx context.Context, c clientset.Interface, svc *v1.Service, ns string, ...) ([]string, string, error)
- func StopServeHostnameService(ctx context.Context, clientset clientset.Interface, ns, name string) error
- func TestHTTPHealthCheckNodePort(ctx context.Context, host string, port int, request string, ...) 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 // SessionAffinityTimeout is the number of seconds to wait between requests for // session affinity to timeout before trying a load-balancer request again SessionAffinityTimeout = 125 )
Variables ¶
This section is empty.
Functions ¶
func CheckSCTPModuleLoadedOnNodes ¶ added in v1.19.0
func CheckSCTPModuleLoadedOnNodes(ctx context.Context, f *framework.Framework, nodes *v1.NodeList) bool
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(ctx context.Context, 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(ctx context.Context, 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
func StopServeHostnameService(ctx context.Context, clientset clientset.Interface, ns, name string) error
StopServeHostnameService stops the given service.
func TestHTTPHealthCheckNodePort ¶ added in v1.18.0
func TestHTTPHealthCheckNodePort(ctx context.Context, host string, port int, request string, timeout time.Duration, expectSucceed bool, threshold int) error
TestHTTPHealthCheckNodePort tests a HTTP connection by the given request to the given host and port.
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 for version < 2.19 (agnhost < 2.53): 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 Example output with version >= 2.19 (agnhost >= 2.53) +0000:20240908113035.128,192.168.9.3,58256,192.168.9.4,5001,1,0.0-1.0,5220466748,41763733984,-1,-1,-1,-1,0,0 +0000:20240908113036.128,192.168.9.3,58256,192.168.9.4,5001,1,1.0-2.0,5127667712,41021341696,-1,-1,-1,-1,0,0 +0000:20240908113037.128,192.168.9.3,58256,192.168.9.4,5001,1,2.0-3.0,5127405568,41019244544,-1,-1,-1,-1,0,0 +0000:20240908113038.128,192.168.9.3,58256,192.168.9.4,5001,1,3.0-4.0,5173018624,41384148992,-1,-1,-1,-1,0,0 +0000:20240908113039.128,192.168.9.3,58256,192.168.9.4,5001,1,4.0-5.0,5245894656,41967157248,-1,-1,-1,-1,0,0 +0000:20240908113040.128,192.168.9.3,58256,192.168.9.4,5001,1,5.0-6.0,5213257728,41706061824,-1,-1,-1,-1,0,0 +0000:20240908113041.128,192.168.9.3,58256,192.168.9.4,5001,1,6.0-7.0,5113118720,40904949760,-1,-1,-1,-1,0,0 +0000:20240908113042.128,192.168.9.3,58256,192.168.9.4,5001,1,7.0-8.0,5242748928,41941991424,-1,-1,-1,-1,0,0
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.
func PokeUDP ¶ added in v1.31.0
func PokeUDP(host string, port int, request string, params *UDPPokeParams) UDPPokeResult
PokeUDP tries to connect to a host on a port and send the given request. Callers can specify additional success parameters, if desired.
The result status will be characterized as precisely as possible, given the known users of this.
The result error will be populated for any status other than Success.
The result response will be populated if the UDP transaction was completed, even if the other test params make this a failure).
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
- fixture.go
- funny_ips.go
- hostport.go
- ingress.go
- ingressclass.go
- kube_proxy.go
- loadbalancer.go
- network_policy.go
- networking.go
- networking_perf.go
- no_snat.go
- pod_lifecycle.go
- proxy.go
- service.go
- service_cidrs.go
- service_latency.go
- topology_hints.go
- traffic_distribution.go
- util.go
- util_iperf.go