From b00359ff4dcbc7f7e1b194635a71d4c58245e6cb Mon Sep 17 00:00:00 2001 From: Rajesh Tailor Date: Wed, 2 Jul 2025 19:33:22 +0530 Subject: [PATCH] Restructure nova-operator for multi-group support This commit restructures the nova-operator codebase to support multi-group operators by: - Moving API definitions from api/ to apis/nova/v1beta1/ - Reorganizing controllers into controllers/nova/ directory - Relocating test files to test/functional/nova/ and test/kuttl/nova/ - Updating all import paths and references throughout the codebase - Modifying build and configuration files to work with new structure This restructuring prepares the operator to support multiple API groups, which is required to merge placement-operator codebase into nova-operator Commit message assisted by: claude-4-sonnet Related: OSPRH-14957 --- .github/workflows/lints.yaml | 2 +- Makefile | 24 ++++++++-------- PROJECT | 21 ++++++++------ .../bases/nova.openstack.org_nova.yaml | 0 .../bases/nova.openstack.org_novaapis.yaml | 0 .../bases/nova.openstack.org_novacells.yaml | 0 .../nova.openstack.org_novacomputes.yaml | 0 .../nova.openstack.org_novaconductors.yaml | 0 .../nova.openstack.org_novametadata.yaml | 0 .../nova.openstack.org_novanovncproxies.yaml | 0 .../nova.openstack.org_novaschedulers.yaml | 0 {api => apis}/go.mod | 2 +- {api => apis}/go.sum | 0 {api => apis/nova}/v1beta1/common_types.go | 0 {api => apis/nova}/v1beta1/common_webhook.go | 0 {api => apis/nova}/v1beta1/conditions.go | 0 .../nova}/v1beta1/groupversion_info.go | 0 {api => apis/nova}/v1beta1/nova_types.go | 0 {api => apis/nova}/v1beta1/nova_webhook.go | 0 {api => apis/nova}/v1beta1/novaapi_types.go | 0 {api => apis/nova}/v1beta1/novaapi_webhook.go | 0 {api => apis/nova}/v1beta1/novacell_types.go | 0 .../nova}/v1beta1/novacell_webhook.go | 0 .../nova}/v1beta1/novacompute_types.go | 0 .../nova}/v1beta1/novacompute_webhook.go | 0 .../nova}/v1beta1/novaconductor_types.go | 0 .../nova}/v1beta1/novaconductor_webhook.go | 0 .../nova}/v1beta1/novametadata_types.go | 0 .../nova}/v1beta1/novametadata_webhook.go | 0 .../nova}/v1beta1/novanovncproxy_types.go | 0 .../nova}/v1beta1/novanovncproxy_webhook.go | 0 .../nova}/v1beta1/novascheduler_types.go | 0 .../nova}/v1beta1/novascheduler_webhook.go | 0 .../nova}/v1beta1/zz_generated.deepcopy.go | 0 config/crd/kustomization.yaml | 28 +++++++++---------- ...ova.yaml => cainjection_in_nova_nova.yaml} | 0 ...yaml => cainjection_in_nova_novaapis.yaml} | 0 ...aml => cainjection_in_nova_novacells.yaml} | 0 ... => cainjection_in_nova_novacomputes.yaml} | 0 ...> cainjection_in_nova_novaconductors.yaml} | 0 ... => cainjection_in_nova_novametadata.yaml} | 0 ...cainjection_in_nova_novanovncproxies.yaml} | 0 ...> cainjection_in_nova_novaschedulers.yaml} | 0 ...in_nova.yaml => webhook_in_nova_nova.yaml} | 0 ...pis.yaml => webhook_in_nova_novaapis.yaml} | 0 ...ls.yaml => webhook_in_nova_novacells.yaml} | 0 ...yaml => webhook_in_nova_novacomputes.yaml} | 0 ...ml => webhook_in_nova_novaconductors.yaml} | 0 ...yaml => webhook_in_nova_novametadata.yaml} | 0 ... => webhook_in_nova_novanovncproxies.yaml} | 0 ...ml => webhook_in_nova_novaschedulers.yaml} | 0 controllers/{ => nova}/common.go | 2 +- controllers/{ => nova}/nova_controller.go | 2 +- controllers/{ => nova}/novaapi_controller.go | 2 +- controllers/{ => nova}/novacell_controller.go | 2 +- .../{ => nova}/novacompute_controller.go | 2 +- .../{ => nova}/novaconductor_controller.go | 2 +- .../{ => nova}/novametadata_controller.go | 2 +- .../{ => nova}/novanovncproxy_controller.go | 2 +- .../{ => nova}/novascheduler_controller.go | 2 +- go.mod | 4 +-- main.go | 6 ++-- pkg/nova/celldelete.go | 2 +- pkg/nova/cellmapping.go | 2 +- pkg/nova/host_discover.go | 2 +- pkg/novaapi/deployment.go | 2 +- pkg/novacompute/deployment.go | 2 +- pkg/novaconductor/dbpurge.go | 2 +- pkg/novaconductor/dbsync.go | 2 +- pkg/novaconductor/deployment.go | 2 +- pkg/novametadata/deployment.go | 2 +- pkg/novascheduler/deployment.go | 2 +- pkg/novncproxy/deployment.go | 2 +- test/functional/{ => nova}/api_fixture.go | 0 test/functional/{ => nova}/base_test.go | 2 +- .../nova_compute_ironic_controller_test.go | 2 +- .../{ => nova}/nova_controller_test.go | 10 +++---- .../nova_metadata_controller_test.go | 2 +- .../{ => nova}/nova_multicell_test.go | 12 ++++---- .../{ => nova}/nova_novncproxy_test.go | 2 +- .../{ => nova}/nova_reconfiguration_test.go | 2 +- .../{ => nova}/nova_scheduler_test.go | 2 +- .../{ => nova}/novaapi_controller_test.go | 2 +- .../{ => nova}/novacell_controller_test.go | 2 +- .../novaconductor_controller_test.go | 2 +- test/functional/{ => nova}/sample_test.go | 2 +- test/functional/{ => nova}/suite_test.go | 12 ++++---- .../{ => nova}/validation_webhook_test.go | 0 .../default/cell-tests/00-cleanup-nova.yaml | 0 .../default/cell-tests/01-assert.yaml | 0 .../default/cell-tests/01-deploy.yaml | 0 .../default/cell-tests/02-assert.yaml | 0 .../cell-tests/02-delete-cell-nova.yaml | 0 .../default/cell-tests/03-cleanup-nova.yaml | 0 .../default/common/cleanup-nova.yaml | 0 .../default/config-tests/00-cleanup-nova.yaml | 0 .../default/config-tests/01-assert.yaml | 0 ...-deploy-with-default-config-overwrite.yaml | 0 .../default/config-tests/02-assert.yaml | 0 .../config-tests/02-enable-notifications.yaml | 0 .../default/config-tests/03-cleanup-nova.yaml | 0 .../test-suites/default/config.yaml | 0 .../default/deps/OpenStackControlPlane.yaml | 0 .../test-suites/default/deps/infra.yaml | 0 .../test-suites/default/deps/keystone.yaml | 0 .../default/deps/kustomization.yaml | 0 .../test-suites/default/deps/namespace.yaml | 0 .../test-suites/default/deps/nova.yaml | 0 .../test-suites/default/deps/placement.yaml | 0 .../test-suites/default/output/.keep | 0 .../default/scale-tests/00-cleanup-nova.yaml | 0 .../default/scale-tests/01-assert.yaml | 0 .../default/scale-tests/01-deploy.yaml | 0 .../default/scale-tests/02-assert.yaml | 0 .../default/scale-tests/02-scale-up-nova.yaml | 0 .../default/scale-tests/03-assert.yaml | 0 .../scale-tests/03-scale-down-nova.yaml | 0 .../default/scale-tests/04-assert.yaml | 0 .../scale-tests/04-scale-down-zero-nova.yaml | 0 .../default/scale-tests/05-cleanup-nova.yaml | 0 120 files changed, 93 insertions(+), 88 deletions(-) rename {api => apis}/bases/nova.openstack.org_nova.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novaapis.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novacells.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novacomputes.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novaconductors.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novametadata.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novanovncproxies.yaml (100%) rename {api => apis}/bases/nova.openstack.org_novaschedulers.yaml (100%) rename {api => apis}/go.mod (98%) rename {api => apis}/go.sum (100%) rename {api => apis/nova}/v1beta1/common_types.go (100%) rename {api => apis/nova}/v1beta1/common_webhook.go (100%) rename {api => apis/nova}/v1beta1/conditions.go (100%) rename {api => apis/nova}/v1beta1/groupversion_info.go (100%) rename {api => apis/nova}/v1beta1/nova_types.go (100%) rename {api => apis/nova}/v1beta1/nova_webhook.go (100%) rename {api => apis/nova}/v1beta1/novaapi_types.go (100%) rename {api => apis/nova}/v1beta1/novaapi_webhook.go (100%) rename {api => apis/nova}/v1beta1/novacell_types.go (100%) rename {api => apis/nova}/v1beta1/novacell_webhook.go (100%) rename {api => apis/nova}/v1beta1/novacompute_types.go (100%) rename {api => apis/nova}/v1beta1/novacompute_webhook.go (100%) rename {api => apis/nova}/v1beta1/novaconductor_types.go (100%) rename {api => apis/nova}/v1beta1/novaconductor_webhook.go (100%) rename {api => apis/nova}/v1beta1/novametadata_types.go (100%) rename {api => apis/nova}/v1beta1/novametadata_webhook.go (100%) rename {api => apis/nova}/v1beta1/novanovncproxy_types.go (100%) rename {api => apis/nova}/v1beta1/novanovncproxy_webhook.go (100%) rename {api => apis/nova}/v1beta1/novascheduler_types.go (100%) rename {api => apis/nova}/v1beta1/novascheduler_webhook.go (100%) rename {api => apis/nova}/v1beta1/zz_generated.deepcopy.go (100%) rename config/crd/patches/{cainjection_in_nova.yaml => cainjection_in_nova_nova.yaml} (100%) rename config/crd/patches/{cainjection_in_novaapis.yaml => cainjection_in_nova_novaapis.yaml} (100%) rename config/crd/patches/{cainjection_in_novacells.yaml => cainjection_in_nova_novacells.yaml} (100%) rename config/crd/patches/{cainjection_in_novacomputes.yaml => cainjection_in_nova_novacomputes.yaml} (100%) rename config/crd/patches/{cainjection_in_novaconductors.yaml => cainjection_in_nova_novaconductors.yaml} (100%) rename config/crd/patches/{cainjection_in_novametadata.yaml => cainjection_in_nova_novametadata.yaml} (100%) rename config/crd/patches/{cainjection_in_novanovncproxies.yaml => cainjection_in_nova_novanovncproxies.yaml} (100%) rename config/crd/patches/{cainjection_in_novaschedulers.yaml => cainjection_in_nova_novaschedulers.yaml} (100%) rename config/crd/patches/{webhook_in_nova.yaml => webhook_in_nova_nova.yaml} (100%) rename config/crd/patches/{webhook_in_novaapis.yaml => webhook_in_nova_novaapis.yaml} (100%) rename config/crd/patches/{webhook_in_novacells.yaml => webhook_in_nova_novacells.yaml} (100%) rename config/crd/patches/{webhook_in_novacomputes.yaml => webhook_in_nova_novacomputes.yaml} (100%) rename config/crd/patches/{webhook_in_novaconductors.yaml => webhook_in_nova_novaconductors.yaml} (100%) rename config/crd/patches/{webhook_in_novametadata.yaml => webhook_in_nova_novametadata.yaml} (100%) rename config/crd/patches/{webhook_in_novanovncproxies.yaml => webhook_in_nova_novanovncproxies.yaml} (100%) rename config/crd/patches/{webhook_in_novaschedulers.yaml => webhook_in_nova_novaschedulers.yaml} (100%) rename controllers/{ => nova}/common.go (99%) rename controllers/{ => nova}/nova_controller.go (99%) rename controllers/{ => nova}/novaapi_controller.go (99%) rename controllers/{ => nova}/novacell_controller.go (99%) rename controllers/{ => nova}/novacompute_controller.go (99%) rename controllers/{ => nova}/novaconductor_controller.go (99%) rename controllers/{ => nova}/novametadata_controller.go (99%) rename controllers/{ => nova}/novanovncproxy_controller.go (99%) rename controllers/{ => nova}/novascheduler_controller.go (99%) rename test/functional/{ => nova}/api_fixture.go (100%) rename test/functional/{ => nova}/base_test.go (99%) rename test/functional/{ => nova}/nova_compute_ironic_controller_test.go (99%) rename test/functional/{ => nova}/nova_controller_test.go (99%) rename test/functional/{ => nova}/nova_metadata_controller_test.go (99%) rename test/functional/{ => nova}/nova_multicell_test.go (98%) rename test/functional/{ => nova}/nova_novncproxy_test.go (99%) rename test/functional/{ => nova}/nova_reconfiguration_test.go (99%) rename test/functional/{ => nova}/nova_scheduler_test.go (99%) rename test/functional/{ => nova}/novaapi_controller_test.go (99%) rename test/functional/{ => nova}/novacell_controller_test.go (99%) rename test/functional/{ => nova}/novaconductor_controller_test.go (99%) rename test/functional/{ => nova}/sample_test.go (99%) rename test/functional/{ => nova}/suite_test.go (96%) rename test/functional/{ => nova}/validation_webhook_test.go (100%) rename test/kuttl/{ => nova}/test-suites/default/cell-tests/00-cleanup-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/cell-tests/01-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/cell-tests/01-deploy.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/cell-tests/02-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/cell-tests/02-delete-cell-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/cell-tests/03-cleanup-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/common/cleanup-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config-tests/00-cleanup-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config-tests/01-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config-tests/01-deploy-with-default-config-overwrite.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config-tests/02-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config-tests/02-enable-notifications.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config-tests/03-cleanup-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/config.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/OpenStackControlPlane.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/infra.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/keystone.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/kustomization.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/namespace.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/deps/placement.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/output/.keep (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/00-cleanup-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/01-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/01-deploy.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/02-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/02-scale-up-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/03-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/03-scale-down-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/04-assert.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/04-scale-down-zero-nova.yaml (100%) rename test/kuttl/{ => nova}/test-suites/default/scale-tests/05-cleanup-nova.yaml (100%) diff --git a/.github/workflows/lints.yaml b/.github/workflows/lints.yaml index 8a44aa52b..08a125575 100644 --- a/.github/workflows/lints.yaml +++ b/.github/workflows/lints.yaml @@ -11,4 +11,4 @@ jobs: uses: actions/checkout@v2 - name: check for replace lines in go.mod files run: | - ! egrep --invert-match -e '^replace.*/api => \./api|^replace.*//allow-merging$' `find . -name 'go.mod'` | egrep -e 'go.mod:replace' + ! egrep --invert-match -e '^replace.*/apis => \./apis|^replace.*//allow-merging$' `find . -name 'go.mod'` | egrep -e 'go.mod:replace' diff --git a/Makefile b/Makefile index 1bb5f22e3..ee7b8a4b2 100644 --- a/Makefile +++ b/Makefile @@ -113,7 +113,7 @@ docker-buildx: ## Build and push docker image for the manager for cross-platform .PHONY: manifests manifests: gowork controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases && \ - rm -f api/bases/* && cp -a config/crd/bases api/ + rm -f apis/bases/* && cp -a config/crd/bases apis/ .PHONY: generate generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. @@ -126,13 +126,13 @@ fmt: ## Run go fmt against code. .PHONY: vet vet: gowork ## Run go vet against code. go vet ./... - go vet ./api/... + go vet ./apis/... .PHONY: tidy tidy: ## Run go mod tidy on every mod file in the repo go mod tidy - cd ./api && go mod tidy + cd ./apis && go mod tidy .PHONY: golangci-lint golangci-lint: @@ -147,7 +147,7 @@ PROC_CMD = --procs ${PROCS} test: manifests generate fmt vet envtest ginkgo ## Run tests. KUBEBUILDER_ASSETS="$(shell $(ENVTEST) -v debug --bin-dir $(LOCALBIN) use $(ENVTEST_K8S_VERSION) -p path)" \ OPERATOR_TEMPLATES="$(PWD)/templates" \ - $(GINKGO) --trace --cover --coverpkg=../../pkg/...,../../controllers,../../api/v1beta1 --coverprofile cover.out --covermode=atomic --randomize-all ${PROC_CMD} $(GINKGO_ARGS) ./test/... + $(GINKGO) --trace --cover --coverpkg=../../pkg/...,../../controllers,../../apis/nova/v1beta1 --coverprofile cover.out --covermode=atomic --randomize-all ${PROC_CMD} $(GINKGO_ARGS) ./test/... ##@ Build @@ -333,12 +333,12 @@ get-ci-tools: # Run go fmt against code gofmt: get-ci-tools $(CI_TOOLS_REPO_DIR)/test-runner/gofmt.sh - $(CI_TOOLS_REPO_DIR)/test-runner/gofmt.sh ./api + $(CI_TOOLS_REPO_DIR)/test-runner/gofmt.sh ./apis # Run go vet against code govet: get-ci-tools GOWORK=off $(CI_TOOLS_REPO_DIR)/test-runner/govet.sh - GOWORK=off $(CI_TOOLS_REPO_DIR)/test-runner/govet.sh ./api + GOWORK=off $(CI_TOOLS_REPO_DIR)/test-runner/govet.sh ./apis # Run go test against code gotest: test @@ -346,23 +346,23 @@ gotest: test # Run golangci-lint test against code golangci: get-ci-tools GOWORK=off $(CI_TOOLS_REPO_DIR)/test-runner/golangci.sh - GOWORK=off $(CI_TOOLS_REPO_DIR)/test-runner/golangci.sh ./api + GOWORK=off $(CI_TOOLS_REPO_DIR)/test-runner/golangci.sh ./apis # Run go lint against code golint: get-ci-tools export GOWORK=off && PATH=$(GOBIN):$(PATH); $(CI_TOOLS_REPO_DIR)/test-runner/golint.sh - export GOWORK=off && PATH=$(GOBIN):$(PATH); $(CI_TOOLS_REPO_DIR)/test-runner/golint.sh ./api + export GOWORK=off && PATH=$(GOBIN):$(PATH); $(CI_TOOLS_REPO_DIR)/test-runner/golint.sh ./apis .PHONY: operator-lint operator-lint: $(LOCALBIN) gowork ## Runs operator-lint GOBIN=$(LOCALBIN) go install github.com/gibizer/operator-lint@v0.5.0 - go vet -vettool=$(LOCALBIN)/operator-lint ./... ./api/... + go vet -vettool=$(LOCALBIN)/operator-lint ./... ./apis/... .PHONY: gowork gowork: ## Generate go.work file test -f go.work || GOTOOLCHAIN=$(GOTOOLCHAIN_VERSION) go work init go work use . - go work use ./api + go work use ./apis go work sync OPERATOR_NAMESPACE ?= openstack-operators @@ -431,8 +431,8 @@ force-bump: ## Force bump operator and lib-common dependencies for dep in $$(cat go.mod | grep openstack-k8s-operators | grep -vE -- 'indirect|nova-operator|^replace' | awk '{print $$1}'); do \ go get $$dep@$(BRANCH) ; \ done - for dep in $$(cat api/go.mod | grep openstack-k8s-operators | grep -vE -- 'indirect|nova-operator|^replace' | awk '{print $$1}'); do \ - cd ./api && go get $$dep@$(BRANCH) && cd .. ; \ + for dep in $$(cat apis/go.mod | grep openstack-k8s-operators | grep -vE -- 'indirect|nova-operator|^replace' | awk '{print $$1}'); do \ + cd ./apis && go get $$dep@$(BRANCH) && cd .. ; \ done PHONY: crd-schema-check diff --git a/PROJECT b/PROJECT index 89c2c00a5..e09f55324 100644 --- a/PROJECT +++ b/PROJECT @@ -1,6 +1,11 @@ +# Code generated by tool. DO NOT EDIT. +# This file is used to track the info used to scaffold your project +# and allow the plugins properly work. +# More info: https://book.kubebuilder.io/reference/project-config.html domain: openstack.org layout: - go.kubebuilder.io/v3 +multigroup: true plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {} @@ -14,7 +19,7 @@ resources: domain: openstack.org group: nova kind: NovaAPI - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -27,7 +32,7 @@ resources: domain: openstack.org group: nova kind: NovaScheduler - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -40,7 +45,7 @@ resources: domain: openstack.org group: nova kind: NovaConductor - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -53,7 +58,7 @@ resources: domain: openstack.org group: nova kind: NovaMetadata - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -66,7 +71,7 @@ resources: domain: openstack.org group: nova kind: NovaNoVNCProxy - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -79,7 +84,7 @@ resources: domain: openstack.org group: nova kind: NovaCell - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -92,7 +97,7 @@ resources: domain: openstack.org group: nova kind: Nova - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true @@ -105,7 +110,7 @@ resources: domain: openstack.org group: nova kind: NovaCompute - path: github.com/openstack-k8s-operators/nova-operator/api/v1beta1 + path: github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1 version: v1beta1 webhooks: defaulting: true diff --git a/api/bases/nova.openstack.org_nova.yaml b/apis/bases/nova.openstack.org_nova.yaml similarity index 100% rename from api/bases/nova.openstack.org_nova.yaml rename to apis/bases/nova.openstack.org_nova.yaml diff --git a/api/bases/nova.openstack.org_novaapis.yaml b/apis/bases/nova.openstack.org_novaapis.yaml similarity index 100% rename from api/bases/nova.openstack.org_novaapis.yaml rename to apis/bases/nova.openstack.org_novaapis.yaml diff --git a/api/bases/nova.openstack.org_novacells.yaml b/apis/bases/nova.openstack.org_novacells.yaml similarity index 100% rename from api/bases/nova.openstack.org_novacells.yaml rename to apis/bases/nova.openstack.org_novacells.yaml diff --git a/api/bases/nova.openstack.org_novacomputes.yaml b/apis/bases/nova.openstack.org_novacomputes.yaml similarity index 100% rename from api/bases/nova.openstack.org_novacomputes.yaml rename to apis/bases/nova.openstack.org_novacomputes.yaml diff --git a/api/bases/nova.openstack.org_novaconductors.yaml b/apis/bases/nova.openstack.org_novaconductors.yaml similarity index 100% rename from api/bases/nova.openstack.org_novaconductors.yaml rename to apis/bases/nova.openstack.org_novaconductors.yaml diff --git a/api/bases/nova.openstack.org_novametadata.yaml b/apis/bases/nova.openstack.org_novametadata.yaml similarity index 100% rename from api/bases/nova.openstack.org_novametadata.yaml rename to apis/bases/nova.openstack.org_novametadata.yaml diff --git a/api/bases/nova.openstack.org_novanovncproxies.yaml b/apis/bases/nova.openstack.org_novanovncproxies.yaml similarity index 100% rename from api/bases/nova.openstack.org_novanovncproxies.yaml rename to apis/bases/nova.openstack.org_novanovncproxies.yaml diff --git a/api/bases/nova.openstack.org_novaschedulers.yaml b/apis/bases/nova.openstack.org_novaschedulers.yaml similarity index 100% rename from api/bases/nova.openstack.org_novaschedulers.yaml rename to apis/bases/nova.openstack.org_novaschedulers.yaml diff --git a/api/go.mod b/apis/go.mod similarity index 98% rename from api/go.mod rename to apis/go.mod index f04888d39..dabf6468e 100644 --- a/api/go.mod +++ b/apis/go.mod @@ -1,4 +1,4 @@ -module github.com/openstack-k8s-operators/nova-operator/api +module github.com/openstack-k8s-operators/nova-operator/apis go 1.21 diff --git a/api/go.sum b/apis/go.sum similarity index 100% rename from api/go.sum rename to apis/go.sum diff --git a/api/v1beta1/common_types.go b/apis/nova/v1beta1/common_types.go similarity index 100% rename from api/v1beta1/common_types.go rename to apis/nova/v1beta1/common_types.go diff --git a/api/v1beta1/common_webhook.go b/apis/nova/v1beta1/common_webhook.go similarity index 100% rename from api/v1beta1/common_webhook.go rename to apis/nova/v1beta1/common_webhook.go diff --git a/api/v1beta1/conditions.go b/apis/nova/v1beta1/conditions.go similarity index 100% rename from api/v1beta1/conditions.go rename to apis/nova/v1beta1/conditions.go diff --git a/api/v1beta1/groupversion_info.go b/apis/nova/v1beta1/groupversion_info.go similarity index 100% rename from api/v1beta1/groupversion_info.go rename to apis/nova/v1beta1/groupversion_info.go diff --git a/api/v1beta1/nova_types.go b/apis/nova/v1beta1/nova_types.go similarity index 100% rename from api/v1beta1/nova_types.go rename to apis/nova/v1beta1/nova_types.go diff --git a/api/v1beta1/nova_webhook.go b/apis/nova/v1beta1/nova_webhook.go similarity index 100% rename from api/v1beta1/nova_webhook.go rename to apis/nova/v1beta1/nova_webhook.go diff --git a/api/v1beta1/novaapi_types.go b/apis/nova/v1beta1/novaapi_types.go similarity index 100% rename from api/v1beta1/novaapi_types.go rename to apis/nova/v1beta1/novaapi_types.go diff --git a/api/v1beta1/novaapi_webhook.go b/apis/nova/v1beta1/novaapi_webhook.go similarity index 100% rename from api/v1beta1/novaapi_webhook.go rename to apis/nova/v1beta1/novaapi_webhook.go diff --git a/api/v1beta1/novacell_types.go b/apis/nova/v1beta1/novacell_types.go similarity index 100% rename from api/v1beta1/novacell_types.go rename to apis/nova/v1beta1/novacell_types.go diff --git a/api/v1beta1/novacell_webhook.go b/apis/nova/v1beta1/novacell_webhook.go similarity index 100% rename from api/v1beta1/novacell_webhook.go rename to apis/nova/v1beta1/novacell_webhook.go diff --git a/api/v1beta1/novacompute_types.go b/apis/nova/v1beta1/novacompute_types.go similarity index 100% rename from api/v1beta1/novacompute_types.go rename to apis/nova/v1beta1/novacompute_types.go diff --git a/api/v1beta1/novacompute_webhook.go b/apis/nova/v1beta1/novacompute_webhook.go similarity index 100% rename from api/v1beta1/novacompute_webhook.go rename to apis/nova/v1beta1/novacompute_webhook.go diff --git a/api/v1beta1/novaconductor_types.go b/apis/nova/v1beta1/novaconductor_types.go similarity index 100% rename from api/v1beta1/novaconductor_types.go rename to apis/nova/v1beta1/novaconductor_types.go diff --git a/api/v1beta1/novaconductor_webhook.go b/apis/nova/v1beta1/novaconductor_webhook.go similarity index 100% rename from api/v1beta1/novaconductor_webhook.go rename to apis/nova/v1beta1/novaconductor_webhook.go diff --git a/api/v1beta1/novametadata_types.go b/apis/nova/v1beta1/novametadata_types.go similarity index 100% rename from api/v1beta1/novametadata_types.go rename to apis/nova/v1beta1/novametadata_types.go diff --git a/api/v1beta1/novametadata_webhook.go b/apis/nova/v1beta1/novametadata_webhook.go similarity index 100% rename from api/v1beta1/novametadata_webhook.go rename to apis/nova/v1beta1/novametadata_webhook.go diff --git a/api/v1beta1/novanovncproxy_types.go b/apis/nova/v1beta1/novanovncproxy_types.go similarity index 100% rename from api/v1beta1/novanovncproxy_types.go rename to apis/nova/v1beta1/novanovncproxy_types.go diff --git a/api/v1beta1/novanovncproxy_webhook.go b/apis/nova/v1beta1/novanovncproxy_webhook.go similarity index 100% rename from api/v1beta1/novanovncproxy_webhook.go rename to apis/nova/v1beta1/novanovncproxy_webhook.go diff --git a/api/v1beta1/novascheduler_types.go b/apis/nova/v1beta1/novascheduler_types.go similarity index 100% rename from api/v1beta1/novascheduler_types.go rename to apis/nova/v1beta1/novascheduler_types.go diff --git a/api/v1beta1/novascheduler_webhook.go b/apis/nova/v1beta1/novascheduler_webhook.go similarity index 100% rename from api/v1beta1/novascheduler_webhook.go rename to apis/nova/v1beta1/novascheduler_webhook.go diff --git a/api/v1beta1/zz_generated.deepcopy.go b/apis/nova/v1beta1/zz_generated.deepcopy.go similarity index 100% rename from api/v1beta1/zz_generated.deepcopy.go rename to apis/nova/v1beta1/zz_generated.deepcopy.go diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml index 3541ef6b4..fac92d16a 100644 --- a/config/crd/kustomization.yaml +++ b/config/crd/kustomization.yaml @@ -15,24 +15,24 @@ resources: patches: # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. # patches here are for enabling the conversion webhook for each CRD -#- path: patches/webhook_in_novaapis.yaml -#- path: patches/webhook_in_novaschedulers.yaml -#- path: patches/webhook_in_novaconductors.yaml -#- path: patches/webhook_in_novametadata.yaml -#- path: patches/webhook_in_novanovncproxies.yaml -#- path: patches/webhook_in_novacells.yaml -#- path: patches/webhook_in_nova.yaml +#- path: patches/webhook_in_nova_novaapis.yaml +#- path: patches/webhook_in_nova_novaschedulers.yaml +#- path: patches/webhook_in_nova_novaconductors.yaml +#- path: patches/webhook_in_nova_novametadata.yaml +#- path: patches/webhook_in_nova_novanovncproxies.yaml +#- path: patches/webhook_in_nova_novacells.yaml +#- path: patches/webhook_in_nova_nova.yaml #+kubebuilder:scaffold:crdkustomizewebhookpatch # [CERTMANAGER] To enable cert-manager, uncomment all the sections with [CERTMANAGER] prefix. # patches here are for enabling the CA injection for each CRD -#- path: patches/cainjection_in_novaapis.yaml -#- path: patches/cainjection_in_novaschedulers.yaml -#- path: patches/cainjection_in_novaconductors.yaml -#- path: patches/cainjection_in_novametadata.yaml -#- path: patches/cainjection_in_novanovncproxies.yaml -#- path: patches/cainjection_in_novacells.yaml -#- path: patches/cainjection_in_nova.yaml +#- path: patches/cainjection_in_nova_novaapis.yaml +#- path: patches/cainjection_in_nova_novaschedulers.yaml +#- path: patches/cainjection_in_nova_novaconductors.yaml +#- path: patches/cainjection_in_nova_novametadata.yaml +#- path: patches/cainjection_in_nova_novanovncproxies.yaml +#- path: patches/cainjection_in_nova_novacells.yaml +#- path: patches/cainjection_in_nova_nova.yaml #+kubebuilder:scaffold:crdkustomizecainjectionpatch # the following config is for teaching kustomize how to do kustomization for CRDs. diff --git a/config/crd/patches/cainjection_in_nova.yaml b/config/crd/patches/cainjection_in_nova_nova.yaml similarity index 100% rename from config/crd/patches/cainjection_in_nova.yaml rename to config/crd/patches/cainjection_in_nova_nova.yaml diff --git a/config/crd/patches/cainjection_in_novaapis.yaml b/config/crd/patches/cainjection_in_nova_novaapis.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novaapis.yaml rename to config/crd/patches/cainjection_in_nova_novaapis.yaml diff --git a/config/crd/patches/cainjection_in_novacells.yaml b/config/crd/patches/cainjection_in_nova_novacells.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novacells.yaml rename to config/crd/patches/cainjection_in_nova_novacells.yaml diff --git a/config/crd/patches/cainjection_in_novacomputes.yaml b/config/crd/patches/cainjection_in_nova_novacomputes.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novacomputes.yaml rename to config/crd/patches/cainjection_in_nova_novacomputes.yaml diff --git a/config/crd/patches/cainjection_in_novaconductors.yaml b/config/crd/patches/cainjection_in_nova_novaconductors.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novaconductors.yaml rename to config/crd/patches/cainjection_in_nova_novaconductors.yaml diff --git a/config/crd/patches/cainjection_in_novametadata.yaml b/config/crd/patches/cainjection_in_nova_novametadata.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novametadata.yaml rename to config/crd/patches/cainjection_in_nova_novametadata.yaml diff --git a/config/crd/patches/cainjection_in_novanovncproxies.yaml b/config/crd/patches/cainjection_in_nova_novanovncproxies.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novanovncproxies.yaml rename to config/crd/patches/cainjection_in_nova_novanovncproxies.yaml diff --git a/config/crd/patches/cainjection_in_novaschedulers.yaml b/config/crd/patches/cainjection_in_nova_novaschedulers.yaml similarity index 100% rename from config/crd/patches/cainjection_in_novaschedulers.yaml rename to config/crd/patches/cainjection_in_nova_novaschedulers.yaml diff --git a/config/crd/patches/webhook_in_nova.yaml b/config/crd/patches/webhook_in_nova_nova.yaml similarity index 100% rename from config/crd/patches/webhook_in_nova.yaml rename to config/crd/patches/webhook_in_nova_nova.yaml diff --git a/config/crd/patches/webhook_in_novaapis.yaml b/config/crd/patches/webhook_in_nova_novaapis.yaml similarity index 100% rename from config/crd/patches/webhook_in_novaapis.yaml rename to config/crd/patches/webhook_in_nova_novaapis.yaml diff --git a/config/crd/patches/webhook_in_novacells.yaml b/config/crd/patches/webhook_in_nova_novacells.yaml similarity index 100% rename from config/crd/patches/webhook_in_novacells.yaml rename to config/crd/patches/webhook_in_nova_novacells.yaml diff --git a/config/crd/patches/webhook_in_novacomputes.yaml b/config/crd/patches/webhook_in_nova_novacomputes.yaml similarity index 100% rename from config/crd/patches/webhook_in_novacomputes.yaml rename to config/crd/patches/webhook_in_nova_novacomputes.yaml diff --git a/config/crd/patches/webhook_in_novaconductors.yaml b/config/crd/patches/webhook_in_nova_novaconductors.yaml similarity index 100% rename from config/crd/patches/webhook_in_novaconductors.yaml rename to config/crd/patches/webhook_in_nova_novaconductors.yaml diff --git a/config/crd/patches/webhook_in_novametadata.yaml b/config/crd/patches/webhook_in_nova_novametadata.yaml similarity index 100% rename from config/crd/patches/webhook_in_novametadata.yaml rename to config/crd/patches/webhook_in_nova_novametadata.yaml diff --git a/config/crd/patches/webhook_in_novanovncproxies.yaml b/config/crd/patches/webhook_in_nova_novanovncproxies.yaml similarity index 100% rename from config/crd/patches/webhook_in_novanovncproxies.yaml rename to config/crd/patches/webhook_in_nova_novanovncproxies.yaml diff --git a/config/crd/patches/webhook_in_novaschedulers.yaml b/config/crd/patches/webhook_in_nova_novaschedulers.yaml similarity index 100% rename from config/crd/patches/webhook_in_novaschedulers.yaml rename to config/crd/patches/webhook_in_nova_novaschedulers.yaml diff --git a/controllers/common.go b/controllers/nova/common.go similarity index 99% rename from controllers/common.go rename to controllers/nova/common.go index b8998c63d..7672ccbf7 100644 --- a/controllers/common.go +++ b/controllers/nova/common.go @@ -37,7 +37,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/log" memcachedv1 "github.com/openstack-k8s-operators/infra-operator/apis/memcached/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" gophercloud "github.com/gophercloud/gophercloud" diff --git a/controllers/nova_controller.go b/controllers/nova/nova_controller.go similarity index 99% rename from controllers/nova_controller.go rename to controllers/nova/nova_controller.go index a37375b42..9cf4c3fd9 100644 --- a/controllers/nova_controller.go +++ b/controllers/nova/nova_controller.go @@ -53,7 +53,7 @@ import ( "github.com/openstack-k8s-operators/lib-common/modules/common/tls" util "github.com/openstack-k8s-operators/lib-common/modules/common/util" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" "github.com/openstack-k8s-operators/nova-operator/pkg/novaapi" diff --git a/controllers/novaapi_controller.go b/controllers/nova/novaapi_controller.go similarity index 99% rename from controllers/novaapi_controller.go rename to controllers/nova/novaapi_controller.go index 731c46e13..465596a5a 100644 --- a/controllers/novaapi_controller.go +++ b/controllers/nova/novaapi_controller.go @@ -52,7 +52,7 @@ import ( topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" "github.com/openstack-k8s-operators/nova-operator/pkg/novaapi" diff --git a/controllers/novacell_controller.go b/controllers/nova/novacell_controller.go similarity index 99% rename from controllers/novacell_controller.go rename to controllers/nova/novacell_controller.go index 08f5625ef..41eb8334c 100644 --- a/controllers/novacell_controller.go +++ b/controllers/nova/novacell_controller.go @@ -46,7 +46,7 @@ import ( util "github.com/openstack-k8s-operators/lib-common/modules/common/util" topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" ) // NovaCellReconciler reconciles a NovaCell object diff --git a/controllers/novacompute_controller.go b/controllers/nova/novacompute_controller.go similarity index 99% rename from controllers/novacompute_controller.go rename to controllers/nova/novacompute_controller.go index a21e25d1b..8eafd811a 100644 --- a/controllers/novacompute_controller.go +++ b/controllers/nova/novacompute_controller.go @@ -46,7 +46,7 @@ import ( "github.com/openstack-k8s-operators/lib-common/modules/common/tls" util "github.com/openstack-k8s-operators/lib-common/modules/common/util" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" "github.com/openstack-k8s-operators/nova-operator/pkg/novacompute" diff --git a/controllers/novaconductor_controller.go b/controllers/nova/novaconductor_controller.go similarity index 99% rename from controllers/novaconductor_controller.go rename to controllers/nova/novaconductor_controller.go index f0bf4fa97..393298e21 100644 --- a/controllers/novaconductor_controller.go +++ b/controllers/nova/novaconductor_controller.go @@ -53,7 +53,7 @@ import ( "github.com/openstack-k8s-operators/lib-common/modules/common/tls" util "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/novaconductor" ) diff --git a/controllers/novametadata_controller.go b/controllers/nova/novametadata_controller.go similarity index 99% rename from controllers/novametadata_controller.go rename to controllers/nova/novametadata_controller.go index b58ed7747..20481539a 100644 --- a/controllers/novametadata_controller.go +++ b/controllers/nova/novametadata_controller.go @@ -52,7 +52,7 @@ import ( "github.com/openstack-k8s-operators/lib-common/modules/common/tls" util "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" "github.com/openstack-k8s-operators/nova-operator/pkg/novametadata" k8s_errors "k8s.io/apimachinery/pkg/api/errors" diff --git a/controllers/novanovncproxy_controller.go b/controllers/nova/novanovncproxy_controller.go similarity index 99% rename from controllers/novanovncproxy_controller.go rename to controllers/nova/novanovncproxy_controller.go index 8f76a78c0..68f90438e 100644 --- a/controllers/novanovncproxy_controller.go +++ b/controllers/nova/novanovncproxy_controller.go @@ -50,7 +50,7 @@ import ( "github.com/openstack-k8s-operators/lib-common/modules/common/tls" util "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" "github.com/openstack-k8s-operators/nova-operator/pkg/novncproxy" k8s_errors "k8s.io/apimachinery/pkg/api/errors" diff --git a/controllers/novascheduler_controller.go b/controllers/nova/novascheduler_controller.go similarity index 99% rename from controllers/novascheduler_controller.go rename to controllers/nova/novascheduler_controller.go index 6dbcdda0f..6ba700ba0 100644 --- a/controllers/novascheduler_controller.go +++ b/controllers/nova/novascheduler_controller.go @@ -51,7 +51,7 @@ import ( mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" "github.com/openstack-k8s-operators/nova-operator/pkg/novascheduler" ) diff --git a/go.mod b/go.mod index 01f144c56..83607aff6 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20250730071847-837b07f8d72f github.com/openstack-k8s-operators/lib-common/modules/test v0.6.1-0.20250730071847-837b07f8d72f github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20250811132527-8b60a24b4cd5 - github.com/openstack-k8s-operators/nova-operator/api v0.0.0-20221209164002-f9e6b9363961 + github.com/openstack-k8s-operators/nova-operator/apis v0.0.0-20221209164002-f9e6b9363961 go.uber.org/zap v1.27.0 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 gopkg.in/yaml.v3 v3.0.1 @@ -85,7 +85,7 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace github.com/openstack-k8s-operators/nova-operator/api => ./api +replace github.com/openstack-k8s-operators/nova-operator/apis => ./apis // mschuppert: map to latest commit from release-4.16 tag // must consistent within modules and service operators diff --git a/main.go b/main.go index e8f263661..dc6b8fc8c 100644 --- a/main.go +++ b/main.go @@ -51,9 +51,9 @@ import ( mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" - "github.com/openstack-k8s-operators/nova-operator/controllers" + nova_ctrl "github.com/openstack-k8s-operators/nova-operator/controllers/nova" //+kubebuilder:scaffold:imports ) @@ -145,7 +145,7 @@ func main() { os.Exit(1) } - reconcilers := controllers.NewReconcilers(mgr, kclient) + reconcilers := nova_ctrl.NewReconcilers(mgr, kclient) err = reconcilers.Setup(mgr, setupLog) if err != nil { os.Exit(1) diff --git a/pkg/nova/celldelete.go b/pkg/nova/celldelete.go index c6033ee23..e2d2b6548 100644 --- a/pkg/nova/celldelete.go +++ b/pkg/nova/celldelete.go @@ -7,7 +7,7 @@ import ( "k8s.io/utils/ptr" "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" ) func CellDeleteJob( diff --git a/pkg/nova/cellmapping.go b/pkg/nova/cellmapping.go index e5349e401..c88432320 100644 --- a/pkg/nova/cellmapping.go +++ b/pkg/nova/cellmapping.go @@ -7,7 +7,7 @@ import ( "k8s.io/utils/ptr" "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" ) func CellMappingJob( diff --git a/pkg/nova/host_discover.go b/pkg/nova/host_discover.go index 471316a24..464aec5a4 100644 --- a/pkg/nova/host_discover.go +++ b/pkg/nova/host_discover.go @@ -16,7 +16,7 @@ package nova import ( env "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" diff --git a/pkg/novaapi/deployment.go b/pkg/novaapi/deployment.go index 839afff25..9aa3c5ca3 100644 --- a/pkg/novaapi/deployment.go +++ b/pkg/novaapi/deployment.go @@ -24,7 +24,7 @@ import ( env "github.com/openstack-k8s-operators/lib-common/modules/common/env" "github.com/openstack-k8s-operators/lib-common/modules/common/service" "github.com/openstack-k8s-operators/lib-common/modules/common/tls" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" appsv1 "k8s.io/api/apps/v1" diff --git a/pkg/novacompute/deployment.go b/pkg/novacompute/deployment.go index e1abc922d..d076d1db2 100644 --- a/pkg/novacompute/deployment.go +++ b/pkg/novacompute/deployment.go @@ -20,7 +20,7 @@ import ( common "github.com/openstack-k8s-operators/lib-common/modules/common" affinity "github.com/openstack-k8s-operators/lib-common/modules/common/affinity" env "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" diff --git a/pkg/novaconductor/dbpurge.go b/pkg/novaconductor/dbpurge.go index 2c27bae83..c5d8a7c82 100644 --- a/pkg/novaconductor/dbpurge.go +++ b/pkg/novaconductor/dbpurge.go @@ -11,7 +11,7 @@ import ( memcachedv1 "github.com/openstack-k8s-operators/infra-operator/apis/memcached/v1beta1" "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" ) diff --git a/pkg/novaconductor/dbsync.go b/pkg/novaconductor/dbsync.go index ce8b31939..37d36084c 100644 --- a/pkg/novaconductor/dbsync.go +++ b/pkg/novaconductor/dbsync.go @@ -17,7 +17,7 @@ limitations under the License. package novaconductor import ( - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" env "github.com/openstack-k8s-operators/lib-common/modules/common/env" diff --git a/pkg/novaconductor/deployment.go b/pkg/novaconductor/deployment.go index 4cc73351b..e12d8d87d 100644 --- a/pkg/novaconductor/deployment.go +++ b/pkg/novaconductor/deployment.go @@ -22,7 +22,7 @@ import ( common "github.com/openstack-k8s-operators/lib-common/modules/common" affinity "github.com/openstack-k8s-operators/lib-common/modules/common/affinity" env "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" appsv1 "k8s.io/api/apps/v1" diff --git a/pkg/novametadata/deployment.go b/pkg/novametadata/deployment.go index 795c01dcb..3b9b0c863 100644 --- a/pkg/novametadata/deployment.go +++ b/pkg/novametadata/deployment.go @@ -22,7 +22,7 @@ import ( common "github.com/openstack-k8s-operators/lib-common/modules/common" affinity "github.com/openstack-k8s-operators/lib-common/modules/common/affinity" env "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" appsv1 "k8s.io/api/apps/v1" diff --git a/pkg/novascheduler/deployment.go b/pkg/novascheduler/deployment.go index ee0228a4c..bf3a1433a 100644 --- a/pkg/novascheduler/deployment.go +++ b/pkg/novascheduler/deployment.go @@ -20,7 +20,7 @@ import ( common "github.com/openstack-k8s-operators/lib-common/modules/common" affinity "github.com/openstack-k8s-operators/lib-common/modules/common/affinity" env "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" memcachedv1 "github.com/openstack-k8s-operators/infra-operator/apis/memcached/v1beta1" diff --git a/pkg/novncproxy/deployment.go b/pkg/novncproxy/deployment.go index c7c9b7613..15b94805e 100644 --- a/pkg/novncproxy/deployment.go +++ b/pkg/novncproxy/deployment.go @@ -22,7 +22,7 @@ import ( common "github.com/openstack-k8s-operators/lib-common/modules/common" affinity "github.com/openstack-k8s-operators/lib-common/modules/common/affinity" env "github.com/openstack-k8s-operators/lib-common/modules/common/env" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" "github.com/openstack-k8s-operators/nova-operator/pkg/nova" appsv1 "k8s.io/api/apps/v1" diff --git a/test/functional/api_fixture.go b/test/functional/nova/api_fixture.go similarity index 100% rename from test/functional/api_fixture.go rename to test/functional/nova/api_fixture.go diff --git a/test/functional/base_test.go b/test/functional/nova/base_test.go similarity index 99% rename from test/functional/base_test.go rename to test/functional/nova/base_test.go index f64e37b44..46c0ecbec 100644 --- a/test/functional/base_test.go +++ b/test/functional/nova/base_test.go @@ -36,7 +36,7 @@ import ( keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1" condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/test/functional/nova_compute_ironic_controller_test.go b/test/functional/nova/nova_compute_ironic_controller_test.go similarity index 99% rename from test/functional/nova_compute_ironic_controller_test.go rename to test/functional/nova/nova_compute_ironic_controller_test.go index f325f34e6..0a229cd4e 100644 --- a/test/functional/nova_compute_ironic_controller_test.go +++ b/test/functional/nova/nova_compute_ironic_controller_test.go @@ -32,7 +32,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" ) var _ = Describe("NovaCompute controller", func() { diff --git a/test/functional/nova_controller_test.go b/test/functional/nova/nova_controller_test.go similarity index 99% rename from test/functional/nova_controller_test.go rename to test/functional/nova/nova_controller_test.go index 0885d82d1..22bfe8be4 100644 --- a/test/functional/nova_controller_test.go +++ b/test/functional/nova/nova_controller_test.go @@ -34,8 +34,8 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" - "github.com/openstack-k8s-operators/nova-operator/controllers" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" + nova_ctrl "github.com/openstack-k8s-operators/nova-operator/controllers/nova" ) var _ = Describe("Nova controller - notifications", func() { @@ -360,7 +360,7 @@ var _ = Describe("Nova controller", func() { internalCellSecret := th.GetSecret(cell0.InternalCellSecretName) Expect(internalCellSecret.Data).To(HaveLen(3)) Expect(internalCellSecret.Data).To( - HaveKeyWithValue(controllers.ServicePasswordSelector, []byte("service-password"))) + HaveKeyWithValue(nova_ctrl.ServicePasswordSelector, []byte("service-password"))) Expect(internalCellSecret.Data).To( HaveKeyWithValue("transport_url", []byte("rabbit://cell0/fake"))) Expect(internalCellSecret.Data).To( @@ -476,9 +476,9 @@ var _ = Describe("Nova controller", func() { internalTopLevelSecret := th.GetSecret(novaNames.InternalTopLevelSecretName) Expect(internalTopLevelSecret.Data).To(HaveLen(4)) Expect(internalTopLevelSecret.Data).To( - HaveKeyWithValue(controllers.ServicePasswordSelector, []byte("service-password"))) + HaveKeyWithValue(nova_ctrl.ServicePasswordSelector, []byte("service-password"))) Expect(internalTopLevelSecret.Data).To( - HaveKeyWithValue(controllers.MetadataSecretSelector, []byte("metadata-secret"))) + HaveKeyWithValue(nova_ctrl.MetadataSecretSelector, []byte("metadata-secret"))) Expect(internalTopLevelSecret.Data).To( HaveKeyWithValue("transport_url", []byte("rabbit://cell0/fake"))) Expect(internalTopLevelSecret.Data).To( diff --git a/test/functional/nova_metadata_controller_test.go b/test/functional/nova/nova_metadata_controller_test.go similarity index 99% rename from test/functional/nova_metadata_controller_test.go rename to test/functional/nova/nova_metadata_controller_test.go index 7e5dd279a..e0bc5d840 100644 --- a/test/functional/nova_metadata_controller_test.go +++ b/test/functional/nova/nova_metadata_controller_test.go @@ -36,7 +36,7 @@ import ( topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" ) var _ = Describe("NovaMetadata controller", func() { diff --git a/test/functional/nova_multicell_test.go b/test/functional/nova/nova_multicell_test.go similarity index 98% rename from test/functional/nova_multicell_test.go rename to test/functional/nova/nova_multicell_test.go index 589d08cdd..03e3cf7aa 100644 --- a/test/functional/nova_multicell_test.go +++ b/test/functional/nova/nova_multicell_test.go @@ -26,8 +26,8 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" - "github.com/openstack-k8s-operators/nova-operator/controllers" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" + nova_ctrl "github.com/openstack-k8s-operators/nova-operator/controllers/nova" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" @@ -923,12 +923,12 @@ var _ = Describe("Nova multi cell", func() { cell1Secret := th.GetSecret(cell1.InternalCellSecretName) Expect(cell1Secret.Data).To( - HaveKeyWithValue(controllers.MetadataSecretSelector, []byte("metadata-secret-cell1"))) + HaveKeyWithValue(nova_ctrl.MetadataSecretSelector, []byte("metadata-secret-cell1"))) cell0Secret := th.GetSecret(cell0.InternalCellSecretName) Expect(cell0Secret.Data).NotTo( - HaveKeyWithValue(controllers.MetadataSecretSelector, []byte("metadata-secret"))) + HaveKeyWithValue(nova_ctrl.MetadataSecretSelector, []byte("metadata-secret"))) Expect(cell0Secret.Data).NotTo( - HaveKeyWithValue(controllers.MetadataSecretSelector, []byte("metadata-secret-cell1"))) + HaveKeyWithValue(nova_ctrl.MetadataSecretSelector, []byte("metadata-secret-cell1"))) configDataMap := th.GetSecret(cell1.MetadataConfigDataName) Expect(configDataMap).ShouldNot(BeNil()) Expect(configDataMap.Data).Should(HaveKey("httpd.conf")) @@ -1011,7 +1011,7 @@ var _ = Describe("Nova multi cell deletion", func() { "cell-3", } - controllers.SortNovaCellListByName(cellList) + nova_ctrl.SortNovaCellListByName(cellList) actualList := []string{} for _, cell := range cellList.Items { diff --git a/test/functional/nova_novncproxy_test.go b/test/functional/nova/nova_novncproxy_test.go similarity index 99% rename from test/functional/nova_novncproxy_test.go rename to test/functional/nova/nova_novncproxy_test.go index 4af454621..29371a762 100644 --- a/test/functional/nova_novncproxy_test.go +++ b/test/functional/nova/nova_novncproxy_test.go @@ -29,7 +29,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" diff --git a/test/functional/nova_reconfiguration_test.go b/test/functional/nova/nova_reconfiguration_test.go similarity index 99% rename from test/functional/nova_reconfiguration_test.go rename to test/functional/nova/nova_reconfiguration_test.go index 0580102d3..eb6001537 100644 --- a/test/functional/nova_reconfiguration_test.go +++ b/test/functional/nova/nova_reconfiguration_test.go @@ -31,7 +31,7 @@ import ( topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" diff --git a/test/functional/nova_scheduler_test.go b/test/functional/nova/nova_scheduler_test.go similarity index 99% rename from test/functional/nova_scheduler_test.go rename to test/functional/nova/nova_scheduler_test.go index 7dc2ee10a..c46e39a97 100644 --- a/test/functional/nova_scheduler_test.go +++ b/test/functional/nova/nova_scheduler_test.go @@ -29,7 +29,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" diff --git a/test/functional/novaapi_controller_test.go b/test/functional/nova/novaapi_controller_test.go similarity index 99% rename from test/functional/novaapi_controller_test.go rename to test/functional/nova/novaapi_controller_test.go index bb779474d..e54a4a557 100644 --- a/test/functional/novaapi_controller_test.go +++ b/test/functional/nova/novaapi_controller_test.go @@ -31,7 +31,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" diff --git a/test/functional/novacell_controller_test.go b/test/functional/nova/novacell_controller_test.go similarity index 99% rename from test/functional/novacell_controller_test.go rename to test/functional/nova/novacell_controller_test.go index 0e1a18868..98a19bda1 100644 --- a/test/functional/novacell_controller_test.go +++ b/test/functional/nova/novacell_controller_test.go @@ -28,7 +28,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/service" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/utils/ptr" diff --git a/test/functional/novaconductor_controller_test.go b/test/functional/nova/novaconductor_controller_test.go similarity index 99% rename from test/functional/novaconductor_controller_test.go rename to test/functional/nova/novaconductor_controller_test.go index 7bd29cb51..50101f160 100644 --- a/test/functional/novaconductor_controller_test.go +++ b/test/functional/nova/novaconductor_controller_test.go @@ -30,7 +30,7 @@ import ( condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition" "github.com/openstack-k8s-operators/lib-common/modules/common/util" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/utils/ptr" diff --git a/test/functional/sample_test.go b/test/functional/nova/sample_test.go similarity index 99% rename from test/functional/sample_test.go rename to test/functional/nova/sample_test.go index eff1aa90e..f33358b4e 100644 --- a/test/functional/sample_test.go +++ b/test/functional/nova/sample_test.go @@ -25,7 +25,7 @@ import ( "k8s.io/apimachinery/pkg/types" ) -const SamplesDir = "../../config/samples/" +const SamplesDir = "../../../config/samples/" func ReadSample(sampleFileName string) map[string]interface{} { rawSample := make(map[string]interface{}) diff --git a/test/functional/suite_test.go b/test/functional/nova/suite_test.go similarity index 96% rename from test/functional/suite_test.go rename to test/functional/nova/suite_test.go index 15902c1ad..4f379a47d 100644 --- a/test/functional/suite_test.go +++ b/test/functional/nova/suite_test.go @@ -55,8 +55,8 @@ import ( keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1" test "github.com/openstack-k8s-operators/lib-common/modules/test" mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1" - novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1" - "github.com/openstack-k8s-operators/nova-operator/controllers" + novav1 "github.com/openstack-k8s-operators/nova-operator/apis/nova/v1beta1" + nova_ctrl "github.com/openstack-k8s-operators/nova-operator/controllers/nova" infra_test "github.com/openstack-k8s-operators/infra-operator/apis/test/helpers" topologyv1 "github.com/openstack-k8s-operators/infra-operator/apis/topology/v1beta1" @@ -100,7 +100,7 @@ var _ = BeforeSuite(func() { ctx, cancel = context.WithCancel(context.TODO()) - const gomod = "../../go.mod" + const gomod = "../../../go.mod" keystoneCRDs, err := test.GetCRDDirFromModule( "github.com/openstack-k8s-operators/keystone-operator/api", gomod, "bases") @@ -120,7 +120,7 @@ var _ = BeforeSuite(func() { By("bootstrapping test environment") testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "..", "config", "crd", "bases"), + filepath.Join("..", "..", "..", "config", "crd", "bases"), // NOTE(gibi): we need to list all the external CRDs our operator depends on mariadbCRDs, keystoneCRDs, @@ -133,7 +133,7 @@ var _ = BeforeSuite(func() { }, ErrorIfCRDPathMissing: true, WebhookInstallOptions: envtest.WebhookInstallOptions{ - Paths: []string{filepath.Join("..", "..", "config", "webhook")}, + Paths: []string{filepath.Join("..", "..", "..", "config", "webhook")}, // NOTE(gibi): if localhost is resolved to ::1 (ipv6) then starting // the webhook fails as it try to parse the address as ipv4 and // failing on the colons in ::1 @@ -210,7 +210,7 @@ var _ = BeforeSuite(func() { kclient, err := kubernetes.NewForConfig(cfg) Expect(err).ToNot(HaveOccurred(), "failed to create kclient") - reconcilers := controllers.NewReconcilers(k8sManager, kclient) + reconcilers := nova_ctrl.NewReconcilers(k8sManager, kclient) // NOTE(gibi): During envtest we simulate success of tasks (e.g Job, // Deployment, DB) so we can speed up the test execution by reducing the // time we wait before we reconcile when a task is running. diff --git a/test/functional/validation_webhook_test.go b/test/functional/nova/validation_webhook_test.go similarity index 100% rename from test/functional/validation_webhook_test.go rename to test/functional/nova/validation_webhook_test.go diff --git a/test/kuttl/test-suites/default/cell-tests/00-cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/cell-tests/00-cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/cell-tests/00-cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/cell-tests/00-cleanup-nova.yaml diff --git a/test/kuttl/test-suites/default/cell-tests/01-assert.yaml b/test/kuttl/nova/test-suites/default/cell-tests/01-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/cell-tests/01-assert.yaml rename to test/kuttl/nova/test-suites/default/cell-tests/01-assert.yaml diff --git a/test/kuttl/test-suites/default/cell-tests/01-deploy.yaml b/test/kuttl/nova/test-suites/default/cell-tests/01-deploy.yaml similarity index 100% rename from test/kuttl/test-suites/default/cell-tests/01-deploy.yaml rename to test/kuttl/nova/test-suites/default/cell-tests/01-deploy.yaml diff --git a/test/kuttl/test-suites/default/cell-tests/02-assert.yaml b/test/kuttl/nova/test-suites/default/cell-tests/02-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/cell-tests/02-assert.yaml rename to test/kuttl/nova/test-suites/default/cell-tests/02-assert.yaml diff --git a/test/kuttl/test-suites/default/cell-tests/02-delete-cell-nova.yaml b/test/kuttl/nova/test-suites/default/cell-tests/02-delete-cell-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/cell-tests/02-delete-cell-nova.yaml rename to test/kuttl/nova/test-suites/default/cell-tests/02-delete-cell-nova.yaml diff --git a/test/kuttl/test-suites/default/cell-tests/03-cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/cell-tests/03-cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/cell-tests/03-cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/cell-tests/03-cleanup-nova.yaml diff --git a/test/kuttl/test-suites/default/common/cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/common/cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/common/cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/common/cleanup-nova.yaml diff --git a/test/kuttl/test-suites/default/config-tests/00-cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/config-tests/00-cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/config-tests/00-cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/config-tests/00-cleanup-nova.yaml diff --git a/test/kuttl/test-suites/default/config-tests/01-assert.yaml b/test/kuttl/nova/test-suites/default/config-tests/01-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/config-tests/01-assert.yaml rename to test/kuttl/nova/test-suites/default/config-tests/01-assert.yaml diff --git a/test/kuttl/test-suites/default/config-tests/01-deploy-with-default-config-overwrite.yaml b/test/kuttl/nova/test-suites/default/config-tests/01-deploy-with-default-config-overwrite.yaml similarity index 100% rename from test/kuttl/test-suites/default/config-tests/01-deploy-with-default-config-overwrite.yaml rename to test/kuttl/nova/test-suites/default/config-tests/01-deploy-with-default-config-overwrite.yaml diff --git a/test/kuttl/test-suites/default/config-tests/02-assert.yaml b/test/kuttl/nova/test-suites/default/config-tests/02-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/config-tests/02-assert.yaml rename to test/kuttl/nova/test-suites/default/config-tests/02-assert.yaml diff --git a/test/kuttl/test-suites/default/config-tests/02-enable-notifications.yaml b/test/kuttl/nova/test-suites/default/config-tests/02-enable-notifications.yaml similarity index 100% rename from test/kuttl/test-suites/default/config-tests/02-enable-notifications.yaml rename to test/kuttl/nova/test-suites/default/config-tests/02-enable-notifications.yaml diff --git a/test/kuttl/test-suites/default/config-tests/03-cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/config-tests/03-cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/config-tests/03-cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/config-tests/03-cleanup-nova.yaml diff --git a/test/kuttl/test-suites/default/config.yaml b/test/kuttl/nova/test-suites/default/config.yaml similarity index 100% rename from test/kuttl/test-suites/default/config.yaml rename to test/kuttl/nova/test-suites/default/config.yaml diff --git a/test/kuttl/test-suites/default/deps/OpenStackControlPlane.yaml b/test/kuttl/nova/test-suites/default/deps/OpenStackControlPlane.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/OpenStackControlPlane.yaml rename to test/kuttl/nova/test-suites/default/deps/OpenStackControlPlane.yaml diff --git a/test/kuttl/test-suites/default/deps/infra.yaml b/test/kuttl/nova/test-suites/default/deps/infra.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/infra.yaml rename to test/kuttl/nova/test-suites/default/deps/infra.yaml diff --git a/test/kuttl/test-suites/default/deps/keystone.yaml b/test/kuttl/nova/test-suites/default/deps/keystone.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/keystone.yaml rename to test/kuttl/nova/test-suites/default/deps/keystone.yaml diff --git a/test/kuttl/test-suites/default/deps/kustomization.yaml b/test/kuttl/nova/test-suites/default/deps/kustomization.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/kustomization.yaml rename to test/kuttl/nova/test-suites/default/deps/kustomization.yaml diff --git a/test/kuttl/test-suites/default/deps/namespace.yaml b/test/kuttl/nova/test-suites/default/deps/namespace.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/namespace.yaml rename to test/kuttl/nova/test-suites/default/deps/namespace.yaml diff --git a/test/kuttl/test-suites/default/deps/nova.yaml b/test/kuttl/nova/test-suites/default/deps/nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/nova.yaml rename to test/kuttl/nova/test-suites/default/deps/nova.yaml diff --git a/test/kuttl/test-suites/default/deps/placement.yaml b/test/kuttl/nova/test-suites/default/deps/placement.yaml similarity index 100% rename from test/kuttl/test-suites/default/deps/placement.yaml rename to test/kuttl/nova/test-suites/default/deps/placement.yaml diff --git a/test/kuttl/test-suites/default/output/.keep b/test/kuttl/nova/test-suites/default/output/.keep similarity index 100% rename from test/kuttl/test-suites/default/output/.keep rename to test/kuttl/nova/test-suites/default/output/.keep diff --git a/test/kuttl/test-suites/default/scale-tests/00-cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/scale-tests/00-cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/00-cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/00-cleanup-nova.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/01-assert.yaml b/test/kuttl/nova/test-suites/default/scale-tests/01-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/01-assert.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/01-assert.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/01-deploy.yaml b/test/kuttl/nova/test-suites/default/scale-tests/01-deploy.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/01-deploy.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/01-deploy.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/02-assert.yaml b/test/kuttl/nova/test-suites/default/scale-tests/02-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/02-assert.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/02-assert.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/02-scale-up-nova.yaml b/test/kuttl/nova/test-suites/default/scale-tests/02-scale-up-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/02-scale-up-nova.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/02-scale-up-nova.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/03-assert.yaml b/test/kuttl/nova/test-suites/default/scale-tests/03-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/03-assert.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/03-assert.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/03-scale-down-nova.yaml b/test/kuttl/nova/test-suites/default/scale-tests/03-scale-down-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/03-scale-down-nova.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/03-scale-down-nova.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/04-assert.yaml b/test/kuttl/nova/test-suites/default/scale-tests/04-assert.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/04-assert.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/04-assert.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/04-scale-down-zero-nova.yaml b/test/kuttl/nova/test-suites/default/scale-tests/04-scale-down-zero-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/04-scale-down-zero-nova.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/04-scale-down-zero-nova.yaml diff --git a/test/kuttl/test-suites/default/scale-tests/05-cleanup-nova.yaml b/test/kuttl/nova/test-suites/default/scale-tests/05-cleanup-nova.yaml similarity index 100% rename from test/kuttl/test-suites/default/scale-tests/05-cleanup-nova.yaml rename to test/kuttl/nova/test-suites/default/scale-tests/05-cleanup-nova.yaml