@@ -3113,6 +3113,142 @@ jobs:
31133113 if : ${{ success() || (failure() && (steps.install.conclusion == 'failure' || steps.kube-ovn-ipsec-e2e.conclusion == 'failure')) }}
31143114 run : make check-kube-ovn-pod-restarts
31153115
3116+ kube-ovn-ipsec-cert-mgr-e2e :
3117+ name : OVN IPSEC E2E CERT MANAGER
3118+ needs :
3119+ - build-kube-ovn
3120+ - build-e2e-binaries
3121+ runs-on : ubuntu-24.04
3122+ timeout-minutes : 15
3123+ steps :
3124+ - uses : jlumbroso/free-disk-space@v1.3.1
3125+ with :
3126+ android : true
3127+ dotnet : true
3128+ haskell : true
3129+ docker-images : false
3130+ large-packages : false
3131+ tool-cache : false
3132+ swap-storage : false
3133+
3134+ - uses : actions/checkout@v4
3135+
3136+ - name : Create the default branch directory
3137+ if : (github.base_ref || github.ref_name) != github.event.repository.default_branch
3138+ run : mkdir -p test/e2e/source
3139+
3140+ - name : Check out the default branch
3141+ if : (github.base_ref || github.ref_name) != github.event.repository.default_branch
3142+ uses : actions/checkout@v4
3143+ with :
3144+ ref : ${{ github.event.repository.default_branch }}
3145+ fetch-depth : 1
3146+ path : test/e2e/source
3147+
3148+ - name : Export E2E directory
3149+ run : |
3150+ if [ '${{ github.base_ref || github.ref_name }}' = '${{ github.event.repository.default_branch }}' ]; then
3151+ echo "E2E_DIR=." >> "$GITHUB_ENV"
3152+ else
3153+ echo "E2E_DIR=test/e2e/source" >> "$GITHUB_ENV"
3154+ fi
3155+
3156+ - uses : actions/setup-go@v5
3157+ id : setup-go
3158+ with :
3159+ go-version-file : ${{ env.E2E_DIR }}/go.mod
3160+ check-latest : true
3161+ cache : false
3162+
3163+ - name : Export Go full version
3164+ run : echo "GO_VERSION=${{ steps.setup-go.outputs.go-version }}" >> "$GITHUB_ENV"
3165+
3166+ - name : Go cache
3167+ uses : actions/cache/restore@v4
3168+ with :
3169+ path : |
3170+ ~/.cache/go-build
3171+ ~/go/pkg/mod
3172+ key : ${{ runner.os }}-e2e-go-${{ env.GO_VERSION }}-x86-${{ hashFiles(format('{0}/**/go.sum', env.E2E_DIR)) }}
3173+ restore-keys : ${{ runner.os }}-e2e-go-${{ env.GO_VERSION }}-x86-
3174+
3175+ - name : Install kind
3176+ uses : helm/kind-action@v1.12.0
3177+ with :
3178+ version : ${{ env.KIND_VERSION }}
3179+ install_only : true
3180+
3181+ - name : Install ginkgo
3182+ working-directory : ${{ env.E2E_DIR }}
3183+ run : go install -v -mod=mod github.com/onsi/ginkgo/v2/ginkgo
3184+
3185+ - name : Download kube-ovn image
3186+ uses : actions/download-artifact@v4
3187+ with :
3188+ name : kube-ovn
3189+
3190+ - name : Load images
3191+ run : docker load -i kube-ovn.tar
3192+
3193+ - name : Create kind cluster
3194+ run : |
3195+ pipx install jinjanator
3196+ make kind-init
3197+
3198+ - name : Install Kube-OVN
3199+ id : install
3200+ run : make kind-install-ovn-ipsec-cert-manager
3201+
3202+ - name : Run Ovn IPSEC cert-manager E2E
3203+ id : kube-ovn-ipsec-cert-mgr-e2e
3204+ working-directory : ${{ env.E2E_DIR }}
3205+ env :
3206+ E2E_BRANCH : ${{ github.base_ref || github.ref_name }}
3207+ run : make kube-ovn-ipsec-cert-mgr-e2e
3208+
3209+ - name : Collect k8s events
3210+ if : failure() && ( steps.ovn-ipsec-cert-mgr-e2e.conclusion == 'failure')
3211+ run : |
3212+ kubectl get events -A -o yaml > kube-ovn-ipsec-cert-mgr-e2e-events.yaml
3213+ tar zcf kube-ovn-ipsec-cert-mgr-e2e-events.tar.gz kube-ovn-ipsec-cert-mgr-e2e-events.yaml
3214+
3215+ - name : Upload k8s events
3216+ uses : actions/upload-artifact@v4
3217+ if : failure() && (steps.kube-ovn-ipsec-cert-mgr-e2e.conclusion == 'failure')
3218+ with :
3219+ name : kube-ovn-ipsec-cert-mgr-e2e-events
3220+ path : kube-ovn-ipsec-cert-mgr-e2e-events.tar.gz
3221+
3222+ - name : Collect apiserver audit logs
3223+ if : failure() && (steps.kube-ovn-ipsec-cert-mgr-e2e.conclusion == 'failure')
3224+ run : |
3225+ docker cp kube-ovn-control-plane:/var/log/kubernetes/kube-apiserver-audit.log .
3226+ tar zcf kube-ovn-ipsec-cert-mgr-e2e-audit-log.tar.gz kube-apiserver-audit.log
3227+
3228+ - name : Upload apiserver audit logs
3229+ uses : actions/upload-artifact@v4
3230+ if : failure() && (steps.kube-ovn-ipse-cert-mgrc-e2e.conclusion == 'failure')
3231+ with :
3232+ name : kube-ovn-ipsec-cert-mgr-e2e-audit-log
3233+ path : kube-ovn-ipsec-cert-mgr-e2e-audit-log.tar.gz
3234+
3235+ - name : kubectl ko log
3236+ if : failure() && (steps.kube-ovn-ipsec-cert-mgr-e2e.conclusion == 'failure')
3237+ run : |
3238+ make kubectl-ko-log
3239+ mv kubectl-ko-log.tar.gz kube-ovn-ipsec-cert-mgr-e2e-ko-log.tar.gz
3240+
3241+ - name : upload kubectl ko log
3242+ uses : actions/upload-artifact@v4
3243+ if : failure() && (steps.kube-ovn-ipsec-cert-mgr-e2e.conclusion == 'failure')
3244+ with :
3245+ name : kube-ovn-ipsec-cert-mgr-e2e-ko-log
3246+ path : kube-ovn-ipsec-cert-mgr-e2e-ko-log.tar.gz
3247+
3248+ - name : Check kube ovn pod restarts
3249+ if : ${{ success() || (failure() && (steps.install.conclusion == 'failure' || steps.kube-ovn-ipsec-cert-mgr-e2e.conclusion == 'failure')) }}
3250+ run : make check-kube-ovn-pod-restarts
3251+
31163252 kube-ovn-connectivity-test :
31173253 name : Kube-OVN Connectivity E2E
31183254 needs :
@@ -3379,6 +3515,7 @@ jobs:
33793515 - kube-ovn-conformance-e2e
33803516 - kube-ovn-ic-conformance-e2e
33813517 - kube-ovn-ipsec-e2e
3518+ - kube-ovn-ipsec-cert-mgr-e2e
33823519 - kube-ovn-underlay-metallb-e2e
33833520 - multus-conformance-e2e
33843521 - vpc-egress-gateway-e2e
0 commit comments