Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: update pipeline to add hubble tests #2428

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .pipelines/pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,18 @@ stages:
vmSize: Standard_B2ms
k8sVersion: ""
dependsOn: "test"

# Cilium Podsubnet E2E tests with hubble
- template: singletenancy/cilium/cilium-e2e-job-template.yaml
parameters:
name: "cilium_e2e_hubble"
displayName: Cilium with hubble
clusterType: swift-byocni-nokubeproxy-up
clusterName: "ciliume2e-hubble"
vmSize: Standard_B2ms
k8sVersion: ""
dependsOn: "test"
testHubble: true

# Cilium Overlay E2E tests
- template: singletenancy/cilium-overlay/cilium-overlay-e2e-job-template.yaml
Expand All @@ -370,6 +382,18 @@ stages:
k8sVersion: ""
dependsOn: "test"

# Cilium Overlay E2E tests with hubble
- template: singletenancy/cilium-overlay/cilium-overlay-e2e-job-template.yaml
parameters:
name: "cilium_overlay_e2e_hubble"
displayName: Cilium on AKS Overlay with Hubble
clusterType: overlay-byocni-nokubeproxy-up
clusterName: "cilovere2e-hubble"
vmSize: Standard_B2ms
k8sVersion: ""
dependsOn: "test"
testHubble: true

# Azure Overlay E2E tests
- template: singletenancy/azure-cni-overlay/azure-cni-overlay-e2e-job-template.yaml
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,21 @@ steps:
name: "CiliumStatus"
displayName: "Cilium Status"

- ${{ if eq( parameters.testHubble, true) }}:
- script: |
echo "enable Hubble metrics server"
kubectl apply -f test/integration/manifests/cilium/hubble/hubble-peer-svc.yaml
kubectl apply -f test/integration/manifests/cilium/cilium-config-hubble.yaml
kubectl rollout restart ds cilium -n kube-system
echo "wait <3 minutes for pods to be ready after restart"
kubectl rollout status ds cilium -n kube-system --timeout=3m
kubectl get pods -Aowide
echo "verify Hubble metrics endpoint is usable"
go test ./test/integration/networkobservability -count=1 -v -tags=networkobservability
retryCountOnTaskFailure: 3
name: "HubbleConnectivityTests"
displayName: "Run Hubble Connectivity Tests"

- script: |
echo "Run Service Conformance E2E"
export PATH=${PATH}:/usr/local/bin/gsutil
Expand All @@ -153,21 +168,6 @@ steps:
name: "ciliumConnectivityTests"
displayName: "Run Cilium Connectivity Tests"

- ${{ if eq( parameters['testHubble'], true) }}:
- script: |
echo "enable Hubble metrics server"
kubectl apply -f test/integration/manifests/cilium/hubble/hubble-peer-svc.yaml
kubectl apply -f test/integration/manifests/cilium/cilium-config-hubble.yaml
kubectl rollout restart ds cilium -n kube-system
echo "wait <3 minutes for pods to be ready after restart"
kubectl rollout status ds cilium -n kube-system --timeout=3m
kubectl get pods -Aowide
echo "verify Hubble metrics endpoint is usable"
go test ./test/integration/networkobservability -count=1 -v -tags=networkobservability
retryCountOnTaskFailure: 3
name: "HubbleConnectivityTests"
displayName: "Run Hubble Connectivity Tests"

- script: |
echo "validate pod IP assignment and check systemd-networkd restart"
kubectl get pod -owide -A
Expand Down
16 changes: 16 additions & 0 deletions .pipelines/singletenancy/cilium/cilium-e2e-step-template.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
parameters:
name: ""
clusterName: ""
testHubble: false

steps:
- bash: |
Expand Down Expand Up @@ -69,6 +70,21 @@ steps:
name: "installCiliumCLI"
displayName: "Install Cilium CLI"

- ${{ if eq( parameters.testHubble, true) }}:
- script: |
echo "enable Hubble metrics server"
kubectl apply -f test/integration/manifests/cilium/hubble/hubble-peer-svc.yaml
kubectl apply -f test/integration/manifests/cilium/cilium-config-hubble.yaml
kubectl rollout restart ds cilium -n kube-system
echo "wait <3 minutes for pods to be ready after restart"
kubectl rollout status ds cilium -n kube-system --timeout=3m
kubectl get pods -Aowide
echo "verify Hubble metrics endpoint is usable"
go test ./test/integration/networkobservability -count=1 -v -tags=networkobservability
retryCountOnTaskFailure: 3
name: "HubbleConnectivityTests"
displayName: "Run Hubble Connectivity Tests"

- script: |
echo "install kubetest2 and gsutils"
go get github.com/onsi/ginkgo/ginkgo
Expand Down
Loading