Skip to content

Commit

Permalink
report IP families that are being tested
Browse files Browse the repository at this point in the history
Signed-off-by: Pratyay Banerjee <[email protected]>
  • Loading branch information
Neilblaze authored Mar 7, 2023
1 parent eecce64 commit 788544a
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions connectivity/tests/host.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,23 @@ func (s *podToHost) Run(ctx context.Context, t *check.Test) {
for _, node := range ct.Nodes() {
node := node

var ipFamStr string

t.ForEachIPFamily(func(ipFam check.IPFamily) {
if ipFam == check.IPv4 {
ipFamStr = "v4"
} else if ipFam == check.IPv6 {
ipFamStr = "v6"
}

for _, addr := range node.Status.Addresses {
if check.GetIPFamily(addr.Address) != ipFam {
continue
}

dst := check.ICMPEndpoint("", addr.Address)
ipFam := check.GetIPFamily(addr.Address)

t.NewAction(s, fmt.Sprintf("ping-%d", i), &pod, dst, ipFam).Run(func(a *check.Action) {
t.NewAction(s, fmt.Sprintf("ping-%s-%d", ipFamStr, i), &pod, dst, ipFam).Run(func(a *check.Action) {
a.ExecInPod(ctx, ct.PingCommand(dst, ipFam))

a.ValidateFlows(ctx, pod, a.GetEgressRequirements(check.FlowParameters{
Expand Down Expand Up @@ -89,15 +96,25 @@ func (s *podToHostPort) Run(ctx context.Context, t *check.Test) {
echo := echo // copy to avoid memory aliasing when using reference

baseURL := fmt.Sprintf("%s://%s:%d%s", echo.Scheme(), echo.Pod.Status.HostIP, check.EchoServerHostPort, echo.Path())

var ipFamStr string

t.ForEachIPFamily(func(ipFam check.IPFamily) {
if ipFam == check.IPv4 {
ipFamStr = "v4"
} else if ipFam == check.IPv6 {
ipFamStr = "v6"
}

ep := check.HTTPEndpoint(echo.Name(), baseURL)
t.NewAction(s, fmt.Sprintf("curl-%d", i), &client, ep, check.IPFamilyAny).Run(func(a *check.Action) {
a.ExecInPod(ctx, ct.CurlCommand(ep, check.IPFamilyAny))
t.NewAction(s, fmt.Sprintf("curl-%s-%d", ipFamStr, i), &client, ep, ipFam).Run(func(a *check.Action) {
a.ExecInPod(ctx, ct.CurlCommand(ep, check.ipFam))

a.ValidateFlows(ctx, client, a.GetEgressRequirements(check.FlowParameters{
// Because the HostPort request is NATed, we might only
// observe flows after DNAT has been applied (e.g. by
// HostReachableServices),
AltDstIP: echo.Address(check.IPFamilyAny),
AltDstIP: echo.Address(check.ipFam),
AltDstPort: echo.Port(),
}))
})
Expand Down

0 comments on commit 788544a

Please sign in to comment.