diff --git a/.github/workflows/e2e-advanced-deployment-1.19.yaml b/.github/workflows/e2e-advanced-deployment-1.19.yaml index 1b04da6e..cb344032 100644 --- a/.github/workflows/e2e-advanced-deployment-1.19.yaml +++ b/.github/workflows/e2e-advanced-deployment-1.19.yaml @@ -104,25 +104,7 @@ jobs: else kubectl get pod -n kruise-rollout --no-headers echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout exit 1 fi - exit $retVal - - name: Run E2E Tests For Control Plane - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Advanced Deployment canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal + kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout + exit $retVal \ No newline at end of file diff --git a/.github/workflows/e2e-advanced-deployment-1.23.yaml b/.github/workflows/e2e-advanced-deployment-1.23.yaml index 10edb25e..e8f49de8 100644 --- a/.github/workflows/e2e-advanced-deployment-1.23.yaml +++ b/.github/workflows/e2e-advanced-deployment-1.23.yaml @@ -104,25 +104,7 @@ jobs: else kubectl get pod -n kruise-rollout --no-headers echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal - - name: Run E2E Tests For Control Plane - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Advanced Deployment canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout exit 1 fi + kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout exit $retVal diff --git a/.github/workflows/e2e-cloneset-1.19.yaml b/.github/workflows/e2e-cloneset-1.19.yaml deleted file mode 100644 index 04e0a8eb..00000000 --- a/.github/workflows/e2e-cloneset-1.19.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-CloneSet-1.19 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.19.16' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='CloneSet canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-cloneset-1.23.yaml b/.github/workflows/e2e-cloneset-1.23.yaml deleted file mode 100644 index 2bc0b0c2..00000000 --- a/.github/workflows/e2e-cloneset-1.23.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-CloneSet-1.23 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='CloneSet canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-custom.yaml b/.github/workflows/e2e-custom.yaml deleted file mode 100644 index 4803b098..00000000 --- a/.github/workflows/e2e-custom.yaml +++ /dev/null @@ -1,85 +0,0 @@ -name: E2E-Custom - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.17' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - kubectl apply -f ./test/e2e/test_data/customNetworkProvider/istio_crd.yaml - kubectl apply -f ./test/e2e/test_data/customNetworkProvider/lua_script_configmap.yaml - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Canary rollout with custon network provider' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-daemonset-1.19.yaml b/.github/workflows/e2e-daemonset-1.19.yaml deleted file mode 100644 index 15c868d3..00000000 --- a/.github/workflows/e2e-daemonset-1.19.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-DaemonSet-1.19 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.19.16' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='DaemonSet canary rollout' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-daemonset-1.23.yaml b/.github/workflows/e2e-daemonset-1.23.yaml deleted file mode 100644 index 75ee88f2..00000000 --- a/.github/workflows/e2e-daemonset-1.23.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-DaemonSet-1.23 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='DaemonSet canary rollout' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-deployment-1.19.yaml b/.github/workflows/e2e-deployment-1.19.yaml deleted file mode 100644 index c67f45bd..00000000 --- a/.github/workflows/e2e-deployment-1.19.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-Deployment-1.19 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.19.16' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Deployment canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-deployment-1.23.yaml b/.github/workflows/e2e-deployment-1.23.yaml deleted file mode 100644 index 59ffe444..00000000 --- a/.github/workflows/e2e-deployment-1.23.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-Deployment-1.23 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Deployment canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-gateway.yaml b/.github/workflows/e2e-gateway.yaml deleted file mode 100644 index 457ff5f3..00000000 --- a/.github/workflows/e2e-gateway.yaml +++ /dev/null @@ -1,83 +0,0 @@ -name: E2E-Gateway - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Canary rollout with Gateway API' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-others-1.19.yaml b/.github/workflows/e2e-others-1.19.yaml deleted file mode 100644 index 8caa8c9f..00000000 --- a/.github/workflows/e2e-others-1.19.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-Others-1.19 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.19.16' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Others' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-others-1.23.yaml b/.github/workflows/e2e-others-1.23.yaml deleted file mode 100644 index 6fbfdab5..00000000 --- a/.github/workflows/e2e-others-1.23.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-Others-1.23 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Others' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-statefulset-1.19.yaml b/.github/workflows/e2e-statefulset-1.19.yaml deleted file mode 100644 index 571c82e0..00000000 --- a/.github/workflows/e2e-statefulset-1.19.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-StatefulSet-1.19 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.19.16' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='StatefulSet canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-statefulset-1.23.yaml b/.github/workflows/e2e-statefulset-1.23.yaml deleted file mode 100644 index 7045b962..00000000 --- a/.github/workflows/e2e-statefulset-1.23.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-StatefulSet-1.23 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='StatefulSet canary rollout with Ingress' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-v1beta1-1.19.yaml b/.github/workflows/e2e-v1beta1-1.19.yaml deleted file mode 100644 index 6ec0e39d..00000000 --- a/.github/workflows/e2e-v1beta1-1.19.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-V1Beta1-1.19 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.19.16' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Step Jump' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/.github/workflows/e2e-v1beta1-1.23.yaml b/.github/workflows/e2e-v1beta1-1.23.yaml deleted file mode 100644 index 8dad2a8b..00000000 --- a/.github/workflows/e2e-v1beta1-1.23.yaml +++ /dev/null @@ -1,110 +0,0 @@ -name: E2E-V1Beta1-1.23 - -on: - push: - branches: - - master - - release-* - pull_request: {} - workflow_dispatch: {} - -env: - # Common versions - GO_VERSION: '1.19' - KIND_IMAGE: 'kindest/node:v1.23.3' - KIND_CLUSTER_NAME: 'ci-testing' - -jobs: - - rollout: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ${{ env.GO_VERSION }} - - name: Setup Kind Cluster - uses: helm/kind-action@v1.2.0 - with: - node_image: ${{ env.KIND_IMAGE }} - cluster_name: ${{ env.KIND_CLUSTER_NAME }} - config: ./test/kind-conf.yaml - - name: Build image - run: | - export IMAGE="openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID}" - docker build --pull --no-cache . -t $IMAGE - kind load docker-image --name=${KIND_CLUSTER_NAME} $IMAGE || { echo >&2 "kind not installed or error loading image: $IMAGE"; exit 1; } - - name: Install Kruise - run: | - set -ex - kubectl cluster-info - make helm - helm repo add openkruise https://openkruise.github.io/charts/ - helm repo update - helm install kruise openkruise/kruise - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-system | grep '1/1' | grep kruise-controller-manager | wc -l) - set -e - if [ "$PODS" -eq "2" ]; then - echo "Wait for kruise-manager ready successfully" - else - echo "Timeout to wait for kruise-manager ready" - exit 1 - fi - - name: Install Kruise Rollout - run: | - set -ex - kubectl cluster-info - IMG=openkruise/kruise-rollout:e2e-${GITHUB_RUN_ID} ./scripts/deploy_kind.sh - for ((i=1;i<10;i++)); - do - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - set -e - if [ "$PODS" -eq "1" ]; then - break - fi - sleep 3 - done - set +e - PODS=$(kubectl get pod -n kruise-rollout | grep '1/1' | wc -l) - kubectl get node -o yaml - kubectl get all -n kruise-rollout -o yaml - set -e - if [ "$PODS" -eq "1" ]; then - echo "Wait for kruise-rollout ready successfully" - else - echo "Timeout to wait for kruise-rollout ready" - exit 1 - fi - - name: Run E2E Tests - run: | - export KUBECONFIG=/home/runner/.kube/config - make ginkgo - set +e - ./bin/ginkgo -timeout 60m -v --focus='Step Jump' test/e2e - retVal=$? - # kubectl get pod -n kruise-rollout --no-headers | grep manager | awk '{print $1}' | xargs kubectl logs -n kruise-rollout - restartCount=$(kubectl get pod -n kruise-rollout --no-headers | awk '{print $4}') - if [ "${restartCount}" -eq "0" ];then - echo "Kruise-rollout has not restarted" - else - kubectl get pod -n kruise-rollout --no-headers - echo "Kruise-rollout has restarted, abort!!!" - kubectl get pod -n kruise-rollout --no-headers| awk '{print $1}' | xargs kubectl logs -p -n kruise-rollout - exit 1 - fi - exit $retVal diff --git a/test/e2e/deployment_test.go b/test/e2e/deployment_test.go index b857f929..41d9d010 100644 --- a/test/e2e/deployment_test.go +++ b/test/e2e/deployment_test.go @@ -26,6 +26,16 @@ import ( var _ = SIGDescribe("Advanced Deployment", func() { var namespace string + + DumpAllResources := func() { + deploy := &apps.DeploymentList{} + k8sClient.List(context.TODO(), deploy, client.InNamespace(namespace)) + fmt.Println(util.DumpJSON(deploy)) + rs := &apps.ReplicaSetList{} + k8sClient.List(context.TODO(), rs, client.InNamespace(namespace)) + fmt.Println(util.DumpJSON(rs)) + } + defaultRetry := wait.Backoff{ Steps: 10, Duration: 10 * time.Millisecond, @@ -132,7 +142,12 @@ var _ = SIGDescribe("Advanced Deployment", func() { CheckReplicas := func(deployment *apps.Deployment, replicas, available, updated int32) { var clone *apps.Deployment + start := time.Now() Eventually(func() bool { + if start.Add(time.Minute * 1).Before(time.Now()) { + DumpAllResources() + Expect(true).Should(BeFalse()) + } clone = &apps.Deployment{} err := GetObject(deployment.Namespace, deployment.Name, clone) Expect(err).NotTo(HaveOccurred()) diff --git a/test/e2e/test_data/rollout/cloneset.yaml b/test/e2e/test_data/rollout/cloneset.yaml index b1770201..c5a9f3b3 100644 --- a/test/e2e/test_data/rollout/cloneset.yaml +++ b/test/e2e/test_data/rollout/cloneset.yaml @@ -22,7 +22,7 @@ spec: containers: - name: echoserver image: cilium/echoserver:latest - # imagePullPolicy: IfNotPresent + imagePullPolicy: IfNotPresent ports: - containerPort: 8080 env: diff --git a/test/e2e/test_data/rollout/deployment.yaml b/test/e2e/test_data/rollout/deployment.yaml index 68e1fea0..980cb9cb 100644 --- a/test/e2e/test_data/rollout/deployment.yaml +++ b/test/e2e/test_data/rollout/deployment.yaml @@ -22,7 +22,7 @@ spec: containers: - name: echoserver image: cilium/echoserver:latest - # imagePullPolicy: IfNotPresent + imagePullPolicy: IfNotPresent ports: - containerPort: 8080 env: