From 70643066dbdf399d1ff1e41647f394ccfe28537c Mon Sep 17 00:00:00 2001 From: spilchen Date: Fri, 22 Sep 2023 16:30:21 -0300 Subject: [PATCH] Deprecate the httpServerMode VerticaDB CR parameter (#515) The operator used to handle the setup of Vertica's https service. It would create a config file during installation and a TLS secret to use for its certificates. It would also have a reconciler that would ensure the https service was running and would restart it if needed. However, all of this has been deprecated. The deployment method (vclusterops vs admintools) will now decide what setup is needed. The httpServerMode parameter used to control this, but it has been deprecated and all usage of it in the operator has been removed. The reconcile function to make sure that the embedded http service is running has also been removed. With vclusterops deployments, it must always be running. The health probes are planned to be changed to use an endpoint from the http service. So, if the service becomes unhealthy, the pod will be rescheduled. The operator will not need to do anything on its end to restart it. The e2e-http-server e2e leg now runs only with vclusterops and has been renamed to e2e-leg-6. --------- Signed-off-by: Matt Spilchen --- .../{e2e-http-server.yml => e2e-leg-6.yml} | 9 +- .github/workflows/e2e.yml | 10 +- api/v1beta1/verticadb_types.go | 61 ++-------- api/v1beta1/verticadb_types_test.go | 19 ---- api/v1beta1/verticadb_webhook.go | 34 ------ api/v1beta1/verticadb_webhook_test.go | 43 ------- .../Deprecated-20230921-165723.yaml | 5 + kuttl-test.yaml | 2 +- pkg/controllers/vdb/http_server.go | 49 -------- .../vdb/httpservercertgen_reconciler.go | 45 ++++++-- .../vdb/httpservercertgen_reconciler_test.go | 41 +++++-- .../vdb/httpserverctrl_reconciler.go | 107 ------------------ .../vdb/httpserverctrl_reconciler_test.go | 87 -------------- pkg/controllers/vdb/install_reconciler.go | 24 +--- .../vdb/install_reconciler_test.go | 21 ++-- pkg/controllers/vdb/obj_reconciler.go | 14 +-- pkg/controllers/vdb/obj_reconciler_test.go | 4 +- pkg/controllers/vdb/podfacts.go | 8 -- pkg/controllers/vdb/suite_test.go | 11 -- pkg/controllers/vdb/verticadb_controller.go | 6 +- pkg/meta/annotations.go | 5 +- pkg/vadmin/suite_test.go | 3 +- scripts/setup-kustomize.sh | 4 +- tests/README.md | 1 - .../http-server-start/05-create-creds.yaml | 18 --- .../http-server-start/10-assert.yaml | 21 ---- .../http-server-start/10-deploy-operator.yaml | 12 -- .../http-server-start/15-assert.yaml | 29 ----- .../http-server-start/15-setup-vdb.yaml | 17 --- .../http-server-start/20-assert.yaml | 32 ------ .../20-wait-for-createdb.yaml | 1 - .../http-server-start/21-assert.yaml | 22 ---- .../http-server-start/21-rbac.yaml | 18 --- .../http-server-start/25-assert.yaml | 23 ---- .../25-wait-http-server-not-running.yaml | 70 ------------ .../http-server-start/30-assert.yaml | 29 ----- .../30-enable-http-server.yaml | 19 ---- .../http-server-start/35-assert.yaml | 32 ------ .../35-wait-for-http-server-start.yaml | 1 - .../http-server-start/40-assert.yaml | 23 ---- .../40-wait-http-server-running.yaml | 70 ------------ .../http-server-start/95-delete-cr.yaml | 21 ---- .../http-server-start/95-errors.yaml | 33 ------ .../http-server-start/96-assert.yaml | 19 ---- .../http-server-start/96-cleanup-storage.yaml | 17 --- .../http-server-start/96-errors.yaml | 15 --- .../http-server-start/99-delete-ns.yaml | 17 --- .../http-server-start/README.txt | 1 - .../setup-vdb/base/kustomization.yaml | 15 --- .../setup-vdb/base/setup-vdb.yaml | 33 ------ .../{e2e-http-server => e2e-leg-6}/README.txt | 0 .../http-custom-certs/05-assert.yaml | 0 .../http-custom-certs/05-custom-cert.yaml | 0 .../http-custom-certs/10-create-creds.yaml | 0 .../http-custom-certs/15-assert.yaml | 0 .../http-custom-certs/15-deploy-operator.yaml | 0 .../http-custom-certs/20-assert.yaml | 0 .../http-custom-certs/20-setup-vdb.yaml | 0 .../http-custom-certs/25-assert.yaml | 0 .../25-wait-for-createdb.yaml | 0 .../http-custom-certs/30-assert.yaml | 0 .../http-custom-certs/30-rbac.yaml | 0 .../http-custom-certs/35-assert.yaml | 0 .../35-enable-https-if-necessary.yaml | 0 .../http-custom-certs/40-assert.yaml | 0 .../40-wait-http-server.yaml | 0 .../http-custom-certs/45-assert.yaml | 0 .../http-custom-certs/45-grant-tls-auth.yaml | 0 .../http-custom-certs/50-assert.yaml | 0 .../http-custom-certs/50-verify-metrics.yaml | 0 .../http-custom-certs/55-assert.yaml | 0 .../http-custom-certs/55-verify-nodes.yaml | 0 .../http-custom-certs/95-delete-cr.yaml | 0 .../http-custom-certs/95-errors.yaml | 0 .../http-custom-certs/96-assert.yaml | 0 .../http-custom-certs/96-cleanup-storage.yaml | 0 .../http-custom-certs/96-errors.yaml | 0 .../http-custom-certs/99-delete-ns.yaml | 0 .../http-custom-certs/README.txt | 0 .../setup-vdb/base/kustomization.yaml | 0 .../setup-vdb/base/setup-vdb.yaml | 0 .../http-generated-certs/01-assert.yaml | 0 .../http-generated-certs/01-rbac.yaml | 0 .../http-generated-certs/05-assert.yaml | 0 .../05-password-secret.yaml | 0 .../http-generated-certs/10-create-creds.yaml | 0 .../http-generated-certs/15-assert.yaml | 0 .../15-deploy-operator.yaml | 0 .../http-generated-certs/17-assert.yaml | 0 .../17-create-early-et.yaml | 0 .../http-generated-certs/20-assert.yaml | 0 .../http-generated-certs/20-setup-vdb.yaml | 0 .../http-generated-certs/25-assert.yaml | 0 .../25-wait-for-createdb.yaml | 0 .../30-copy-generated-secret.yaml | 0 .../http-generated-certs/35-assert.yaml | 0 .../http-generated-certs/35-rbac.yaml | 0 .../http-generated-certs/40-assert.yaml | 0 .../40-enable-https-if-necessary.yaml | 0 .../http-generated-certs/45-assert.yaml | 0 .../45-wait-http-server.yaml | 0 .../http-generated-certs/50-assert.yaml | 0 .../50-grant-tls-auth.yaml | 0 .../http-generated-certs/55-assert.yaml | 0 .../55-verify-health.yaml | 0 .../http-generated-certs/60-assert.yaml | 0 .../60-verify-sync-catalog.yaml | 0 .../http-generated-certs/95-delete-cr.yaml | 0 .../http-generated-certs/95-errors.yaml | 0 .../http-generated-certs/96-assert.yaml | 0 .../96-cleanup-storage.yaml | 0 .../http-generated-certs/96-errors.yaml | 0 .../http-generated-certs/99-delete-ns.yaml | 0 .../http-generated-certs/README.txt | 0 .../setup-vdb/base/kustomization.yaml | 0 .../setup-vdb/base/setup-vdb.yaml | 0 116 files changed, 126 insertions(+), 1095 deletions(-) rename .github/workflows/{e2e-http-server.yml => e2e-leg-6.yml} (86%) create mode 100644 changes/unreleased/Deprecated-20230921-165723.yaml delete mode 100644 pkg/controllers/vdb/http_server.go delete mode 100644 pkg/controllers/vdb/httpserverctrl_reconciler.go delete mode 100644 pkg/controllers/vdb/httpserverctrl_reconciler_test.go delete mode 100644 tests/e2e-http-server/http-server-start/05-create-creds.yaml delete mode 100644 tests/e2e-http-server/http-server-start/10-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/10-deploy-operator.yaml delete mode 100644 tests/e2e-http-server/http-server-start/15-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/15-setup-vdb.yaml delete mode 100644 tests/e2e-http-server/http-server-start/20-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/20-wait-for-createdb.yaml delete mode 100644 tests/e2e-http-server/http-server-start/21-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/21-rbac.yaml delete mode 100644 tests/e2e-http-server/http-server-start/25-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/25-wait-http-server-not-running.yaml delete mode 100644 tests/e2e-http-server/http-server-start/30-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/30-enable-http-server.yaml delete mode 100644 tests/e2e-http-server/http-server-start/35-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/35-wait-for-http-server-start.yaml delete mode 100644 tests/e2e-http-server/http-server-start/40-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/40-wait-http-server-running.yaml delete mode 100644 tests/e2e-http-server/http-server-start/95-delete-cr.yaml delete mode 100644 tests/e2e-http-server/http-server-start/95-errors.yaml delete mode 100644 tests/e2e-http-server/http-server-start/96-assert.yaml delete mode 100644 tests/e2e-http-server/http-server-start/96-cleanup-storage.yaml delete mode 100644 tests/e2e-http-server/http-server-start/96-errors.yaml delete mode 100644 tests/e2e-http-server/http-server-start/99-delete-ns.yaml delete mode 100644 tests/e2e-http-server/http-server-start/README.txt delete mode 100644 tests/e2e-http-server/http-server-start/setup-vdb/base/kustomization.yaml delete mode 100644 tests/e2e-http-server/http-server-start/setup-vdb/base/setup-vdb.yaml rename tests/{e2e-http-server => e2e-leg-6}/README.txt (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/05-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/05-custom-cert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/10-create-creds.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/15-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/15-deploy-operator.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/20-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/20-setup-vdb.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/25-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/25-wait-for-createdb.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/30-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/30-rbac.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/35-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/35-enable-https-if-necessary.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/40-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/40-wait-http-server.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/45-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/45-grant-tls-auth.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/50-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/50-verify-metrics.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/55-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/55-verify-nodes.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/95-delete-cr.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/95-errors.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/96-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/96-cleanup-storage.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/96-errors.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/99-delete-ns.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/README.txt (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/setup-vdb/base/kustomization.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-custom-certs/setup-vdb/base/setup-vdb.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/01-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/01-rbac.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/05-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/05-password-secret.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/10-create-creds.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/15-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/15-deploy-operator.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/17-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/17-create-early-et.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/20-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/20-setup-vdb.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/25-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/25-wait-for-createdb.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/30-copy-generated-secret.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/35-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/35-rbac.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/40-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/40-enable-https-if-necessary.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/45-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/45-wait-http-server.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/50-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/50-grant-tls-auth.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/55-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/55-verify-health.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/60-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/60-verify-sync-catalog.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/95-delete-cr.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/95-errors.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/96-assert.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/96-cleanup-storage.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/96-errors.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/99-delete-ns.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/README.txt (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/setup-vdb/base/kustomization.yaml (100%) rename tests/{e2e-http-server => e2e-leg-6}/http-generated-certs/setup-vdb/base/setup-vdb.yaml (100%) diff --git a/.github/workflows/e2e-http-server.yml b/.github/workflows/e2e-leg-6.yml similarity index 86% rename from .github/workflows/e2e-http-server.yml rename to .github/workflows/e2e-leg-6.yml index c68721d27..ec45d82ee 100644 --- a/.github/workflows/e2e-http-server.yml +++ b/.github/workflows/e2e-leg-6.yml @@ -1,4 +1,4 @@ -name: e2e (http-server) tests +name: e2e (leg-6) tests on: workflow_call: @@ -59,12 +59,15 @@ jobs: export VERTICA_IMG=${{ inputs.vertica-image }} export OPERATOR_IMG=${{ inputs.operator-image }} export VLOGGER_IMG=${{ inputs.vlogger-image }} - export E2E_TEST_DIRS="tests/e2e-http-server" + # Leg 6 is only tested in vclusterops mode. It has tests that depend on + # features only available with that deployment method. + export VERTICA_DEPLOYMENT_METHOD=vclusterops + export E2E_TEST_DIRS="tests/e2e-leg-6" mkdir -p $GITHUB_WORKSPACE/../host-path scripts/run-k8s-int-tests.sh -m $GITHUB_WORKSPACE/../host-path -s - uses: actions/upload-artifact@v3 if: failure() with: - name: logs-e2e-http-server + name: logs-e2e-leg-6-vcluster path: ${{ github.workspace }}/int-tests-output/* diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 703cf3d83..a7d79f93f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -46,11 +46,11 @@ on: - admintools operator upgrade - admintools udx - admintools hostpath - - admintoold http server - vcluster s3 - vcluster leg 1 - vcluster leg 2 - vcluster leg 5 + - vcluster leg 6 - vcluster udx - vcluster hostpath run_security_scan: @@ -234,14 +234,14 @@ jobs: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} - e2e-http-server: - if: ${{ inputs.e2e_test_suites == 'all' || inputs.e2e_test_suites == 'admintools http server' || inputs.e2e_test_suites == '' }} + 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] - uses: ./.github/workflows/e2e-http-server.yml + uses: ./.github/workflows/e2e-leg-6.yml with: vlogger-image: ${{ needs.build.outputs.vlogger-image }} operator-image: ${{ needs.build.outputs.operator-image }} - vertica-image: ${{ needs.build.outputs.minimal-vertica-image }} + vertica-image: ${{ needs.build.outputs.v2-vertica-image }} secrets: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/api/v1beta1/verticadb_types.go b/api/v1beta1/verticadb_types.go index 1c5a57a35..465ce1eb3 100644 --- a/api/v1beta1/verticadb_types.go +++ b/api/v1beta1/verticadb_types.go @@ -320,17 +320,15 @@ type VerticaDBSpec struct { // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:hidden" // +kubebuilder:default:="" // +kubebuilder:validation:Optional - // Control the Vertica's http server. The http server provides a REST interface - // that can be used for management and monitoring of the server. Valid - // values are: Enabled, Disabled, Auto or an empty string. An empty string - // currently defaults to Auto. - HTTPServerMode HTTPServerModeType `json:"httpServerMode,omitempty"` + // Deprecated: setup of TLS certs for http access is controlled by the + // deployment type now. + DeprecatedHTTPServerMode HTTPServerModeType `json:"httpServerMode,omitempty"` // +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors="urn:alm:descriptor:com.tectonic.ui:hidden" // +kubebuilder:default:="" // +kubebuilder:validation:Optional - // A secret that contains the TLS credentials to use for the Vertica HTTP - // server. If this is empty, the operator will create a secret to use and + // A secret that contains the TLS credentials to use for the node management + // agent. If this is empty, the operator will create a secret to use and // add the name of the generate secret in this field. When set, the secret // must have the following keys defined: // - tls.key: The private key to be used by the HTTP server @@ -1090,10 +1088,9 @@ func MakeVDB() *VerticaDB { DepotVolume: PersistentVolume, RequestSize: resource.MustParse("10Gi"), }, - KSafety: KSafety1, - DBName: "db", - ShardCount: 12, - HTTPServerMode: HTTPServerModeDisabled, + KSafety: KSafety1, + DBName: "db", + ShardCount: 12, Subclusters: []Subcluster{ {Name: "defaultsubcluster", Size: 3, ServiceType: corev1.ServiceTypeClusterIP, IsPrimary: true}, }, @@ -1101,16 +1098,6 @@ func MakeVDB() *VerticaDB { } } -// MakeVDBForHTTP is a helper that constructs a VerticaDB struct with http enabled. -// This is intended for test purposes. -func MakeVDBForHTTP(httpServerTLSSecretName string) *VerticaDB { - vdb := MakeVDB() - vdb.Annotations[VersionAnnotation] = HTTPServerMinVersion - vdb.Spec.HTTPServerMode = HTTPServerModeEnabled - vdb.Spec.HTTPServerTLSSecret = httpServerTLSSecretName - return vdb -} - // GenSubclusterMap will organize all of the subclusters into a map for quicker lookup func (v *VerticaDB) GenSubclusterMap() map[string]*Subcluster { scMap := map[string]*Subcluster{} @@ -1306,38 +1293,6 @@ func (v *VerticaDB) FindSubclusterStatus(scName string) (SubclusterStatus, bool) return SubclusterStatus{}, false } -// IsHTTPServerDisabled explicitly checks if the http server is disabled. If set -// to auto or enabled, this returns false. -func (v *VerticaDB) IsHTTPServerDisabled() bool { - return v.Spec.HTTPServerMode == HTTPServerModeDisabled -} - -// IsHTTPServerEnabled will return true if the http server is enabled to run for -// this instance of the vdb. -func (v *VerticaDB) IsHTTPServerEnabled() bool { - if v.IsHTTPServerDisabled() { - return false - } - if v.Spec.HTTPServerMode == HTTPServerModeEnabled { - return true - } - // For auto (or an empty string), we only use the http server if we are on a - // vertica version that supports it. - inf, ok := v.MakeVersionInfo() - // We cannot make any inference about the version, so assume https server - // isn't enabled - if !ok { - return false - } - return inf.IsEqualOrNewer(HTTPServerAutoMinVersion) -} - -// IsHTTPServerAuto returns true if http server is auto. -func (v *VerticaDB) IsHTTPServerAuto() bool { - return v.Spec.HTTPServerMode == HTTPServerModeAuto || - v.Spec.HTTPServerMode == "" -} - // IsEON returns true if the instance is an EON database. Officially, all // deployments of this CR will result in an EON database. However, as a backdoor // for developers, if you set the shardCount to 0, we will create an enterprise diff --git a/api/v1beta1/verticadb_types_test.go b/api/v1beta1/verticadb_types_test.go index 95d96e5ea..a83aaeb43 100644 --- a/api/v1beta1/verticadb_types_test.go +++ b/api/v1beta1/verticadb_types_test.go @@ -55,25 +55,6 @@ var _ = Describe("verticadb_types", func() { Expect(vdb.RequiresTransientSubcluster()).Should(BeTrue()) }) - It("should say that the httpServer is not enabled if value is blank", func() { - vdb := MakeVDB() - vdb.Spec.HTTPServerMode = "" - Expect(vdb.IsHTTPServerEnabled()).Should(BeFalse()) - vdb.Spec.HTTPServerMode = HTTPServerModeEnabled - Expect(vdb.IsHTTPServerEnabled()).Should(BeTrue()) - }) - - It("should enable httpServer if auto is set and vertica version is new enough", func() { - vdb := MakeVDB() - vdb.Spec.HTTPServerMode = HTTPServerModeAuto - vdb.ObjectMeta.Annotations[VersionAnnotation] = "v11.0.2" - Expect(vdb.IsHTTPServerEnabled()).Should(BeFalse()) - vdb.ObjectMeta.Annotations[VersionAnnotation] = HTTPServerMinVersion - Expect(vdb.IsHTTPServerEnabled()).Should(BeFalse()) - vdb.ObjectMeta.Annotations[VersionAnnotation] = HTTPServerAutoMinVersion - Expect(vdb.IsHTTPServerEnabled()).Should(BeTrue()) - }) - It("should return the first primary subcluster", func() { vdb := MakeVDB() vdb.Spec.Subclusters = []Subcluster{ diff --git a/api/v1beta1/verticadb_webhook.go b/api/v1beta1/verticadb_webhook.go index 28641bcb3..1f2854c8b 100644 --- a/api/v1beta1/verticadb_webhook.go +++ b/api/v1beta1/verticadb_webhook.go @@ -255,7 +255,6 @@ func (v *VerticaDB) validateImmutableFields(old runtime.Object) field.ErrorList allErrs = v.checkImmutableLocalPathChange(oldObj, allErrs) allErrs = v.checkImmutableShardCount(oldObj, allErrs) allErrs = v.checkImmutableS3ServerSideEncryption(oldObj, allErrs) - allErrs = v.checkImmutableHTTPServerMode(oldObj, allErrs) allErrs = v.checkImmutableDepotVolume(oldObj, allErrs) return allErrs } @@ -285,7 +284,6 @@ func (v *VerticaDB) validateVerticaDBSpec() field.ErrorList { allErrs = v.validateRequeueTimes(allErrs) allErrs = v.validateEncryptSpreadComm(allErrs) allErrs = v.validateLocalStorage(allErrs) - allErrs = v.validateHTTPServerMode(allErrs) allErrs = v.hasValidShardCount(allErrs) allErrs = v.hasValidProbeOverrides(allErrs) if len(allErrs) == 0 { @@ -910,21 +908,6 @@ func (v *VerticaDB) validateDepotVolume(allErrs field.ErrorList) field.ErrorList return allErrs } -func (v *VerticaDB) validateHTTPServerMode(allErrs field.ErrorList) field.ErrorList { - if v.Spec.HTTPServerMode == "" || - v.Spec.HTTPServerMode == HTTPServerModeEnabled || - v.Spec.HTTPServerMode == HTTPServerModeDisabled || - v.Spec.HTTPServerMode == HTTPServerModeAuto { - return allErrs - } - - err := field.Invalid(field.NewPath("spec").Child("httpServerMode"), - v.Spec.HTTPServerMode, - fmt.Sprintf("Valid values are: %s, %s, %s or an empty string", - HTTPServerModeAuto, HTTPServerModeEnabled, HTTPServerModeDisabled)) - return append(allErrs, err) -} - func (v *VerticaDB) hasValidShardCount(allErrs field.ErrorList) field.ErrorList { if v.Spec.ShardCount > 0 { return allErrs @@ -1082,23 +1065,6 @@ func (v *VerticaDB) checkImmutableS3ServerSideEncryption(oldObj *VerticaDB, allE return allErrs } -// checkImmutableHTTPServerMode will make sure httpServerMode does not changed in any -// inappropriate way like Enabled -> Disabled, Auto -> Disabled, Enabled -> Auto. -func (v *VerticaDB) checkImmutableHTTPServerMode(oldObj *VerticaDB, allErrs field.ErrorList) field.ErrorList { - isTransitionAutoToDisabled := oldObj.IsHTTPServerAuto() && v.IsHTTPServerDisabled() - if v.Spec.HTTPServerMode != oldObj.Spec.HTTPServerMode { - if oldObj.Spec.HTTPServerMode == HTTPServerModeEnabled || - isTransitionAutoToDisabled { - err := field.Invalid(field.NewPath("spec").Child("httpServerMode"), - v.Spec.HTTPServerMode, - fmt.Sprintf("transition from '%s' to '%s' not allowed", - oldObj.Spec.HTTPServerMode, v.Spec.HTTPServerMode)) - allErrs = append(allErrs, err) - } - } - return allErrs -} - // checkImmutableDepotVolume will make sure local.depotVolume // does not change after the db has been initialized. func (v *VerticaDB) checkImmutableDepotVolume(oldObj *VerticaDB, allErrs field.ErrorList) field.ErrorList { diff --git a/api/v1beta1/verticadb_webhook_test.go b/api/v1beta1/verticadb_webhook_test.go index 59f70f8d3..a3de5701b 100644 --- a/api/v1beta1/verticadb_webhook_test.go +++ b/api/v1beta1/verticadb_webhook_test.go @@ -679,41 +679,6 @@ var _ = Describe("verticadb_webhook", func() { validateSpecValuesHaveErr(vdb, false) }) - It("should verify httpServerMode is valid", func() { - vdb := MakeVDB() - vdb.Spec.HTTPServerMode = "bad-server-mode" - validateSpecValuesHaveErr(vdb, true) - vdb.Spec.HTTPServerMode = "" - validateSpecValuesHaveErr(vdb, false) - vdb.Spec.HTTPServerMode = HTTPServerModeDisabled - validateSpecValuesHaveErr(vdb, false) - vdb.Spec.HTTPServerMode = HTTPServerModeEnabled - validateSpecValuesHaveErr(vdb, false) - }) - - It("should not allow invalid http server transitions", func() { - // Enabled -> Disabled - validateHTTPServerModeTransition(HTTPServerModeEnabled, HTTPServerModeDisabled, true) - // Enabled -> Auto - validateHTTPServerModeTransition(HTTPServerModeEnabled, HTTPServerModeAuto, true) - // Enabled -> "" - validateHTTPServerModeTransition(HTTPServerModeEnabled, "", true) - // Auto -> Disabled - validateHTTPServerModeTransition(HTTPServerModeAuto, HTTPServerModeDisabled, true) - // "" -> Disabled - validateHTTPServerModeTransition("", HTTPServerModeDisabled, true) - // Auto -> Enabled - validateHTTPServerModeTransition(HTTPServerModeAuto, HTTPServerModeEnabled, false) - // "" -> Enabled - validateHTTPServerModeTransition("", HTTPServerModeEnabled, false) - // Disabled -> Enabled - validateHTTPServerModeTransition(HTTPServerModeDisabled, HTTPServerModeEnabled, false) - // Disabled -> Auto - validateHTTPServerModeTransition(HTTPServerModeDisabled, HTTPServerModeAuto, false) - // Disabled -> "" - validateHTTPServerModeTransition(HTTPServerModeDisabled, "", false) - }) - It("should verify range for verticaHTTPNodePort", func() { vdb := MakeVDB() vdb.Spec.Subclusters[0].ServiceType = v1.ServiceTypeNodePort @@ -788,14 +753,6 @@ func validateImmutableFields(vdbUpdate *VerticaDB, expectError bool) { checkErrorsForImmutableFields(vdb, vdbUpdate, expectError) } -func validateHTTPServerModeTransition(from, to HTTPServerModeType, expectError bool) { - vdbOrig := MakeVDB() - vdbUpdate := MakeVDB() - vdbOrig.Spec.HTTPServerMode = from - vdbUpdate.Spec.HTTPServerMode = to - checkErrorsForImmutableFields(vdbOrig, vdbUpdate, expectError) -} - func checkErrorsForImmutableFields(vdbOrig, vdbUpdate *VerticaDB, expectError bool) { allErrs := vdbUpdate.validateImmutableFields(vdbOrig) if expectError { diff --git a/changes/unreleased/Deprecated-20230921-165723.yaml b/changes/unreleased/Deprecated-20230921-165723.yaml new file mode 100644 index 000000000..af09f2f3d --- /dev/null +++ b/changes/unreleased/Deprecated-20230921-165723.yaml @@ -0,0 +1,5 @@ +kind: Deprecated +body: Deprecate the httpServerMode parameter in the VerticaDB CR +time: 2023-09-21T16:57:23.87985825-03:00 +custom: + Issue: "515" diff --git a/kuttl-test.yaml b/kuttl-test.yaml index 707666237..d2070bd81 100644 --- a/kuttl-test.yaml +++ b/kuttl-test.yaml @@ -27,11 +27,11 @@ testDirs: - tests/e2e-leg-4 - tests/e2e-leg-4-failed - tests/e2e-leg-5 + - tests/e2e-leg-6 - tests/e2e-udx - tests/e2e-udx-failed - tests/e2e-server-upgrade - tests/e2e-operator-upgrade-overlays - - tests/e2e-http-server parallel: 2 timeout: 600 commands: diff --git a/pkg/controllers/vdb/http_server.go b/pkg/controllers/vdb/http_server.go deleted file mode 100644 index e9f956a13..000000000 --- a/pkg/controllers/vdb/http_server.go +++ /dev/null @@ -1,49 +0,0 @@ -/* - (c) Copyright [2021-2023] Open Text. - Licensed under the Apache License, Version 2.0 (the "License"); - You may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package vdb - -import ( - "fmt" - - vapi "github.com/vertica/vertica-kubernetes/api/v1beta1" - "github.com/vertica/vertica-kubernetes/pkg/events" - corev1 "k8s.io/api/core/v1" -) - -// hasCompatibleVersionForHTTPServer checks, in case http server is enabled, if -// the server has a required version for http server. -func hasCompatibleVersionForHTTPServer(vrec *VerticaDBReconciler, vdb *vapi.VerticaDB, logEvent bool, action string) bool { - // Early out if the http service isn't enabled - if !vdb.IsHTTPServerEnabled() { - return false - } - vinf, ok := vdb.MakeVersionInfo() - if !ok || vinf.IsOlder(vapi.HTTPServerMinVersion) { - if logEvent { - eventMsg := "Skipping %s because the Vertica version doesn't have " + - "support for it. A Vertica version of '%s' or newer is needed" - vrec.Eventf(vdb, corev1.EventTypeWarning, events.HTTPServerNotSetup, eventMsg, action, vapi.HTTPServerMinVersion) - } - return false - } - return true -} - -// genHTTPServerCtrlQuery returns a query used to interact -// with the http server. -func genHTTPServerCtrlQuery(action string) string { - return fmt.Sprintf("select http_server_ctrl('%s', '')", action) -} diff --git a/pkg/controllers/vdb/httpservercertgen_reconciler.go b/pkg/controllers/vdb/httpservercertgen_reconciler.go index 41dffe2a2..ad171be5c 100644 --- a/pkg/controllers/vdb/httpservercertgen_reconciler.go +++ b/pkg/controllers/vdb/httpservercertgen_reconciler.go @@ -19,12 +19,16 @@ import ( "context" "fmt" + "github.com/go-logr/logr" vapi "github.com/vertica/vertica-kubernetes/api/v1beta1" "github.com/vertica/vertica-kubernetes/pkg/builder" "github.com/vertica/vertica-kubernetes/pkg/controllers" + vmeta "github.com/vertica/vertica-kubernetes/pkg/meta" + "github.com/vertica/vertica-kubernetes/pkg/names" "github.com/vertica/vertica-kubernetes/pkg/paths" "github.com/vertica/vertica-kubernetes/pkg/security" corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/util/retry" ctrl "sigs.k8s.io/controller-runtime" @@ -35,24 +39,40 @@ import ( type HTTPServerCertGenReconciler struct { VRec *VerticaDBReconciler Vdb *vapi.VerticaDB // Vdb is the CRD we are acting on. + Log logr.Logger } -func MakeHTTPServerCertGenReconciler(vdbrecon *VerticaDBReconciler, vdb *vapi.VerticaDB) controllers.ReconcileActor { +func MakeHTTPServerCertGenReconciler(vdbrecon *VerticaDBReconciler, log logr.Logger, vdb *vapi.VerticaDB) controllers.ReconcileActor { return &HTTPServerCertGenReconciler{ VRec: vdbrecon, Vdb: vdb, + Log: log.WithName("HTTPServerCertGenReconciler"), } } // Reconcile will create a TLS secret for the http server if one is missing func (h *HTTPServerCertGenReconciler) Reconcile(ctx context.Context, _ *ctrl.Request) (ctrl.Result, error) { const PKKeySize = 2048 - // Early out if http server is explicitly disabled or we already have a TLS secret. - // For auto, we continue even if the version may not support it. Assuming - // its needed will save a few reconcile iteration during bootstrap. - if h.Vdb.IsHTTPServerDisabled() || h.Vdb.Spec.HTTPServerTLSSecret != "" { + // Early out if the NMA isn't going to be used. + if !vmeta.UseVClusterOps(h.Vdb.Annotations) { return ctrl.Result{}, nil } + // If the secret name is set, check that it exists. As a convenience we will + // regenerate the secret using the same name. + if h.Vdb.Spec.HTTPServerTLSSecret != "" { + nm := names.GenNamespacedName(h.Vdb, h.Vdb.Spec.HTTPServerTLSSecret) + secret := corev1.Secret{} + err := h.VRec.Client.Get(ctx, nm, &secret) + if errors.IsNotFound(err) { + h.Log.Info("httpServerTLSSecret is set but doesn't exist. Will recreate the secret.", "name", nm) + } else if err != nil { + return ctrl.Result{}, + fmt.Errorf("failed while attempting to reade the tls secret %s: %w", h.Vdb.Spec.HTTPServerTLSSecret, err) + } else { + // Secret is filled in and exists. We can exit. + return ctrl.Result{}, nil + } + } caCert, err := security.NewSelfSignedCACertificate(PKKeySize) if err != nil { return ctrl.Result{}, err @@ -81,10 +101,9 @@ func (h *HTTPServerCertGenReconciler) createSecret(ctx context.Context, cert, ca blockOwnerDeletion := false secret := corev1.Secret{ ObjectMeta: metav1.ObjectMeta{ - GenerateName: fmt.Sprintf("%s-http-server-tls-", h.Vdb.Name), - Namespace: h.Vdb.Namespace, - Annotations: builder.MakeAnnotationsForObject(h.Vdb), - Labels: builder.MakeCommonLabels(h.Vdb, nil, false), + Namespace: h.Vdb.Namespace, + Annotations: builder.MakeAnnotationsForObject(h.Vdb), + Labels: builder.MakeCommonLabels(h.Vdb, nil, false), OwnerReferences: []metav1.OwnerReference{ { APIVersion: vapi.GroupVersion.String(), @@ -103,6 +122,14 @@ func (h *HTTPServerCertGenReconciler) createSecret(ctx context.Context, cert, ca paths.HTTPServerCACrtName: caCert.TLSCrt(), }, } + // Either generate a name or use the one already present in the vdb. Using + // the name already present is the case where the name was filled in but the + // secret didn't exist. + if h.Vdb.Spec.HTTPServerTLSSecret == "" { + secret.GenerateName = fmt.Sprintf("%s-http-server-tls-", h.Vdb.Name) + } else { + secret.Name = h.Vdb.Spec.HTTPServerTLSSecret + } err := h.VRec.Client.Create(ctx, &secret) return &secret, err } diff --git a/pkg/controllers/vdb/httpservercertgen_reconciler_test.go b/pkg/controllers/vdb/httpservercertgen_reconciler_test.go index 4b764256b..720360eb4 100644 --- a/pkg/controllers/vdb/httpservercertgen_reconciler_test.go +++ b/pkg/controllers/vdb/httpservercertgen_reconciler_test.go @@ -21,9 +21,11 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" vapi "github.com/vertica/vertica-kubernetes/api/v1beta1" + vmeta "github.com/vertica/vertica-kubernetes/pkg/meta" "github.com/vertica/vertica-kubernetes/pkg/paths" "github.com/vertica/vertica-kubernetes/pkg/test" corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/types" ctrl "sigs.k8s.io/controller-runtime" ) @@ -31,39 +33,39 @@ import ( var _ = Describe("httpservercertgen_reconcile", func() { ctx := context.Background() - It("should be a no-op if http server isn't enabled", func() { + It("should be a no-op if not using vclusterops", func() { vdb := vapi.MakeVDB() - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeDisabled + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationFalse vdb.Spec.HTTPServerTLSSecret = "" test.CreateVDB(ctx, k8sClient, vdb) defer test.DeleteVDB(ctx, k8sClient, vdb) - r := MakeHTTPServerCertGenReconciler(vdbRec, vdb) + r := MakeHTTPServerCertGenReconciler(vdbRec, logger, vdb) Expect(r.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) Expect(vdb.Spec.HTTPServerTLSSecret).Should(Equal("")) }) - It("should be a no-op if http server is disabled and secret name is set", func() { + It("should be a no-op if not using vclusterops and secret name is set", func() { vdb := vapi.MakeVDB() - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeDisabled + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationFalse const DummySecretName = "dummy" vdb.Spec.HTTPServerTLSSecret = DummySecretName test.CreateVDB(ctx, k8sClient, vdb) defer test.DeleteVDB(ctx, k8sClient, vdb) - r := MakeHTTPServerCertGenReconciler(vdbRec, vdb) + r := MakeHTTPServerCertGenReconciler(vdbRec, logger, vdb) Expect(r.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) Expect(vdb.Spec.HTTPServerTLSSecret).Should(Equal(DummySecretName)) }) It("should create a secret when http server is enabled and secret name is missing", func() { vdb := vapi.MakeVDB() - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeEnabled + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationTrue vdb.Spec.HTTPServerTLSSecret = "" test.CreateVDB(ctx, k8sClient, vdb) defer test.DeleteVDB(ctx, k8sClient, vdb) - r := MakeHTTPServerCertGenReconciler(vdbRec, vdb) + r := MakeHTTPServerCertGenReconciler(vdbRec, logger, vdb) Expect(r.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) Expect(vdb.Spec.HTTPServerTLSSecret).ShouldNot(Equal("")) nm := types.NamespacedName{Namespace: vdb.Namespace, Name: vdb.Spec.HTTPServerTLSSecret} @@ -73,4 +75,27 @@ var _ = Describe("httpservercertgen_reconcile", func() { Expect(len(secret.Data[corev1.TLSCertKey])).ShouldNot(Equal(0)) Expect(len(secret.Data[paths.HTTPServerCACrtName])).ShouldNot(Equal(0)) }) + + It("should recreate the secret if the name is set but it doesn't exist", func() { + vdb := vapi.MakeVDB() + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationTrue + const TLSSecretName = "recreate-secret-name" + vdb.Spec.HTTPServerTLSSecret = TLSSecretName + test.CreateVDB(ctx, k8sClient, vdb) + defer test.DeleteVDB(ctx, k8sClient, vdb) + + nm := types.NamespacedName{Namespace: vdb.Namespace, Name: vdb.Spec.HTTPServerTLSSecret} + secret := &corev1.Secret{} + err := k8sClient.Get(ctx, nm, secret) + Expect(errors.IsNotFound(err)).Should(BeTrue()) + + r := MakeHTTPServerCertGenReconciler(vdbRec, logger, vdb) + Expect(r.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) + Expect(vdb.Spec.HTTPServerTLSSecret).Should(Equal(TLSSecretName)) + Expect(k8sClient.Get(ctx, nm, secret)).Should(Succeed()) + Expect(len(secret.Data[corev1.TLSPrivateKeyKey])).ShouldNot(Equal(0)) + Expect(len(secret.Data[corev1.TLSCertKey])).ShouldNot(Equal(0)) + Expect(len(secret.Data[paths.HTTPServerCACrtName])).ShouldNot(Equal(0)) + + }) }) diff --git a/pkg/controllers/vdb/httpserverctrl_reconciler.go b/pkg/controllers/vdb/httpserverctrl_reconciler.go deleted file mode 100644 index 6006cfa4b..000000000 --- a/pkg/controllers/vdb/httpserverctrl_reconciler.go +++ /dev/null @@ -1,107 +0,0 @@ -/* - (c) Copyright [2021-2023] Open Text. - Licensed under the Apache License, Version 2.0 (the "License"); - You may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package vdb - -import ( - "context" - "fmt" - - "github.com/go-logr/logr" - vapi "github.com/vertica/vertica-kubernetes/api/v1beta1" - "github.com/vertica/vertica-kubernetes/pkg/cmds" - "github.com/vertica/vertica-kubernetes/pkg/controllers" - "github.com/vertica/vertica-kubernetes/pkg/events" - "github.com/vertica/vertica-kubernetes/pkg/names" - "github.com/vertica/vertica-kubernetes/pkg/paths" - corev1 "k8s.io/api/core/v1" - ctrl "sigs.k8s.io/controller-runtime" -) - -// HTTPServerCtrlReconciler will start the http server if needed. -type HTTPServerCtrlReconciler struct { - VRec *VerticaDBReconciler - Vdb *vapi.VerticaDB // Vdb is the CRD we are acting on. - Log logr.Logger - PRunner cmds.PodRunner - PFacts *PodFacts -} - -func MakeHTTPServerCtrlReconciler(vdbrecon *VerticaDBReconciler, log logr.Logger, - vdb *vapi.VerticaDB, prunner cmds.PodRunner, pfacts *PodFacts) controllers.ReconcileActor { - return &HTTPServerCtrlReconciler{ - VRec: vdbrecon, - Vdb: vdb, - Log: log.WithName("HTTPServerCtrlReconciler"), - PRunner: prunner, - PFacts: pfacts, - } -} - -func (h *HTTPServerCtrlReconciler) Reconcile(ctx context.Context, _ *ctrl.Request) (ctrl.Result, error) { - // Early out if the http service isn't enabled. - if !h.doHTTPStart(true) { - return ctrl.Result{}, nil - } - - if err := h.PFacts.Collect(ctx, h.Vdb); err != nil { - return ctrl.Result{}, err - } - - for _, pod := range h.PFacts.Detail { - if pod.isHTTPServerRunning { - continue - } - // Only start the http server for pods that have been added to a database - if !pod.upNode { - h.Log.Info("Skipping http server start on pod because vertica is not running", "pod", pod.name) - continue - } - // We need this config file for the http server. - if !pod.fileExists[paths.HTTPTLSConfFile] { - h.Log.Info("Skipping http server start because https config is still missing in pod", "pod", pod.name) - continue - } - if err := h.startHTTPServerInPod(ctx, pod); err != nil { - return ctrl.Result{}, err - } - - // Invalidate the pod facts cache because we started the http server - h.PFacts.Invalidate() - } - - return ctrl.Result{}, nil -} - -// startHTTPServerInPod will start the http server in the given pod -func (h *HTTPServerCtrlReconciler) startHTTPServerInPod(ctx context.Context, pod *PodFact) error { - cmd := []string{ - "-tAc", genHTTPServerCtrlQuery("start"), - } - h.VRec.Event(h.Vdb, corev1.EventTypeNormal, events.HTTPServerStartStarted, - fmt.Sprintf("Starting http server in pod %s", pod.name)) - if _, _, err := h.PRunner.ExecVSQL(ctx, pod.name, names.ServerContainer, cmd...); err != nil { - h.VRec.Event(h.Vdb, corev1.EventTypeWarning, events.HTTPServerStartFailed, - fmt.Sprintf("Failed to start the http server in pod %s", pod.name)) - return err - } - return nil -} - -// doHTTPStart returns true if an attempt tp start the http server -// should be made. -func (h *HTTPServerCtrlReconciler) doHTTPStart(logEvent bool) bool { - return hasCompatibleVersionForHTTPServer(h.VRec, h.Vdb, logEvent, "http server start") -} diff --git a/pkg/controllers/vdb/httpserverctrl_reconciler_test.go b/pkg/controllers/vdb/httpserverctrl_reconciler_test.go deleted file mode 100644 index 91c7256ea..000000000 --- a/pkg/controllers/vdb/httpserverctrl_reconciler_test.go +++ /dev/null @@ -1,87 +0,0 @@ -/* - (c) Copyright [2021-2023] Open Text. - Licensed under the Apache License, Version 2.0 (the "License"); - You may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package vdb - -import ( - "context" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - vapi "github.com/vertica/vertica-kubernetes/api/v1beta1" - "github.com/vertica/vertica-kubernetes/pkg/cmds" - "github.com/vertica/vertica-kubernetes/pkg/test" - ctrl "sigs.k8s.io/controller-runtime" -) - -var _ = Describe("httpserverctrl_reconcile", func() { - ctx := context.Background() - - It("should start the http server if it isn't running", func() { - vdb := vapi.MakeVDB() - vdb.Annotations[vapi.VersionAnnotation] = vapi.HTTPServerMinVersion - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeEnabled - test.CreatePods(ctx, k8sClient, vdb, test.AllPodsRunning) - defer test.DeletePods(ctx, k8sClient, vdb) - - cmds := reconcileAndFindHTTPServerStart(ctx, vdb) - Expect(len(cmds)).Should(Equal(3)) - }) - - It("should start the http server, when auto, only if on supported version", func() { - vdb := vapi.MakeVDB() - vdb.Annotations[vapi.VersionAnnotation] = vapi.HTTPServerMinVersion - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeAuto - test.CreatePods(ctx, k8sClient, vdb, test.AllPodsRunning) - defer test.DeletePods(ctx, k8sClient, vdb) - - cmds := reconcileAndFindHTTPServerStart(ctx, vdb) - Expect(len(cmds)).Should(Equal(0)) - - vdb.Annotations[vapi.VersionAnnotation] = vapi.HTTPServerAutoMinVersion - cmds = reconcileAndFindHTTPServerStart(ctx, vdb) - Expect(len(cmds)).Should(Equal(3)) - }) - - It("should not try to start the http server if server version does not support it", func() { - vdb := vapi.MakeVDB() - vdb.Annotations[vapi.VersionAnnotation] = "v12.0.2" - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeEnabled - test.CreatePods(ctx, k8sClient, vdb, test.AllPodsRunning) - defer test.DeletePods(ctx, k8sClient, vdb) - - cmds := reconcileAndFindHTTPServerStart(ctx, vdb) - Expect(len(cmds)).Should(Equal(0)) - }) - - It("should not try to start the http server if disabled", func() { - vdb := vapi.MakeVDB() - vdb.Annotations[vapi.VersionAnnotation] = vapi.HTTPServerMinVersion - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeDisabled - test.CreatePods(ctx, k8sClient, vdb, test.AllPodsRunning) - defer test.DeletePods(ctx, k8sClient, vdb) - - cmds := reconcileAndFindHTTPServerStart(ctx, vdb) - Expect(len(cmds)).Should(Equal(0)) - }) -}) - -func reconcileAndFindHTTPServerStart(ctx context.Context, vdb *vapi.VerticaDB) []cmds.CmdHistory { - fpr := &cmds.FakePodRunner{} - pfacts := createPodFactsWithHTTPServerNotRunning(ctx, vdb, fpr) - h := MakeHTTPServerCtrlReconciler(vdbRec, logger, vdb, fpr, pfacts) - Expect(h.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) - return fpr.FindCommands("vsql", "-tAc", genHTTPServerCtrlQuery("start")) -} diff --git a/pkg/controllers/vdb/install_reconciler.go b/pkg/controllers/vdb/install_reconciler.go index dc2c90b9d..cd8743987 100644 --- a/pkg/controllers/vdb/install_reconciler.go +++ b/pkg/controllers/vdb/install_reconciler.go @@ -117,7 +117,6 @@ func (d *InstallReconciler) installForAdmintools(ctx context.Context) (ctrl.Resu // reconcile function. So if the pod is rescheduled after adding // hosts to the config, we have to know that a re_ip will succeed. d.addHostsToATConf, - d.generateHTTPCertsForAdmintools, } for _, fn := range fns { if err := fn(ctx); err != nil { @@ -190,20 +189,9 @@ func (d *InstallReconciler) createConfigDirsIfNecessary(ctx context.Context) err return nil } -// generateHTTPCertsForAdmintools is a wrapper for admintools that calls a function that -// generates the necessary certs to be able to start and communicate with the Vertica's http server. -func (d *InstallReconciler) generateHTTPCertsForAdmintools(ctx context.Context) error { - _, err := d.generateHTTPCerts(ctx) - return err -} - -// generateHTTPCerts will generate the necessary certs to be able to start and -// communicate with the Vertica's http server. +// generateHTTPCerts will generate the necessary config file to be able to start and +// communicate with the Vertica's https server. func (d *InstallReconciler) generateHTTPCerts(ctx context.Context) (bool, error) { - // Early out if the http service isn't enabled - if !d.doHTTPInstall(true) { - return false, nil - } installedPodCount := 0 for _, p := range d.PFacts.Detail { if !p.isPodRunning { @@ -308,11 +296,6 @@ func (d *InstallReconciler) genCmdRemoveOldConfig() []string { } } -// doHTTPInstall will return true if the installer should setup for the http server -func (d *InstallReconciler) doHTTPInstall(logEvent bool) bool { - return hasCompatibleVersionForHTTPServer(d.VRec, d.Vdb, logEvent, "http server cert setup") -} - // genCreateConfigDirsScript will create a script to be run in a pod to create // the necessary dirs for install. This will return an empty string if nothing // needs to happen. @@ -340,7 +323,8 @@ func (d *InstallReconciler) genCreateConfigDirsScript(p *PodFact) string { numCmds++ } - if d.doHTTPInstall(false) && !p.dirExists[paths.HTTPTLSConfDir] { + // vclusterops depends on https services to be running. + if vmeta.UseVClusterOps(d.Vdb.Annotations) && !p.dirExists[paths.HTTPTLSConfDir] { sb.WriteString(fmt.Sprintf("mkdir -p %s\n", paths.HTTPTLSConfDir)) numCmds++ } diff --git a/pkg/controllers/vdb/install_reconciler_test.go b/pkg/controllers/vdb/install_reconciler_test.go index 8859848ec..1974f141d 100644 --- a/pkg/controllers/vdb/install_reconciler_test.go +++ b/pkg/controllers/vdb/install_reconciler_test.go @@ -120,7 +120,8 @@ var _ = Describe("k8s/install_reconcile_test", func() { It("should have a successful installer reconcile when running vclusterOps feature flag", func() { secretName := "tls-1" - vdb := vapi.MakeVDBForHTTP(secretName) + vdb := vapi.MakeVDB() + vdb.Spec.HTTPServerTLSSecret = secretName vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationTrue test.CreatePods(ctx, k8sClient, vdb, test.AllPodsRunning) defer test.DeletePods(ctx, k8sClient, vdb) @@ -135,7 +136,8 @@ var _ = Describe("k8s/install_reconcile_test", func() { It("should not wait for all pods to be running to install when vclusterOps is set", func() { secretName := "tls-2" - vdb := vapi.MakeVDBForHTTP(secretName) + vdb := vapi.MakeVDB() + vdb.Spec.HTTPServerTLSSecret = secretName vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationTrue test.CreatePods(ctx, k8sClient, vdb, test.AllPodsRunning) defer test.DeletePods(ctx, k8sClient, vdb) @@ -190,12 +192,13 @@ var _ = Describe("k8s/install_reconcile_test", func() { Expect(podList[0].name).Should(Equal(names.GenPodName(vdb, sc, 0))) }) - It("should generate certs only on supported vertica versions", func() { + It("should generate https config only with vclusterops", func() { secretName := "tls-secret" - vdb := vapi.MakeVDBForHTTP(secretName) + vdb := vapi.MakeVDB() + vdb.Spec.HTTPServerTLSSecret = secretName test.CreateFakeTLSSecret(ctx, vdb, k8sClient, secretName) defer test.DeleteSecret(ctx, k8sClient, secretName) - vdb.Annotations[vapi.VersionAnnotation] = "v12.0.0" + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationFalse fpr := &cmds.FakePodRunner{} pfact := createPodFactsWithInstallNeeded(ctx, vdb, fpr) @@ -204,17 +207,15 @@ var _ = Describe("k8s/install_reconcile_test", func() { for _, val := range pfact.Detail { Expect(drecon.genCreateConfigDirsScript(val)).ShouldNot(ContainSubstring(paths.HTTPTLSConfDir)) } - err := drecon.generateHTTPCertsForAdmintools(ctx) - Expect(err).Should(Succeed()) + Expect(drecon.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) cmds := fpr.FindCommands(paths.HTTPTLSConfFileName) Expect(len(cmds)).Should(Equal(0)) - vdb.Annotations[vapi.VersionAnnotation] = vapi.HTTPServerMinVersion + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationTrue for _, val := range pfact.Detail { Expect(drecon.genCreateConfigDirsScript(val)).Should(ContainSubstring(paths.HTTPTLSConfDir)) } - err = drecon.generateHTTPCertsForAdmintools(ctx) - Expect(err).Should(Succeed()) + Expect(drecon.Reconcile(ctx, &ctrl.Request{})).Should(Equal(ctrl.Result{})) cmds = fpr.FindCommands(paths.HTTPTLSConfFileName) Expect(len(cmds)).Should(Equal(int(vdb.Spec.Subclusters[0].Size))) }) diff --git a/pkg/controllers/vdb/obj_reconciler.go b/pkg/controllers/vdb/obj_reconciler.go index 9a7c27fa2..5c73950d2 100644 --- a/pkg/controllers/vdb/obj_reconciler.go +++ b/pkg/controllers/vdb/obj_reconciler.go @@ -29,6 +29,7 @@ import ( verrors "github.com/vertica/vertica-kubernetes/pkg/errors" "github.com/vertica/vertica-kubernetes/pkg/events" "github.com/vertica/vertica-kubernetes/pkg/iter" + vmeta "github.com/vertica/vertica-kubernetes/pkg/meta" "github.com/vertica/vertica-kubernetes/pkg/names" "github.com/vertica/vertica-kubernetes/pkg/paths" appsv1 "k8s.io/api/apps/v1" @@ -130,14 +131,11 @@ func (o *ObjReconciler) checkMountedObjs(ctx context.Context) (ctrl.Result, erro } } - // Skip if HTTP server is explicitly disabled. For auto, some of the work - // isn't needed here. But we don't know the version, so we assume we need - // it. - if !o.Vdb.IsHTTPServerDisabled() { - // When the HTTP server is enabled, a secret must exist that has the - // certs to use for it. There is a reconciler that is run before this - // that will create the secret. We will requeue if we find the Vdb - // doesn't have the secret set. + if vmeta.UseVClusterOps(o.Vdb.Annotations) { + // When running the NMA, needed for vclusterops, a secret must exist + // that has the certs to use for it. There is a reconciler that is run + // before this that will create the secret. We will requeue if we find + // the Vdb doesn't have the secret set. if o.Vdb.Spec.HTTPServerTLSSecret == "" { o.VRec.Event(o.Vdb, corev1.EventTypeWarning, events.HTTPServerNotSetup, "The httpServerTLSSecret must be set when Vertica's http server is enabled") diff --git a/pkg/controllers/vdb/obj_reconciler_test.go b/pkg/controllers/vdb/obj_reconciler_test.go index 30b24a803..2915d55f8 100644 --- a/pkg/controllers/vdb/obj_reconciler_test.go +++ b/pkg/controllers/vdb/obj_reconciler_test.go @@ -648,10 +648,10 @@ var _ = Describe("obj_reconcile", func() { Expect(*sts.Spec.Replicas).Should(Equal(int32(1))) }) - It("should requeue if HTTP server is enabled but HTTP secret isn't setup properly", func() { + It("should requeue if vclusterops is enabled but HTTP secret isn't setup properly", func() { vdb := vapi.MakeVDB() - vdb.Spec.HTTPServerMode = vapi.HTTPServerModeEnabled vdb.Spec.HTTPServerTLSSecret = "" + vdb.Annotations[vmeta.VClusterOpsAnnotation] = vmeta.VClusterOpsAnnotationTrue createCrd(vdb, false) defer deleteCrd(vdb) diff --git a/pkg/controllers/vdb/podfacts.go b/pkg/controllers/vdb/podfacts.go index fbc061876..f6621cb17 100644 --- a/pkg/controllers/vdb/podfacts.go +++ b/pkg/controllers/vdb/podfacts.go @@ -155,9 +155,6 @@ type PodFact struct { // StatefulSet. This is an indication that the pod is in the middle of a // rolling update. stsRevisionPending bool - - // Is the http server running in this pod? - isHTTPServerRunning bool } type PodFactDetail map[types.NamespacedName]*PodFact @@ -189,7 +186,6 @@ type GatherState struct { VNodeName string `json:"vnodeName"` LocalDataSize int `json:"localDataSize"` LocalDataAvail int `json:"localDataAvail"` - IsHTTPServerRunning bool `json:"isHTTPServerRunning"` } // dBCheckType identifies how to pick pods in findReIPPods @@ -409,8 +405,6 @@ func (p *PodFacts) genGatherScript(vdb *vapi.VerticaDB, pf *PodFact) string { df --block-size=1 --output=size %s | tail -1 echo -n 'localDataAvail: ' df --block-size=1 --output=avail %s | tail -1 - echo -n 'isHTTPServerRunning: ' - ss -tulpn 2> /dev/null | grep LISTEN | grep --quiet ":%s" && echo true || echo false `, vdb.GenInstallerIndicatorFileName(), paths.EulaAcceptanceFile, @@ -430,7 +424,6 @@ func (p *PodFacts) genGatherScript(vdb *vapi.VerticaDB, pf *PodFact) string { fmt.Sprintf("%s/%s/*_catalog/startup.log", pf.catalogPath, vdb.Spec.DBName), pf.catalogPath, pf.catalogPath, - fmt.Sprintf("%d", builder.VerticaHTTPPort), )) } @@ -533,7 +526,6 @@ func (p *PodFacts) checkForSimpleGatherStateMapping(_ context.Context, _ *vapi.V pf.fileExists = gs.FileExists pf.localDataSize = gs.LocalDataSize pf.localDataAvail = gs.LocalDataAvail - pf.isHTTPServerRunning = gs.IsHTTPServerRunning // If the vertica process is running, then the database is UP. This is // consistent with the liveness probe, which goes a bit further and checks // if the client port is opened. If the vertica process dies, the liveness diff --git a/pkg/controllers/vdb/suite_test.go b/pkg/controllers/vdb/suite_test.go index 00d39eeb6..c922d0347 100644 --- a/pkg/controllers/vdb/suite_test.go +++ b/pkg/controllers/vdb/suite_test.go @@ -120,7 +120,6 @@ func defaultPodFactOverrider(_ context.Context, _ *vapi.VerticaDB, pf *PodFact, pf.startupInProgress = false pf.upNode = true pf.subclusterOid = "123456" - pf.isHTTPServerRunning = true return nil } @@ -191,16 +190,6 @@ func createPodFactsWithSlowStartup(ctx context.Context, vdb *vapi.VerticaDB, sc return pfacts } -func createPodFactsWithHTTPServerNotRunning(ctx context.Context, vdb *vapi.VerticaDB, - fpr *cmds.FakePodRunner) *PodFacts { - pfacts := createPodFactsDefault(fpr) - ExpectWithOffset(1, pfacts.Collect(ctx, vdb)).Should(Succeed()) - for _, pod := range pfacts.Detail { - pod.isHTTPServerRunning = false - } - return pfacts -} - const testAccessKey = "dummy" const testSecretKey = "dummy" const testClientKey = "dummy" diff --git a/pkg/controllers/vdb/verticadb_controller.go b/pkg/controllers/vdb/verticadb_controller.go index db3567ed1..7179854b1 100644 --- a/pkg/controllers/vdb/verticadb_controller.go +++ b/pkg/controllers/vdb/verticadb_controller.go @@ -165,8 +165,8 @@ func (r *VerticaDBReconciler) constructActors(log logr.Logger, vdb *vapi.Vertica // Handle upgrade actions for any k8s objects created in prior versions // of the operator. MakeUpgradeOperator120Reconciler(r, log, vdb), - // Create a TLS secret for the HTTP server - MakeHTTPServerCertGenReconciler(r, vdb), + // Create a TLS secret for the NMA service + MakeHTTPServerCertGenReconciler(r, log, vdb), // Create ServiceAcount, Role and RoleBindings needed for vertica pods MakeServiceAccountReconciler(r, log, vdb), // Update any k8s objects with some exceptions. For instance, preserve @@ -224,8 +224,6 @@ func (r *VerticaDBReconciler) constructActors(log logr.Logger, vdb *vapi.Vertica MakeStatusReconciler(r.Client, r.Scheme, log, vdb, pfacts), // Update the labels in pods so that Services route to nodes to them. MakeClientRoutingLabelReconciler(r, log, vdb, pfacts, PodRescheduleApplyMethod, ""), - // Ensure http server is running on each pod - MakeHTTPServerCtrlReconciler(r, log, vdb, prunner, pfacts), // Handle calls to add new subcluster to the catalog MakeDBAddSubclusterReconciler(r, log, vdb, prunner, pfacts, dispatcher), MakeMetricReconciler(r, log, vdb, prunner, pfacts), diff --git a/pkg/meta/annotations.go b/pkg/meta/annotations.go index 3dfea9022..8ffa24996 100644 --- a/pkg/meta/annotations.go +++ b/pkg/meta/annotations.go @@ -35,8 +35,9 @@ const ( // annotation in the VerticaDB that you want to use the new vclusterOps // library for any vertica admin task. The value of this annotation is // treated as a boolean. - VClusterOpsAnnotation = "vertica.com/vcluster-ops" - VClusterOpsAnnotationTrue = "true" + VClusterOpsAnnotation = "vertica.com/vcluster-ops" + VClusterOpsAnnotationTrue = "true" + VClusterOpsAnnotationFalse = "false" // This is a feature flag for accessing the secrets configured in Google Secret Manager. // The value of this annotation is treated as a boolean. diff --git a/pkg/vadmin/suite_test.go b/pkg/vadmin/suite_test.go index 758543a42..42804ecf0 100644 --- a/pkg/vadmin/suite_test.go +++ b/pkg/vadmin/suite_test.go @@ -191,7 +191,8 @@ func (m *MockVClusterOps) VerifyCerts(options *vops.DatabaseOptions) error { // mockVClusterOpsDispatcher will create an vcluster-ops dispatcher for test purposes func mockVClusterOpsDispatcher() *VClusterOps { - vdb := vapi.MakeVDBForHTTP("test-secret") + vdb := vapi.MakeVDB() + vdb.Spec.HTTPServerTLSSecret = "test-secret" mockVops := MockVClusterOps{} evWriter := aterrors.TestEVWriter{} dispatcher := MakeVClusterOps(logger, vdb, k8sClient, &mockVops, TestPassword, &evWriter) diff --git a/scripts/setup-kustomize.sh b/scripts/setup-kustomize.sh index 06f7e7d29..c0108baba 100755 --- a/scripts/setup-kustomize.sh +++ b/scripts/setup-kustomize.sh @@ -739,11 +739,11 @@ setup_creds_for_private_repo # Descend into each test and create the overlay kustomization. # The overlay is created in a directory like: overlay/ -for tdir in e2e-leg-*/*/*/base e2e-server-upgrade/*/*/base e2e-operator-upgrade-overlays/*/*/base e2e-udx*/*/*/base e2e-http-server/*/*/base +for tdir in e2e-leg-*/*/*/base e2e-server-upgrade/*/*/base e2e-operator-upgrade-overlays/*/*/base e2e-udx*/*/*/base do create_vdb_pod_kustomization $(dirname $tdir) $(basename $(realpath $tdir/../..)) done -for tdir in e2e-leg-*/* e2e-server-upgrade/* e2e-operator-upgrade-overlays/* e2e-udx*/* e2e-http-server/* +for tdir in e2e-leg-*/* e2e-server-upgrade/* e2e-operator-upgrade-overlays/* e2e-udx*/* do clean_communal_kustomization $tdir done diff --git a/tests/README.md b/tests/README.md index 346332870..1f8c972db 100644 --- a/tests/README.md +++ b/tests/README.md @@ -7,7 +7,6 @@ This is the root directory of all of the integration style tests. They are named 3. e2e-server-upgrade: These tests focus on testing the operator when upgrading the vertica server. 4. e2e-operator-upgrade-overlays: These tests focus on testing upgrade of the operator itself. It needs a special environment because we need to install old versions of the operator before upgrading to the current version. 5. e2e-operator-upgrade-template: This isn't a test suite per say. It provides a template to generate operator upgrade tests in e2e-operator-upgrade-overlays. -6. e2e-http-server: These test focus on testing the http server within vertica. This needs a new version of Vertica, which is why it's not include in the e2e-leg-x suites. ## Running Tests Individually diff --git a/tests/e2e-http-server/http-server-start/05-create-creds.yaml b/tests/e2e-http-server/http-server-start/05-create-creds.yaml deleted file mode 100644 index 173d35735..000000000 --- a/tests/e2e-http-server/http-server-start/05-create-creds.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - - script: kustomize build ../../manifests/communal-creds/overlay | kubectl apply -f - --namespace $NAMESPACE - - script: kustomize build ../../manifests/priv-container-creds/overlay | kubectl apply -f - --namespace $NAMESPACE diff --git a/tests/e2e-http-server/http-server-start/10-assert.yaml b/tests/e2e-http-server/http-server-start/10-assert.yaml deleted file mode 100644 index 9a3e8cd05..000000000 --- a/tests/e2e-http-server/http-server-start/10-assert.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: Pod -metadata: - namespace: verticadb-operator - labels: - control-plane: controller-manager -status: - phase: Running diff --git a/tests/e2e-http-server/http-server-start/10-deploy-operator.yaml b/tests/e2e-http-server/http-server-start/10-deploy-operator.yaml deleted file mode 100644 index aa9acae96..000000000 --- a/tests/e2e-http-server/http-server-start/10-deploy-operator.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/tests/e2e-http-server/http-server-start/15-assert.yaml b/tests/e2e-http-server/http-server-start/15-assert.yaml deleted file mode 100644 index c9dce5fee..000000000 --- a/tests/e2e-http-server/http-server-start/15-assert.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: v-http-server-start-sc -status: - replicas: 2 ---- -apiVersion: vertica.com/v1beta1 -kind: VerticaDB -metadata: - name: v-http-server-start -spec: - httpServerMode: Disabled -status: - subclusters: - - installCount: 2 diff --git a/tests/e2e-http-server/http-server-start/15-setup-vdb.yaml b/tests/e2e-http-server/http-server-start/15-setup-vdb.yaml deleted file mode 100644 index cdfe70df2..000000000 --- a/tests/e2e-http-server/http-server-start/15-setup-vdb.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - - command: bash -c "kustomize build setup-vdb/overlay | kubectl -n $NAMESPACE apply -f - " diff --git a/tests/e2e-http-server/http-server-start/20-assert.yaml b/tests/e2e-http-server/http-server-start/20-assert.yaml deleted file mode 100644 index 2007b9d90..000000000 --- a/tests/e2e-http-server/http-server-start/20-assert.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: v-http-server-start-sc -status: - replicas: 2 - readyReplicas: 2 ---- -apiVersion: vertica.com/v1beta1 -kind: VerticaDB -metadata: - name: v-http-server-start -spec: - httpServerMode: Disabled -status: - subclusters: - - installCount: 2 - addedToDBCount: 2 - upNodeCount: 2 diff --git a/tests/e2e-http-server/http-server-start/20-wait-for-createdb.yaml b/tests/e2e-http-server/http-server-start/20-wait-for-createdb.yaml deleted file mode 100644 index bf3726035..000000000 --- a/tests/e2e-http-server/http-server-start/20-wait-for-createdb.yaml +++ /dev/null @@ -1 +0,0 @@ -# Intentionally empty to give this step a name in kuttl \ No newline at end of file diff --git a/tests/e2e-http-server/http-server-start/21-assert.yaml b/tests/e2e-http-server/http-server-start/21-assert.yaml deleted file mode 100644 index a866e08cc..000000000 --- a/tests/e2e-http-server/http-server-start/21-assert.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: integration-test-role ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: integration-test-rb diff --git a/tests/e2e-http-server/http-server-start/21-rbac.yaml b/tests/e2e-http-server/http-server-start/21-rbac.yaml deleted file mode 100644 index 6f815d2b7..000000000 --- a/tests/e2e-http-server/http-server-start/21-rbac.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - - script: kubectl apply --namespace $NAMESPACE -f ../../manifests/rbac/base/rbac.yaml - ignoreFailure: true diff --git a/tests/e2e-http-server/http-server-start/25-assert.yaml b/tests/e2e-http-server/http-server-start/25-assert.yaml deleted file mode 100644 index 7d3f9b589..000000000 --- a/tests/e2e-http-server/http-server-start/25-assert.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: Pod -metadata: - name: test-wait-for-http-server-not-running -status: - containerStatuses: - - name: test - state: - terminated: - exitCode: 0 diff --git a/tests/e2e-http-server/http-server-start/25-wait-http-server-not-running.yaml b/tests/e2e-http-server/http-server-start/25-wait-http-server-not-running.yaml deleted file mode 100644 index 111da67ec..000000000 --- a/tests/e2e-http-server/http-server-start/25-wait-http-server-not-running.yaml +++ /dev/null @@ -1,70 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Verifies external access through the service to the agent port 5444. It -# does this by invoking the REST API and doing basic sanity on what it -# received. - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: script-wait-for-http-server -data: - entrypoint.sh: |- - #!/bin/bash - - # Wait for the http server to be up - for pod in 0 1 - do - set +o errexit - set +o xtrace - - timeout 60 bash -c -- "\ - while ! kubectl exec -it pod/v-http-server-start-sc-$pod -- vsql -tAc \"select http_server_ctrl('status_bool','')\" | grep -cq '0' - do \ - sleep 0.1; \ - done" & - pid=$! - - set -o errexit - set -o xtrace - wait $pid - done - - HTTP_STATUS=$(kubectl exec -it svc/v-http-server-start-sc -- vsql -c "select http_server_ctrl('status','')") - echo $HTTP_STATUS - echo $HTTP_STATUS | grep -cq "Http server is not running" ---- -apiVersion: v1 -kind: Pod -metadata: - name: test-wait-for-http-server-not-running - labels: - stern: include -spec: - restartPolicy: Never - containers: - - name: test - image: bitnami/kubectl:1.20.4 - command: ["/bin/entrypoint.sh"] - volumeMounts: - - name: entrypoint-volume - mountPath: /bin/entrypoint.sh - readOnly: true - subPath: entrypoint.sh - volumes: - - name: entrypoint-volume - configMap: - defaultMode: 0777 - name: script-wait-for-http-server diff --git a/tests/e2e-http-server/http-server-start/30-assert.yaml b/tests/e2e-http-server/http-server-start/30-assert.yaml deleted file mode 100644 index 81a43e1ff..000000000 --- a/tests/e2e-http-server/http-server-start/30-assert.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: v-http-server-start-sc -status: - replicas: 2 ---- -apiVersion: vertica.com/v1beta1 -kind: VerticaDB -metadata: - name: v-http-server-start -spec: - httpServerMode: Enabled -status: - subclusters: - - installCount: 2 diff --git a/tests/e2e-http-server/http-server-start/30-enable-http-server.yaml b/tests/e2e-http-server/http-server-start/30-enable-http-server.yaml deleted file mode 100644 index 6fce9867b..000000000 --- a/tests/e2e-http-server/http-server-start/30-enable-http-server.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: vertica.com/v1beta1 -kind: VerticaDB -metadata: - name: v-http-server-start -spec: - httpServerMode: Enabled diff --git a/tests/e2e-http-server/http-server-start/35-assert.yaml b/tests/e2e-http-server/http-server-start/35-assert.yaml deleted file mode 100644 index aef73435c..000000000 --- a/tests/e2e-http-server/http-server-start/35-assert.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: v-http-server-start-sc -status: - replicas: 2 - readyReplicas: 2 ---- -apiVersion: vertica.com/v1beta1 -kind: VerticaDB -metadata: - name: v-http-server-start -spec: - httpServerMode: Enabled -status: - subclusters: - - installCount: 2 - addedToDBCount: 2 - upNodeCount: 2 diff --git a/tests/e2e-http-server/http-server-start/35-wait-for-http-server-start.yaml b/tests/e2e-http-server/http-server-start/35-wait-for-http-server-start.yaml deleted file mode 100644 index bf3726035..000000000 --- a/tests/e2e-http-server/http-server-start/35-wait-for-http-server-start.yaml +++ /dev/null @@ -1 +0,0 @@ -# Intentionally empty to give this step a name in kuttl \ No newline at end of file diff --git a/tests/e2e-http-server/http-server-start/40-assert.yaml b/tests/e2e-http-server/http-server-start/40-assert.yaml deleted file mode 100644 index 9460cf45a..000000000 --- a/tests/e2e-http-server/http-server-start/40-assert.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: Pod -metadata: - name: test-wait-for-http-server-running -status: - containerStatuses: - - name: test - state: - terminated: - exitCode: 0 diff --git a/tests/e2e-http-server/http-server-start/40-wait-http-server-running.yaml b/tests/e2e-http-server/http-server-start/40-wait-http-server-running.yaml deleted file mode 100644 index eeb4a043c..000000000 --- a/tests/e2e-http-server/http-server-start/40-wait-http-server-running.yaml +++ /dev/null @@ -1,70 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Verifies external access through the service to the agent port 5444. It -# does this by invoking the REST API and doing basic sanity on what it -# received. - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: script-wait-for-http-server -data: - entrypoint.sh: |- - #!/bin/bash - - # Wait for the http server to be up - for pod in 0 1 - do - set +o errexit - set +o xtrace - - timeout 60 bash -c -- "\ - while ! kubectl exec -it pod/v-http-server-start-sc-$pod -- vsql -tAc \"select http_server_ctrl('status_bool','')\" | grep -cq '1' - do \ - sleep 0.1; \ - done" & - pid=$! - - set -o errexit - set -o xtrace - wait $pid - done - - HTTP_STATUS=$(kubectl exec -it svc/v-http-server-start-sc -- vsql -c "select http_server_ctrl('status','')") - echo $HTTP_STATUS - echo $HTTP_STATUS | grep -cq "Http server is running" ---- -apiVersion: v1 -kind: Pod -metadata: - name: test-wait-for-http-server-running - labels: - stern: include -spec: - restartPolicy: Never - containers: - - name: test - image: bitnami/kubectl:1.20.4 - command: ["/bin/entrypoint.sh"] - volumeMounts: - - name: entrypoint-volume - mountPath: /bin/entrypoint.sh - readOnly: true - subPath: entrypoint.sh - volumes: - - name: entrypoint-volume - configMap: - defaultMode: 0777 - name: script-wait-for-http-server diff --git a/tests/e2e-http-server/http-server-start/95-delete-cr.yaml b/tests/e2e-http-server/http-server-start/95-delete-cr.yaml deleted file mode 100644 index 90bc518d8..000000000 --- a/tests/e2e-http-server/http-server-start/95-delete-cr.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -delete: - - apiVersion: vertica.com/v1beta1 - kind: VerticaDB - - apiVersion: v1 - kind: Secret - name: http-server-tls-copy diff --git a/tests/e2e-http-server/http-server-start/95-errors.yaml b/tests/e2e-http-server/http-server-start/95-errors.yaml deleted file mode 100644 index 59ea68668..000000000 --- a/tests/e2e-http-server/http-server-start/95-errors.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: apps/v1 -kind: StatefulSet ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/managed-by: verticadb-operator ---- -apiVersion: vertica.com/v1beta1 -kind: VerticaDB ---- -apiVersion: v1 -kind: Secret -metadata: - labels: - app.kubernetes.io/name: vertica - app.kubernetes.io/component: database - vertica.com/database: vertdb - app.kubernetes.io/instance: v-http-generated-certs diff --git a/tests/e2e-http-server/http-server-start/96-assert.yaml b/tests/e2e-http-server/http-server-start/96-assert.yaml deleted file mode 100644 index 40cac6bef..000000000 --- a/tests/e2e-http-server/http-server-start/96-assert.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: Pod -metadata: - name: clean-communal -status: - phase: Succeeded diff --git a/tests/e2e-http-server/http-server-start/96-cleanup-storage.yaml b/tests/e2e-http-server/http-server-start/96-cleanup-storage.yaml deleted file mode 100644 index 07b773b86..000000000 --- a/tests/e2e-http-server/http-server-start/96-cleanup-storage.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - - command: bash -c "kustomize build clean-communal/overlay | kubectl -n $NAMESPACE apply -f - " diff --git a/tests/e2e-http-server/http-server-start/96-errors.yaml b/tests/e2e-http-server/http-server-start/96-errors.yaml deleted file mode 100644 index d67f7a88b..000000000 --- a/tests/e2e-http-server/http-server-start/96-errors.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: PersistentVolumeClaim diff --git a/tests/e2e-http-server/http-server-start/99-delete-ns.yaml b/tests/e2e-http-server/http-server-start/99-delete-ns.yaml deleted file mode 100644 index 0f56f87b2..000000000 --- a/tests/e2e-http-server/http-server-start/99-delete-ns.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: kuttl.dev/v1beta1 -kind: TestStep -commands: - - command: kubectl delete ns $NAMESPACE diff --git a/tests/e2e-http-server/http-server-start/README.txt b/tests/e2e-http-server/http-server-start/README.txt deleted file mode 100644 index 3e4b63a2d..000000000 --- a/tests/e2e-http-server/http-server-start/README.txt +++ /dev/null @@ -1 +0,0 @@ -Tests the http server by disabling and then enabling it. diff --git a/tests/e2e-http-server/http-server-start/setup-vdb/base/kustomization.yaml b/tests/e2e-http-server/http-server-start/setup-vdb/base/kustomization.yaml deleted file mode 100644 index e8798aa5e..000000000 --- a/tests/e2e-http-server/http-server-start/setup-vdb/base/kustomization.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -resources: - - setup-vdb.yaml diff --git a/tests/e2e-http-server/http-server-start/setup-vdb/base/setup-vdb.yaml b/tests/e2e-http-server/http-server-start/setup-vdb/base/setup-vdb.yaml deleted file mode 100644 index 909f21ce6..000000000 --- a/tests/e2e-http-server/http-server-start/setup-vdb/base/setup-vdb.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# (c) Copyright [2021-2023] Open Text. -# Licensed under the Apache License, Version 2.0 (the "License"); -# You may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: vertica.com/v1beta1 -kind: VerticaDB -metadata: - name: v-http-server-start -spec: - image: kustomize-vertica-image - communal: - includeUIDInPath: true - local: - requestSize: 100Mi - dbName: vertdb - httpServerMode: Disabled - subclusters: - - name: sc - size: 2 - kSafety: "0" - certSecrets: [] - imagePullSecrets: [] - volumes: [] - volumeMounts: [] diff --git a/tests/e2e-http-server/README.txt b/tests/e2e-leg-6/README.txt similarity index 100% rename from tests/e2e-http-server/README.txt rename to tests/e2e-leg-6/README.txt diff --git a/tests/e2e-http-server/http-custom-certs/05-assert.yaml b/tests/e2e-leg-6/http-custom-certs/05-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/05-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/05-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/05-custom-cert.yaml b/tests/e2e-leg-6/http-custom-certs/05-custom-cert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/05-custom-cert.yaml rename to tests/e2e-leg-6/http-custom-certs/05-custom-cert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/10-create-creds.yaml b/tests/e2e-leg-6/http-custom-certs/10-create-creds.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/10-create-creds.yaml rename to tests/e2e-leg-6/http-custom-certs/10-create-creds.yaml diff --git a/tests/e2e-http-server/http-custom-certs/15-assert.yaml b/tests/e2e-leg-6/http-custom-certs/15-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/15-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/15-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/15-deploy-operator.yaml b/tests/e2e-leg-6/http-custom-certs/15-deploy-operator.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/15-deploy-operator.yaml rename to tests/e2e-leg-6/http-custom-certs/15-deploy-operator.yaml diff --git a/tests/e2e-http-server/http-custom-certs/20-assert.yaml b/tests/e2e-leg-6/http-custom-certs/20-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/20-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/20-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/20-setup-vdb.yaml b/tests/e2e-leg-6/http-custom-certs/20-setup-vdb.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/20-setup-vdb.yaml rename to tests/e2e-leg-6/http-custom-certs/20-setup-vdb.yaml diff --git a/tests/e2e-http-server/http-custom-certs/25-assert.yaml b/tests/e2e-leg-6/http-custom-certs/25-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/25-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/25-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/25-wait-for-createdb.yaml b/tests/e2e-leg-6/http-custom-certs/25-wait-for-createdb.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/25-wait-for-createdb.yaml rename to tests/e2e-leg-6/http-custom-certs/25-wait-for-createdb.yaml diff --git a/tests/e2e-http-server/http-custom-certs/30-assert.yaml b/tests/e2e-leg-6/http-custom-certs/30-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/30-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/30-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/30-rbac.yaml b/tests/e2e-leg-6/http-custom-certs/30-rbac.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/30-rbac.yaml rename to tests/e2e-leg-6/http-custom-certs/30-rbac.yaml diff --git a/tests/e2e-http-server/http-custom-certs/35-assert.yaml b/tests/e2e-leg-6/http-custom-certs/35-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/35-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/35-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/35-enable-https-if-necessary.yaml b/tests/e2e-leg-6/http-custom-certs/35-enable-https-if-necessary.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/35-enable-https-if-necessary.yaml rename to tests/e2e-leg-6/http-custom-certs/35-enable-https-if-necessary.yaml diff --git a/tests/e2e-http-server/http-custom-certs/40-assert.yaml b/tests/e2e-leg-6/http-custom-certs/40-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/40-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/40-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/40-wait-http-server.yaml b/tests/e2e-leg-6/http-custom-certs/40-wait-http-server.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/40-wait-http-server.yaml rename to tests/e2e-leg-6/http-custom-certs/40-wait-http-server.yaml diff --git a/tests/e2e-http-server/http-custom-certs/45-assert.yaml b/tests/e2e-leg-6/http-custom-certs/45-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/45-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/45-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/45-grant-tls-auth.yaml b/tests/e2e-leg-6/http-custom-certs/45-grant-tls-auth.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/45-grant-tls-auth.yaml rename to tests/e2e-leg-6/http-custom-certs/45-grant-tls-auth.yaml diff --git a/tests/e2e-http-server/http-custom-certs/50-assert.yaml b/tests/e2e-leg-6/http-custom-certs/50-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/50-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/50-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/50-verify-metrics.yaml b/tests/e2e-leg-6/http-custom-certs/50-verify-metrics.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/50-verify-metrics.yaml rename to tests/e2e-leg-6/http-custom-certs/50-verify-metrics.yaml diff --git a/tests/e2e-http-server/http-custom-certs/55-assert.yaml b/tests/e2e-leg-6/http-custom-certs/55-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/55-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/55-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/55-verify-nodes.yaml b/tests/e2e-leg-6/http-custom-certs/55-verify-nodes.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/55-verify-nodes.yaml rename to tests/e2e-leg-6/http-custom-certs/55-verify-nodes.yaml diff --git a/tests/e2e-http-server/http-custom-certs/95-delete-cr.yaml b/tests/e2e-leg-6/http-custom-certs/95-delete-cr.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/95-delete-cr.yaml rename to tests/e2e-leg-6/http-custom-certs/95-delete-cr.yaml diff --git a/tests/e2e-http-server/http-custom-certs/95-errors.yaml b/tests/e2e-leg-6/http-custom-certs/95-errors.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/95-errors.yaml rename to tests/e2e-leg-6/http-custom-certs/95-errors.yaml diff --git a/tests/e2e-http-server/http-custom-certs/96-assert.yaml b/tests/e2e-leg-6/http-custom-certs/96-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/96-assert.yaml rename to tests/e2e-leg-6/http-custom-certs/96-assert.yaml diff --git a/tests/e2e-http-server/http-custom-certs/96-cleanup-storage.yaml b/tests/e2e-leg-6/http-custom-certs/96-cleanup-storage.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/96-cleanup-storage.yaml rename to tests/e2e-leg-6/http-custom-certs/96-cleanup-storage.yaml diff --git a/tests/e2e-http-server/http-custom-certs/96-errors.yaml b/tests/e2e-leg-6/http-custom-certs/96-errors.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/96-errors.yaml rename to tests/e2e-leg-6/http-custom-certs/96-errors.yaml diff --git a/tests/e2e-http-server/http-custom-certs/99-delete-ns.yaml b/tests/e2e-leg-6/http-custom-certs/99-delete-ns.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/99-delete-ns.yaml rename to tests/e2e-leg-6/http-custom-certs/99-delete-ns.yaml diff --git a/tests/e2e-http-server/http-custom-certs/README.txt b/tests/e2e-leg-6/http-custom-certs/README.txt similarity index 100% rename from tests/e2e-http-server/http-custom-certs/README.txt rename to tests/e2e-leg-6/http-custom-certs/README.txt diff --git a/tests/e2e-http-server/http-custom-certs/setup-vdb/base/kustomization.yaml b/tests/e2e-leg-6/http-custom-certs/setup-vdb/base/kustomization.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/setup-vdb/base/kustomization.yaml rename to tests/e2e-leg-6/http-custom-certs/setup-vdb/base/kustomization.yaml diff --git a/tests/e2e-http-server/http-custom-certs/setup-vdb/base/setup-vdb.yaml b/tests/e2e-leg-6/http-custom-certs/setup-vdb/base/setup-vdb.yaml similarity index 100% rename from tests/e2e-http-server/http-custom-certs/setup-vdb/base/setup-vdb.yaml rename to tests/e2e-leg-6/http-custom-certs/setup-vdb/base/setup-vdb.yaml diff --git a/tests/e2e-http-server/http-generated-certs/01-assert.yaml b/tests/e2e-leg-6/http-generated-certs/01-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/01-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/01-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/01-rbac.yaml b/tests/e2e-leg-6/http-generated-certs/01-rbac.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/01-rbac.yaml rename to tests/e2e-leg-6/http-generated-certs/01-rbac.yaml diff --git a/tests/e2e-http-server/http-generated-certs/05-assert.yaml b/tests/e2e-leg-6/http-generated-certs/05-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/05-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/05-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/05-password-secret.yaml b/tests/e2e-leg-6/http-generated-certs/05-password-secret.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/05-password-secret.yaml rename to tests/e2e-leg-6/http-generated-certs/05-password-secret.yaml diff --git a/tests/e2e-http-server/http-generated-certs/10-create-creds.yaml b/tests/e2e-leg-6/http-generated-certs/10-create-creds.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/10-create-creds.yaml rename to tests/e2e-leg-6/http-generated-certs/10-create-creds.yaml diff --git a/tests/e2e-http-server/http-generated-certs/15-assert.yaml b/tests/e2e-leg-6/http-generated-certs/15-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/15-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/15-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/15-deploy-operator.yaml b/tests/e2e-leg-6/http-generated-certs/15-deploy-operator.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/15-deploy-operator.yaml rename to tests/e2e-leg-6/http-generated-certs/15-deploy-operator.yaml diff --git a/tests/e2e-http-server/http-generated-certs/17-assert.yaml b/tests/e2e-leg-6/http-generated-certs/17-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/17-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/17-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/17-create-early-et.yaml b/tests/e2e-leg-6/http-generated-certs/17-create-early-et.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/17-create-early-et.yaml rename to tests/e2e-leg-6/http-generated-certs/17-create-early-et.yaml diff --git a/tests/e2e-http-server/http-generated-certs/20-assert.yaml b/tests/e2e-leg-6/http-generated-certs/20-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/20-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/20-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/20-setup-vdb.yaml b/tests/e2e-leg-6/http-generated-certs/20-setup-vdb.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/20-setup-vdb.yaml rename to tests/e2e-leg-6/http-generated-certs/20-setup-vdb.yaml diff --git a/tests/e2e-http-server/http-generated-certs/25-assert.yaml b/tests/e2e-leg-6/http-generated-certs/25-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/25-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/25-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/25-wait-for-createdb.yaml b/tests/e2e-leg-6/http-generated-certs/25-wait-for-createdb.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/25-wait-for-createdb.yaml rename to tests/e2e-leg-6/http-generated-certs/25-wait-for-createdb.yaml diff --git a/tests/e2e-http-server/http-generated-certs/30-copy-generated-secret.yaml b/tests/e2e-leg-6/http-generated-certs/30-copy-generated-secret.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/30-copy-generated-secret.yaml rename to tests/e2e-leg-6/http-generated-certs/30-copy-generated-secret.yaml diff --git a/tests/e2e-http-server/http-generated-certs/35-assert.yaml b/tests/e2e-leg-6/http-generated-certs/35-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/35-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/35-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/35-rbac.yaml b/tests/e2e-leg-6/http-generated-certs/35-rbac.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/35-rbac.yaml rename to tests/e2e-leg-6/http-generated-certs/35-rbac.yaml diff --git a/tests/e2e-http-server/http-generated-certs/40-assert.yaml b/tests/e2e-leg-6/http-generated-certs/40-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/40-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/40-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/40-enable-https-if-necessary.yaml b/tests/e2e-leg-6/http-generated-certs/40-enable-https-if-necessary.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/40-enable-https-if-necessary.yaml rename to tests/e2e-leg-6/http-generated-certs/40-enable-https-if-necessary.yaml diff --git a/tests/e2e-http-server/http-generated-certs/45-assert.yaml b/tests/e2e-leg-6/http-generated-certs/45-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/45-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/45-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/45-wait-http-server.yaml b/tests/e2e-leg-6/http-generated-certs/45-wait-http-server.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/45-wait-http-server.yaml rename to tests/e2e-leg-6/http-generated-certs/45-wait-http-server.yaml diff --git a/tests/e2e-http-server/http-generated-certs/50-assert.yaml b/tests/e2e-leg-6/http-generated-certs/50-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/50-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/50-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/50-grant-tls-auth.yaml b/tests/e2e-leg-6/http-generated-certs/50-grant-tls-auth.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/50-grant-tls-auth.yaml rename to tests/e2e-leg-6/http-generated-certs/50-grant-tls-auth.yaml diff --git a/tests/e2e-http-server/http-generated-certs/55-assert.yaml b/tests/e2e-leg-6/http-generated-certs/55-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/55-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/55-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/55-verify-health.yaml b/tests/e2e-leg-6/http-generated-certs/55-verify-health.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/55-verify-health.yaml rename to tests/e2e-leg-6/http-generated-certs/55-verify-health.yaml diff --git a/tests/e2e-http-server/http-generated-certs/60-assert.yaml b/tests/e2e-leg-6/http-generated-certs/60-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/60-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/60-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/60-verify-sync-catalog.yaml b/tests/e2e-leg-6/http-generated-certs/60-verify-sync-catalog.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/60-verify-sync-catalog.yaml rename to tests/e2e-leg-6/http-generated-certs/60-verify-sync-catalog.yaml diff --git a/tests/e2e-http-server/http-generated-certs/95-delete-cr.yaml b/tests/e2e-leg-6/http-generated-certs/95-delete-cr.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/95-delete-cr.yaml rename to tests/e2e-leg-6/http-generated-certs/95-delete-cr.yaml diff --git a/tests/e2e-http-server/http-generated-certs/95-errors.yaml b/tests/e2e-leg-6/http-generated-certs/95-errors.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/95-errors.yaml rename to tests/e2e-leg-6/http-generated-certs/95-errors.yaml diff --git a/tests/e2e-http-server/http-generated-certs/96-assert.yaml b/tests/e2e-leg-6/http-generated-certs/96-assert.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/96-assert.yaml rename to tests/e2e-leg-6/http-generated-certs/96-assert.yaml diff --git a/tests/e2e-http-server/http-generated-certs/96-cleanup-storage.yaml b/tests/e2e-leg-6/http-generated-certs/96-cleanup-storage.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/96-cleanup-storage.yaml rename to tests/e2e-leg-6/http-generated-certs/96-cleanup-storage.yaml diff --git a/tests/e2e-http-server/http-generated-certs/96-errors.yaml b/tests/e2e-leg-6/http-generated-certs/96-errors.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/96-errors.yaml rename to tests/e2e-leg-6/http-generated-certs/96-errors.yaml diff --git a/tests/e2e-http-server/http-generated-certs/99-delete-ns.yaml b/tests/e2e-leg-6/http-generated-certs/99-delete-ns.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/99-delete-ns.yaml rename to tests/e2e-leg-6/http-generated-certs/99-delete-ns.yaml diff --git a/tests/e2e-http-server/http-generated-certs/README.txt b/tests/e2e-leg-6/http-generated-certs/README.txt similarity index 100% rename from tests/e2e-http-server/http-generated-certs/README.txt rename to tests/e2e-leg-6/http-generated-certs/README.txt diff --git a/tests/e2e-http-server/http-generated-certs/setup-vdb/base/kustomization.yaml b/tests/e2e-leg-6/http-generated-certs/setup-vdb/base/kustomization.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/setup-vdb/base/kustomization.yaml rename to tests/e2e-leg-6/http-generated-certs/setup-vdb/base/kustomization.yaml diff --git a/tests/e2e-http-server/http-generated-certs/setup-vdb/base/setup-vdb.yaml b/tests/e2e-leg-6/http-generated-certs/setup-vdb/base/setup-vdb.yaml similarity index 100% rename from tests/e2e-http-server/http-generated-certs/setup-vdb/base/setup-vdb.yaml rename to tests/e2e-leg-6/http-generated-certs/setup-vdb/base/setup-vdb.yaml