Skip to content

Commit 1152f81

Browse files
committed
Add e2e testing for http-connect mode
1 parent 36781ff commit 1152f81

File tree

4 files changed

+35
-31
lines changed

4 files changed

+35
-31
lines changed

.github/workflows/e2e.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,12 @@ jobs:
5858
REGISTRY: gcr.io/k8s-staging-kas-network-proxy
5959
KIND_IMAGE: kindest/node${{ matrix.k8s }}
6060
TAG: master
61+
CONNECTION_MODE: ${{ matrix.connection-mode }}
6162
strategy:
6263
fail-fast: false
6364
matrix:
6465
k8s: [ v1.27.11, v1.28.7, v1.29.2 ]
66+
connection-mode: [ grpc, http-connect ]
6567
steps:
6668
- name: Install kind
6769
run: |

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ DOCKER_CLI_EXPERIMENTAL ?= enabled
5656
PROXY_SERVER_IP ?= 127.0.0.1
5757

5858
KIND_IMAGE ?= kindest/node
59+
CONNECTION_MODE ?= grpc
5960
## --------------------------------------
6061
## Testing
6162
## --------------------------------------
@@ -84,7 +85,7 @@ test-integration: build
8485

8586
.PHONY: test-e2e
8687
test-e2e: docker-build
87-
go test -mod=vendor ./e2e -race -agent-image ${AGENT_FULL_IMAGE}-$(TARGETARCH):${TAG} -server-image ${SERVER_FULL_IMAGE}-$(TARGETARCH):${TAG} -kind-image ${KIND_IMAGE}
88+
go test -mod=vendor ./e2e -race -agent-image ${AGENT_FULL_IMAGE}-$(TARGETARCH):${TAG} -server-image ${SERVER_FULL_IMAGE}-$(TARGETARCH):${TAG} -kind-image ${KIND_IMAGE} -mode ${CONNECTION_MODE}
8889

8990
## --------------------------------------
9091
## Binaries

e2e/main_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ import (
2121
)
2222

2323
var (
24-
testenv env.Environment
25-
agentImage = flag.String("agent-image", "", "The proxy agent's docker image.")
26-
serverImage = flag.String("server-image", "", "The proxy server's docker image.")
27-
kindImage = flag.String("kind-image", "kindest/node", "Image to use for kind nodes.")
24+
testenv env.Environment
25+
agentImage = flag.String("agent-image", "", "The proxy agent's docker image.")
26+
serverImage = flag.String("server-image", "", "The proxy server's docker image.")
27+
kindImage = flag.String("kind-image", "kindest/node", "Image to use for kind nodes.")
28+
connectionMode = flag.String("mode", "grpc", "Connection mode to use during e2e tests.")
2829
)
2930

3031
func TestMain(m *testing.M) {

e2e/multiserver_multiagent_test.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,24 @@ func TestMultiServer_MultiAgent_StaticCount(t *testing.T) {
2222
Replicas: 3,
2323
Image: *serverImage,
2424
Args: []KeyValue{
25-
{Key: "log-file", Value: "/var/log/konnectivity-server.log"},
26-
{Key: "logtostderr", Value: "true"},
27-
{Key: "log-file-max-size", Value: "0"},
28-
{Key: "uds-name", Value: "/etc/kubernetes/konnectivity-server/konnectivity-server.socket"},
25+
{"log-file", "/var/log/konnectivity-server.log"},
26+
{"logtostderr", "true"},
27+
{"log-file-max-size", "0"},
28+
{"uds-name", "/etc/kubernetes/konnectivity-server/konnectivity-server.socket"},
2929
{Key: "delete-existing-uds-file"},
30-
{Key: "cluster-cert", Value: "/etc/kubernetes/pki/apiserver.crt"},
31-
{Key: "cluster-key", Value: "/etc/kubernetes/pki/apiserver.key"},
32-
{Key: "server-port", Value: "8090"},
33-
{Key: "agent-port", Value: "8091"},
34-
{Key: "health-port", Value: "8092"},
35-
{Key: "admin-port", Value: strconv.Itoa(adminPort)},
36-
{Key: "keepalive-time", Value: "1h"},
37-
{Key: "mode", Value: "grpc"},
38-
{Key: "agent-namespace", Value: "kube-system"},
39-
{Key: "agent-service-account", Value: "konnectivity-agent"},
40-
{Key: "kubeconfig", Value: "/etc/kubernetes/admin.conf"},
41-
{Key: "authentication-audience", Value: "system:konnectivity-server"},
42-
{Key: "server-count", Value: "1"},
30+
{"cluster-cert", "/etc/kubernetes/pki/apiserver.crt"},
31+
{"cluster-key", "/etc/kubernetes/pki/apiserver.key"},
32+
{"server-port", "8090"},
33+
{"agent-port", "8091"},
34+
{"health-port", "8092"},
35+
{"admin-port", strconv.Itoa(adminPort)},
36+
{"keepalive-time", "1h"},
37+
{"mode", *connectionMode},
38+
{"agent-namespace", "kube-system"},
39+
{"agent-service-account", "konnectivity-agent"},
40+
{"kubeconfig", "/etc/kubernetes/admin.conf"},
41+
{"authentication-audience", "system:konnectivity-server"},
42+
{"server-count", "1"},
4343
},
4444
}
4545
serverStatefulSet, _, err := renderTemplate("server/statefulset.yaml", serverStatefulSetCfg)
@@ -51,16 +51,16 @@ func TestMultiServer_MultiAgent_StaticCount(t *testing.T) {
5151
Replicas: 3,
5252
Image: *agentImage,
5353
Args: []KeyValue{
54-
{Key: "logtostderr", Value: "true"},
55-
{Key: "ca-cert", Value: "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"},
56-
{Key: "proxy-server-host", Value: serverServiceHost},
57-
{Key: "proxy-server-port", Value: "8091"},
58-
{Key: "sync-interval", Value: "1s"},
59-
{Key: "sync-interval-cap", Value: "10s"},
54+
{"logtostderr", "true"},
55+
{"ca-cert", "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"},
56+
{"proxy-server-host", serverServiceHost},
57+
{"proxy-server-port", "8091"},
58+
{"sync-interval", "1s"},
59+
{"sync-interval-cap", "10s"},
6060
{Key: "sync-forever"},
61-
{Key: "probe-interval", Value: "1s"},
62-
{Key: "service-account-token-path", Value: "/var/run/secrets/tokens/konnectivity-agent-token"},
63-
{Key: "server-count", Value: "3"},
61+
{"probe-interval", "1s"},
62+
{"service-account-token-path", "/var/run/secrets/tokens/konnectivity-agent-token"},
63+
{"server-count", "3"},
6464
},
6565
}
6666
agentStatefulSet, _, err := renderTemplate("agent/statefulset.yaml", agentStatefulSetConfig)

0 commit comments

Comments
 (0)