Skip to content

Commit 22b59d5

Browse files
egegunesmayankshah1607hors
authored andcommitted
K8SPG-1007: Rename upstream CRDs (#1561)
* rename upstream api package * fix old api references * rename CRDs * fix api version * remove testing dir * fix rbacs * add migration controller * update manifests * fix unit tests * fix upgrade-minor * fix typo * e2e-tests: add Crunchy Data migration test suite Add three test suites covering the supported migration paths from Crunchy Data PGO v5 to the Percona PostgreSQL Operator: - migration-from-crunchy-backup-restore: seeds a Percona cluster from a Crunchy pgBackRest backup via spec.dataSource, then validates a full restore - migration-from-crunchy-standby: promotes a Percona standby cluster that streams from a live Crunchy primary, verifying cutover, WAL replay stabilisation, and post-promotion backup/restore - migration-from-crunchy-pv: reuses the Crunchy primary's data PV directly Also exports CPGO_VERSION in vars.sh so all three tests can pin the Crunchy operator version consistently. * address mayank's comments * remove references to testing/ * use require to assert owner reference * fix issues due to review comments * address review comments * fix timeouts * fix tests * remove migration controller * fix updating owner references of issuer & certificates * add status condition for migration status * address review comments * fix owner references for ca cert * update manifests * fix unit tests * delete unneeded files * fix misleading condition if legacy cluster is not found * increase timeout * fix rbac for migration * fix triggered perconapgupgrade after operator upgrade * fix pgbackrest tls error after migration * fix upgrade-minor --------- Co-authored-by: Mayank Shah <mayankshah1614@gmail.com> Co-authored-by: Viacheslav Sarzhan <slava.sarzhan@percona.com>
1 parent 00951c9 commit 22b59d5

982 files changed

Lines changed: 4092 additions & 12558 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ tools
1010
licenses/*
1111
!licenses/LICENSE.txt
1212
bin/
13-
/testing/kuttl/e2e-generated/
14-
/testing/kuttl/e2e-generated-other/
15-
/testing/kuttl/e2e-generated*/
1613

1714
# Test binary, build with 'go test -c'
1815
*.test

.golangci.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ linters:
5757
deny:
5858
- pkg: net/http/httptest
5959
desc: Should be used only in tests.
60-
- pkg: testing/*
61-
desc: The "testing" packages should be used only in tests.
6260
- pkg: github.com/percona/percona-postgresql-operator/v2/internal/testing/*
6361
desc: The "internal/testing" packages should be used only in tests.
6462
- pkg: errors

Makefile

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ clean: clean-deprecated
5959
rm -f bin/postgres-operator
6060
rm -f config/rbac/role.yaml
6161
rm -rf licenses/*/
62-
[ ! -d testing/kuttl/e2e-generated ] || rm -r testing/kuttl/e2e-generated
63-
[ ! -d testing/kuttl/e2e-generated-other ] || rm -r testing/kuttl/e2e-generated-other
6462
rm -rf build/crd/generated build/crd/*/generated
6563
[ ! -f hack/tools/setup-envtest ] || rm hack/tools/setup-envtest
6664
[ ! -d hack/tools/envtest ] || { chmod -R u+w hack/tools/envtest && rm -r hack/tools/envtest; }
@@ -219,41 +217,6 @@ check-envtest-existing: createnamespaces
219217
$(GO_TEST) -count=1 -cover -p=1 -tags=envtest ./...
220218
kubectl delete -k ./config/dev
221219

222-
# Expects operator to be running
223-
.PHONY: check-kuttl
224-
check-kuttl: ## Run kuttl end-to-end tests
225-
check-kuttl: ## example command: make check-kuttl KUTTL_TEST='
226-
${KUTTL_TEST} \
227-
--config testing/kuttl/kuttl-test.yaml
228-
229-
.PHONY: generate-kuttl
230-
generate-kuttl: export KUTTL_PG_UPGRADE_FROM_VERSION ?= 15
231-
generate-kuttl: export KUTTL_PG_UPGRADE_TO_VERSION ?= 16
232-
generate-kuttl: export KUTTL_PG_VERSION ?= 16
233-
generate-kuttl: export KUTTL_POSTGIS_VERSION ?= 3.4
234-
generate-kuttl: export KUTTL_PSQL_IMAGE ?= registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-16.3-1
235-
generate-kuttl: export KUTTL_TEST_DELETE_NAMESPACE ?= kuttl-test-delete-namespace
236-
generate-kuttl: ## Generate kuttl tests
237-
[ ! -d testing/kuttl/e2e-generated ] || rm -r testing/kuttl/e2e-generated
238-
[ ! -d testing/kuttl/e2e-generated-other ] || rm -r testing/kuttl/e2e-generated-other
239-
bash -ceu ' \
240-
case $(KUTTL_PG_VERSION) in \
241-
16 ) export KUTTL_BITNAMI_IMAGE_TAG=16.0.0-debian-11-r3 ;; \
242-
15 ) export KUTTL_BITNAMI_IMAGE_TAG=15.0.0-debian-11-r4 ;; \
243-
14 ) export KUTTL_BITNAMI_IMAGE_TAG=14.5.0-debian-11-r37 ;; \
244-
13 ) export KUTTL_BITNAMI_IMAGE_TAG=13.8.0-debian-11-r39 ;; \
245-
12 ) export KUTTL_BITNAMI_IMAGE_TAG=12.12.0-debian-11-r40 ;; \
246-
esac; \
247-
render() { envsubst '"'"' \
248-
$$KUTTL_PG_UPGRADE_FROM_VERSION $$KUTTL_PG_UPGRADE_TO_VERSION \
249-
$$KUTTL_PG_VERSION $$KUTTL_POSTGIS_VERSION $$KUTTL_PSQL_IMAGE \
250-
$$KUTTL_BITNAMI_IMAGE_TAG $$KUTTL_TEST_DELETE_NAMESPACE'"'"'; }; \
251-
while [ $$# -gt 0 ]; do \
252-
source="$${1}" target="$${1/e2e/e2e-generated}"; \
253-
mkdir -p "$${target%/*}"; render < "$${source}" > "$${target}"; \
254-
shift; \
255-
done' - testing/kuttl/e2e/*/*.yaml testing/kuttl/e2e-other/*/*.yaml testing/kuttl/e2e/*/*/*.yaml testing/kuttl/e2e-other/*/*/*.yaml
256-
257220
##@ Generate
258221

259222
.PHONY: check-generate
@@ -279,7 +242,7 @@ generate: generate-cw
279242
generate-crunchy-crd: ## Generate crd
280243
GOBIN='$(CURDIR)/hack/tools' ./hack/controller-generator.sh \
281244
crd:crdVersions='v1' \
282-
paths='./pkg/apis/postgres-operator.crunchydata.com/...' \
245+
paths='./pkg/apis/upstream.pgv2.percona.com/...' \
283246
output:dir='build/crd/crunchy/generated' # build/crd/generated/{group}_{plural}.yaml
284247
@
285248
GOBIN='$(CURDIR)/hack/tools' ./hack/controller-generator.sh \
@@ -297,10 +260,10 @@ generate-crunchy-crd: ## Generate crd
297260
paths='./pkg/apis/...' \
298261
output:dir='build/crd/crunchybridgeclusters/generated' # build/crd/{plural}/generated/{group}_{plural}.yaml
299262
@
300-
$(KUSTOMIZE) build ./build/crd/crunchy/ > ./config/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml
301-
$(KUSTOMIZE) build ./build/crd/pgupgrades > ./config/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml
302-
$(KUSTOMIZE) build ./build/crd/pgadmins > ./config/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml
303-
$(KUSTOMIZE) build ./build/crd/crunchybridgeclusters > ./config/crd/bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml
263+
$(KUSTOMIZE) build ./build/crd/crunchy/ > ./config/crd/bases/upstream.pgv2.percona.com_postgresclusters.yaml
264+
$(KUSTOMIZE) build ./build/crd/pgupgrades > ./config/crd/bases/upstream.pgv2.percona.com_pgupgrades.yaml
265+
$(KUSTOMIZE) build ./build/crd/pgadmins > ./config/crd/bases/upstream.pgv2.percona.com_pgadmins.yaml
266+
$(KUSTOMIZE) build ./build/crd/crunchybridgeclusters > ./config/crd/bases/upstream.pgv2.percona.com_crunchybridgeclusters.yaml
304267

305268
.PHONY: generate-deepcopy
306269
generate-deepcopy: ## Generate deepcopy functions

build/crd/crunchy/generated/postgres-operator.crunchydata.com_postgresclusters.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: v0.20.0
7-
name: postgresclusters.postgres-operator.crunchydata.com
7+
name: postgresclusters.upstream.pgv2.percona.com
88
spec:
9-
group: postgres-operator.crunchydata.com
9+
group: upstream.pgv2.percona.com
1010
names:
1111
kind: PostgresCluster
1212
listKind: PostgresClusterList

build/crd/crunchy/kustomization.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33

44
resources:
5-
- generated/postgres-operator.crunchydata.com_postgresclusters.yaml
5+
- generated/upstream.pgv2.percona.com_postgresclusters.yaml
66

77
patchesJson6902:
88
- target:
99
group: apiextensions.k8s.io
1010
version: v1
1111
kind: CustomResourceDefinition
12-
name: postgresclusters.postgres-operator.crunchydata.com
12+
name: postgresclusters.upstream.pgv2.percona.com
1313
path: condition.yaml
1414
- target:
1515
group: apiextensions.k8s.io
1616
version: v1
1717
kind: CustomResourceDefinition
18-
name: postgresclusters.postgres-operator.crunchydata.com
18+
name: postgresclusters.upstream.pgv2.percona.com
1919
path: todos.yaml
2020
- target:
2121
group: apiextensions.k8s.io
2222
version: v1
2323
kind: CustomResourceDefinition
24-
name: postgresclusters.postgres-operator.crunchydata.com
24+
name: postgresclusters.upstream.pgv2.percona.com
2525
path: validation.yaml
2626
- target:
2727
group: apiextensions.k8s.io
2828
version: v1
2929
kind: CustomResourceDefinition
30-
name: postgresclusters.postgres-operator.crunchydata.com
30+
name: postgresclusters.upstream.pgv2.percona.com
3131
patch: |-
3232
- op: add
3333
path: "/metadata/labels"

build/crd/crunchybridgeclusters/kustomization.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33

44
resources:
5-
- generated/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml
5+
- generated/upstream.pgv2.percona.com_crunchybridgeclusters.yaml
66

77
patches:
88
- target:
99
group: apiextensions.k8s.io
1010
version: v1
1111
kind: CustomResourceDefinition
12-
name: crunchybridgeclusters.postgres-operator.crunchydata.com
12+
name: crunchybridgeclusters.upstream.pgv2.percona.com
1313
# The version below should match the version on the PostgresCluster CRD
1414
patch: |-
1515
- op: add

build/crd/pgadmins/kustomization.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33

44
resources:
5-
- generated/postgres-operator.crunchydata.com_pgadmins.yaml
5+
- generated/upstream.pgv2.percona.com_pgadmins.yaml
66

77
patches:
88
- target:
99
group: apiextensions.k8s.io
1010
version: v1
1111
kind: CustomResourceDefinition
12-
name: pgadmins.postgres-operator.crunchydata.com
12+
name: pgadmins.upstream.pgv2.percona.com
1313
path: todos.yaml
1414
- target:
1515
group: apiextensions.k8s.io
1616
version: v1
1717
kind: CustomResourceDefinition
18-
name: pgadmins.postgres-operator.crunchydata.com
18+
name: pgadmins.upstream.pgv2.percona.com
1919
# The version below should match the version on the PostgresCluster CRD
2020
patch: |-
2121
- op: add

build/crd/pgupgrades/kustomization.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33

44
resources:
5-
- generated/postgres-operator.crunchydata.com_pgupgrades.yaml
5+
- generated/upstream.pgv2.percona.com_pgupgrades.yaml
66

77
patches:
88
- target:
99
group: apiextensions.k8s.io
1010
version: v1
1111
kind: CustomResourceDefinition
12-
name: pgupgrades.postgres-operator.crunchydata.com
12+
name: pgupgrades.upstream.pgv2.percona.com
1313
path: todos.yaml
1414
- target:
1515
group: apiextensions.k8s.io
1616
version: v1
1717
kind: CustomResourceDefinition
18-
name: pgupgrades.postgres-operator.crunchydata.com
18+
name: pgupgrades.upstream.pgv2.percona.com
1919
# The version below should match the version on the PostgresCluster CRD
2020
patch: |-
2121
- op: add

build/crd/postgresclusters/kustomization.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33

44
resources:
5-
- generated/postgres-operator.crunchydata.com_postgresclusters.yaml
5+
- generated/upstream.pgv2.percona.com_postgresclusters.yaml
66

77
patchesJson6902:
88
- target:
99
group: apiextensions.k8s.io
1010
version: v1
1111
kind: CustomResourceDefinition
12-
name: postgresclusters.postgres-operator.crunchydata.com
12+
name: postgresclusters.upstream.pgv2.percona.com
1313
path: condition.yaml
1414
- target:
1515
group: apiextensions.k8s.io
1616
version: v1
1717
kind: CustomResourceDefinition
18-
name: postgresclusters.postgres-operator.crunchydata.com
18+
name: postgresclusters.upstream.pgv2.percona.com
1919
path: todos.yaml
2020
- target:
2121
group: apiextensions.k8s.io
2222
version: v1
2323
kind: CustomResourceDefinition
24-
name: postgresclusters.postgres-operator.crunchydata.com
24+
name: postgresclusters.upstream.pgv2.percona.com
2525
path: validation.yaml
2626
- target:
2727
group: apiextensions.k8s.io
2828
version: v1
2929
kind: CustomResourceDefinition
30-
name: postgresclusters.postgres-operator.crunchydata.com
30+
name: postgresclusters.upstream.pgv2.percona.com
3131
patch: |-
3232
- op: add
3333
path: "/metadata/labels"

cmd/postgres-operator/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import (
4848
perconaRuntime "github.com/percona/percona-postgresql-operator/v2/percona/runtime"
4949
"github.com/percona/percona-postgresql-operator/v2/percona/utils/registry"
5050
v2 "github.com/percona/percona-postgresql-operator/v2/pkg/apis/pgv2.percona.com/v2"
51-
"github.com/percona/percona-postgresql-operator/v2/pkg/apis/postgres-operator.crunchydata.com/v1beta1"
51+
"github.com/percona/percona-postgresql-operator/v2/pkg/apis/upstream.pgv2.percona.com/v1beta1"
5252
)
5353

5454
var (

0 commit comments

Comments
 (0)