Skip to content

Fixed re-ip error when restart the cluster #3436

Fixed re-ip error when restart the cluster

Fixed re-ip error when restart the cluster #3436

Workflow file for this run

name: e2e tests
on:
push:
branches: [main, vnext]
pull_request:
workflow_dispatch:
inputs:
operator_image:
description: 'Name of an existing operator image. Leave blank to build one with the default name'
type: string
required: false
full_vertica_image:
description: 'Name of an existing full vertica v2 image. Leave blank to build one with the default name'
type: string
required: false
minimal_vertica_image:
description: 'Name of an existing minimal vertica v2 image. Leave blank to build one with the default name'
type: string
required: false
legacy_vertica_image:
description: 'Name of an existing full image with admintools and SSH support. Leave blank to build one with the default name'
type: string
required: false
vlogger_image:
description: 'Name of an existing vlogger image. Leave blank to build oe with the default name'
type: string
required: false
e2e_test_suites:
description: 'E2E test suites to run'
required: false
type: choice
default: all
options:
- all
- none
- admintools leg 1
- admintools leg 2
- admintools leg 3
- admintools leg 4
- admintools leg 5
- admintools server upgrade
- admintools operator upgrade
- admintools udx
- vcluster leg 1
- vcluster leg 2
- vcluster leg 3
- vcluster leg 4
- vcluster leg 5
- vcluster leg 6
- vcluster leg 7
- leg 8
- vcluster leg 9
- vcluster server upgrade
- vcluster udx
run_security_scan:
description: 'What images to scan?'
type: choice
default: 'all, except vertica server'
options:
- all
- none
- all, except vertica server
build_release_assets:
description: 'Build the release assets?'
type: choice
options:
- all
- none
default: all
required: false
reason:
description: 'Descriptive name of the workflow run'
required: false
default: ''
run-name: ${{ inputs.reason }}
jobs:
build:
uses: ./.github/workflows/build-images.yml
with:
vlogger_image: ${{ inputs.vlogger_image }}
operator_image: ${{ inputs.operator_image }}
minimal_vertica_image: ${{ inputs.minimal_vertica_image }}
full_vertica_image: ${{ inputs.full_vertica_image }}
legacy_vertica_image: ${{ inputs.legacy_vertica_image }}
run_security_scan: ${{ inputs.run_security_scan }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
unittests:
uses: ./.github/workflows/unittests.yml
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
scorecardtests:
uses: ./.github/workflows/scorecardtests.yml
build-release-assets:
uses: ./.github/workflows/build-release-assets.yml
if: ${{ inputs.build_release_assets == 'all' || inputs.build_release_assests == '' }}
e2e-leg-1-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 1' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-1'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: azb
deploy-with: olm
e2e-leg-1-admintools-previous-release:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 1' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-1'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: "opentext/vertica-k8s:23.4.0-0-minimal"
artifact-suffix: "-23.4.0-release"
vertica-deployment-method: admintools
communal-storage-type: azb
deploy-with: olm
e2e-leg-1-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 1' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-1'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: azb
deploy-with: olm
e2e-leg-2-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 2' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-2'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: hostpath
controllers-scope: namespace
e2e-leg-2-admintools-previous-release:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 2' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-2'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: "opentext/vertica-k8s:12.0.4-0-minimal"
artifact-suffix: "-12.0.4-release"
vertica-deployment-method: admintools
communal-storage-type: hostpath
controllers-scope: namespace
e2e-leg-2-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 2' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-2'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: hostpath
controllers-scope: namespace
e2e-leg-3-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 3' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-3'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: hostpath
e2e-leg-3-vclusterops-previous-release:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 3' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-3'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: "opentext/vertica-k8s:24.1.0-0-minimal"
artifact-suffix: "-24.1.0-release"
vertica-deployment-method: vclusterops
communal-storage-type: hostpath
e2e-leg-3-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 3' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-3'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: hostpath
e2e-leg-4-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 4' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-4'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: s3
vertica-superuser-name: dbadmin
# All helm deployments will use cert-manager to create the webhook cert
helm-overrides: '--set webhook.certSource=cert-manager'
e2e-leg-4-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 4' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-4'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: s3
vertica-superuser-name: myadmin
# All helm deployments will use cert-manager to create the webhook cert
helm-overrides: '--set webhook.certSource=cert-manager'
e2e-leg-5-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools leg 5' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-5'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: hostpath
# We cannot parallelize these tests because they each deploy/undeploy
# the cluster scoped operator. You can only have a single verticadb
# operator running in the k8s cluster.
e2e-parallelism: 1
need-base-vertica-image: 'true'
e2e-leg-5-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 5' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-5'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: hostpath
# We cannot parallelize these tests because they each deploy/undeploy
# the cluster scoped operator. You can only have a single verticadb
# operator running in the k8s cluster.
e2e-parallelism: 1
need-base-vertica-image: 'true'
e2e-leg-6-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 6' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-6'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: hostpath
minimum-vertica-image: '24.2.0'
e2e-leg-7-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 7' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-7'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: hostpath
minimum-vertica-image: '24.2.0'
e2e-leg-8-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'leg 8' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-8'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
# The initial deployment method is admintools, and it eventually changes
# to vclusterops as the operator upgrades the server version
vertica-deployment-method: admintools
communal-storage-type: azb
minimum-vertica-image: '24.2.0'
e2e-leg-9-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster leg 9' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'leg-9'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.minimal-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: s3
minimum-vertica-image: '24.3.0'
# Include the vertica license so we can test scaling past 3 nodes.
vertica-license: ${{ secrets.VERTICA_LICENSE }}
need-base-vertica-image: 'true'
e2e-server-upgrade-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools server upgrade' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'server-upgrade'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: s3
need-base-vertica-image: 'true'
e2e-server-upgrade-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster server upgrade' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'server-upgrade'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: s3
need-base-vertica-image: 'true'
e2e-operator-upgrade:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools operator upgrade' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'operator-upgrade'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
communal-storage-type: s3
# We cannot parallelize these tests because they each deploy/undeploy
# the cluster scoped operator. You can only have a single verticadb
# operator running in the k8s cluster.
e2e-parallelism: 1
vertica-deployment-method: admintools
e2e-udx-admintools:
if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools udx' || inputs.e2e_test_suites == '' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'udx'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
vertica-image: ${{ needs.build.outputs.legacy-vertica-image }}
vertica-deployment-method: admintools
communal-storage-type: s3
e2e-udx-vcluster:
if: ${{ ! github.event.pull_request.head.repo.fork && (inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'vcluster udx' || inputs.e2e_test_suites == '')}}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Test
uses: ./.github/actions/run-e2e-leg
with:
leg-identifier: 'udx'
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
vlogger-image: ${{ needs.build.outputs.vlogger-image }}
operator-image: ${{ needs.build.outputs.operator-image }}
# We must pass the full image since the minimal image cannot run Java UDx's
vertica-image: ${{ needs.build.outputs.full-vertica-image }}
vertica-deployment-method: vclusterops
communal-storage-type: s3