Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/workflows/reviewdog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: |
- name: check on release branch
if: ${{ contains(github.base_ref, 'release-') }}
run: |
make generate VERSION="$(cat percona/version/version.txt)" IMAGE_TAG_BASE="percona/percona-postgresql-operator"
git diff --exit-code
- name: check on non release branches
if: ${{ ! contains(github.base_ref, 'release-') }}
run: |
make generate VERSION=main
git diff --exit-code
9 changes: 7 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,9 @@ rm -rf $$TMP_DIR ;\
}
endef

update-version:
echo $(NEXT_VER) > percona/version/version.txt

# Prepare release
PG_VER ?= $(shell grep -o "postgresVersion: .*" deploy/cr.yaml|grep -oE "[0-9]+")
include e2e-tests/release_versions
Expand All @@ -469,11 +472,11 @@ MINOR_VER := $(word 2,$(subst ., ,$(CURRENT_VERSION)))
NEXT_VER := $(MAJOR_VER).$(shell expr $(MINOR_VER) + 1).0
PREV1_VERSION := $(MAJOR_VER).$(shell expr $(MINOR_VER) - 1).0
PREV2_VERSION := $(MAJOR_VER).$(shell expr $(MINOR_VER) - 2).0
after-release: generate
echo $(NEXT_VER) > percona/version/version.txt
after-release: update-version generate
$(SED) -i \
-e "/^spec:/,/^ crVersion:/{s/crVersion: .*/crVersion: $(NEXT_VER)/}" \
-e "/^spec:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-ppg$(PG_VER)-postgres#}" \
-e "/initContainer:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main#}" \
-e "/^ pgBouncer:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbouncer$(PG_VER)#}" \
-e "/^ pgbackrest:/,/^ image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbackrest$(PG_VER)#}" \
-e "/extensions:/,/image:/{s#image: .*#image: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main#}" \
Expand All @@ -484,6 +487,8 @@ after-release: generate
-e "/^spec:/,/^ toPostgresImage:/{s#toPostgresImage: .*#toPostgresImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-ppg$(PG_VER)-postgres#}" \
-e "/^spec:/,/^ toPgBouncerImage:/{s#toPgBouncerImage: .*#toPgBouncerImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbouncer$(PG_VER)#}" \
-e "/^spec:/,/^ toPgBackRestImage:/{s#toPgBackRestImage: .*#toPgBackRestImage: $(REGISTRY_NAME_FULL)perconalab/percona-postgresql-operator:main-pgbackrest$(PG_VER)#}" deploy/upgrade.yaml

# Update upgrade-consistency
$(SED) -i "s/$(PREV2_VERSION)/$(PREV1_VERSION)/g" e2e-tests/tests/upgrade-consistency/01-*.yaml
$(SED) -i "s/$(PREV1_VERSION)/$(CURRENT_VERSION)/g" e2e-tests/tests/upgrade-consistency/02-*.yaml
$(SED) -i "s/$(CURRENT_VERSION)/$(NEXT_VER)/g" e2e-tests/tests/upgrade-consistency/03-*.yaml e2e-tests/tests/init-deploy/05-assert.yaml
2 changes: 1 addition & 1 deletion config/crd/patches/versionlabel_in_perconapgbackups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ kind: CustomResourceDefinition
metadata:
name: perconapgbackups.pgv2.percona.com
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ kind: CustomResourceDefinition
metadata:
name: perconapgclusters.pgv2.percona.com
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ kind: CustomResourceDefinition
metadata:
name: perconapgrestores.pgv2.percona.com
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
2 changes: 1 addition & 1 deletion config/crd/patches/versionlabel_in_perconapgupgrade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ kind: CustomResourceDefinition
metadata:
name: perconapgupgrades.pgv2.percona.com
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
8 changes: 4 additions & 4 deletions deploy/bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgbackups.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -705,7 +705,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgclusters.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -22109,7 +22109,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgrestores.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -22209,7 +22209,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgupgrades.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down
2 changes: 1 addition & 1 deletion deploy/cr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
# - percona.com/delete-ssl
# - percona.com/delete-backups
spec:
crVersion: 2.8.0
crVersion: 2.9.0
# initContainer:
# image: docker.io/perconalab/percona-postgresql-operator:main
# resources:
Expand Down
8 changes: 4 additions & 4 deletions deploy/crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgbackups.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -705,7 +705,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgclusters.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -22109,7 +22109,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgrestores.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -22209,7 +22209,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgupgrades.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down
8 changes: 4 additions & 4 deletions deploy/cw-bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgbackups.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -705,7 +705,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgclusters.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -22109,7 +22109,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgrestores.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down Expand Up @@ -22209,7 +22209,7 @@ metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
labels:
pgv2.percona.com/version: v2.8.0
pgv2.percona.com/version: v2.9.0
name: perconapgupgrades.pgv2.percona.com
spec:
group: pgv2.percona.com
Expand Down
20 changes: 18 additions & 2 deletions e2e-tests/functions
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# set root repo relatively to a test dir
ROOT_REPO=${ROOT_REPO:-$(realpath ../../..)}
CERT_MANAGER_VER="1.18.2"
CERT_MANAGER_VER="1.19.1"
test_name=$(basename "$(pwd)")
source "${ROOT_REPO}/e2e-tests/vars.sh"

Expand Down Expand Up @@ -495,6 +495,18 @@ get_service_ip() {
kubectl get service/$service -n "${NAMESPACE}" -o 'jsonpath={.status.loadBalancer.ingress[].hostname}'
}

get_version_images() {
local cr_version="$1"
local component="$2"
local release_versions_file="${TEMP_DIR}/release_version_${cr_version}"

if [[ ! -f $release_versions_file ]]; then
curl -s "https://raw.githubusercontent.com/percona/percona-postgresql-operator/refs/tags/v${cr_version}/e2e-tests/release_versions" >$release_versions_file
fi

grep -i ${component} $release_versions_file | cut -d'=' -f2
}

wait_for_delete() {
local res="$1"

Expand Down Expand Up @@ -1114,7 +1126,11 @@ get_container_image() {
operatorVersion=main
fi

echo "${IMAGE_BASE}:${operatorVersion}-ppg${pgVersion}-${component}"
if [[ $component == 'pgbouncer' || $component == 'pgbackrest' ]]; then
echo "${IMAGE_BASE}:${operatorVersion}-${component}${pgVersion}"
else
echo "${IMAGE_BASE}:${operatorVersion}-ppg${pgVersion}-${component}"
fi
}

get_postgresql_logs() {
Expand Down
69 changes: 35 additions & 34 deletions e2e-tests/release_versions
Original file line number Diff line number Diff line change
@@ -1,45 +1,46 @@
# Images versions
IMAGE_OPERATOR=percona/percona-postgresql-operator:2.7.0
IMAGE_OPERATOR=percona/percona-postgresql-operator:2.8.0

IMAGE_POSTGRESQL17=percona/percona-postgresql-operator:2.7.0-ppg17.5.2-postgres
IMAGE_PGBOUNCER17=percona/percona-pgbouncer:1.24.1
IMAGE_POSTGIS17=percona/percona-postgresql-operator:2.7.0-ppg17.5.2-postgres-gis3.3.8
IMAGE_BACKREST17=percona/percona-pgbackrest:2.55.0
IMAGE_POSTGRESQL17=percona/percona-distribution-postgresql:17.6-1
IMAGE_PGBOUNCER17=percona/percona-pgbouncer:1.24.1-1
IMAGE_POSTGIS17=percona/percona-postgresql-operator:2.8.0-ppg17.6-postgres-gis3.3.8
IMAGE_BACKREST17=percona/percona-pgbackrest:2.56.0-1

IMAGE_POSTGRESQL16=percona/percona-postgresql-operator:2.7.0-ppg16.9-postgres
IMAGE_PGBOUNCER16=percona/percona-pgbouncer:1.24.1
IMAGE_POSTGIS16=percona/percona-postgresql-operator:2.7.0-ppg16.9-postgres-gis3.3.8
IMAGE_BACKREST16=percona/percona-pgbackrest:2.55.0
IMAGE_POSTGRESQL16=percona/percona-distribution-postgresql:16.10-1
IMAGE_PGBOUNCER16=percona/percona-pgbouncer:1.24.1-1
IMAGE_POSTGIS16=percona/percona-postgresql-operator:2.8.0-ppg16.10-postgres-gis3.3.8
IMAGE_BACKREST16=percona/percona-pgbackrest:2.56.0-1

IMAGE_POSTGRESQL15=percona/percona-postgresql-operator:2.7.0-ppg15.13-postgres
IMAGE_PGBOUNCER15=percona/percona-pgbouncer:1.24.1
IMAGE_POSTGIS15=percona/percona-postgresql-operator:2.7.0-ppg15.13-postgres-gis3.3.8
IMAGE_BACKREST15=percona/percona-pgbackrest:2.55.0
IMAGE_POSTGRESQL15=percona/percona-distribution-postgresql:15.14-1
IMAGE_PGBOUNCER15=percona/percona-pgbouncer:1.24.1-1
IMAGE_POSTGIS15=percona/percona-postgresql-operator:2.8.0-ppg15.14-postgres-gis3.3.8
IMAGE_BACKREST15=percona/percona-pgbackrest:2.56.0-1

IMAGE_POSTGRESQL14=percona/percona-postgresql-operator:2.7.0-ppg14.18-postgres
IMAGE_PGBOUNCER14=percona/percona-pgbouncer:1.24.1
IMAGE_POSTGIS14=percona/percona-postgresql-operator:2.7.0-ppg14.18-postgres-gis3.3.8
IMAGE_BACKREST14=percona/percona-pgbackrest:2.55.0
IMAGE_POSTGRESQL14=percona/percona-distribution-postgresql:14.19-1
IMAGE_PGBOUNCER14=percona/percona-pgbouncer:1.24.1-1
IMAGE_POSTGIS14=percona/percona-postgresql-operator:2.8.0-ppg14.19-postgres-gis3.3.8
IMAGE_BACKREST14=percona/percona-pgbackrest:2.56.0-1

IMAGE_POSTGRESQL13=percona/percona-postgresql-operator:2.7.0-ppg13.21-postgres
IMAGE_PGBOUNCER13=percona/percona-pgbouncer:1.24.1
IMAGE_POSTGIS13=percona/percona-postgresql-operator:2.7.0-ppg13.21-postgres-gis3.3.8
IMAGE_BACKREST13=percona/percona-pgbackrest:2.55.0
IMAGE_POSTGRESQL13=percona/percona-distribution-postgresql:13.22-1
IMAGE_PGBOUNCER13=percona/percona-pgbouncer:1.24.1-1
IMAGE_POSTGIS13=percona/percona-postgresql-operator:2.8.0-ppg13.22-postgres-gis3.3.8
IMAGE_BACKREST13=percona/percona-pgbackrest:2.56.0-1

IMAGE_UPGRADE=percona/percona-postgresql-operator:2.7.0-upgrade
IMAGE_UPGRADE=percona/percona-postgresql-operator:2.8.0-upgrade

IMAGE_PMM_CLIENT=percona/pmm-client:2.44.1
IMAGE_PMM_CLIENT=percona/pmm-client:2.44.1-1
IMAGE_PMM_SERVER=percona/pmm-server:2.44.1
IMAGE_PMM3_CLIENT=percona/pmm-client:3.3.0
IMAGE_PMM3_SERVER=percona/pmm-server:3.3.0
IMAGE_PMM3_CLIENT=percona/pmm-client:3.4.1
IMAGE_PMM3_SERVER=percona/pmm-server:3.4.1

# Supported k8s versions
GKE_MIN=1.30
GKE_MAX=1.32
EKS_MIN=1.30
EKS_MAX=1.33
AKS_MIN=1.30
AKS_MAX=1.32
OPENSHIFT_MIN=4.15.53
OPENSHIFT_MAX=4.19.2
MINIKUBE_MAX=1.33.1
GKE_MIN=1.31
GKE_MAX=1.33
EKS_MIN=1.31
EKS_MAX=1.34
AKS_MIN=1.32
AKS_MAX=1.34
OPENSHIFT_MIN=4.16.51
OPENSHIFT_MAX=4.20.2
# MINIKUBE_MAX = k8s version in MINIKUBE
MINIKUBE_MAX=1.34.0
1 change: 1 addition & 0 deletions e2e-tests/run-release.csv
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ database-init-sql
demand-backup
finalizers
init-deploy
major-upgrade
monitoring
monitoring-pmm3
one-pod
Expand Down
2 changes: 1 addition & 1 deletion e2e-tests/tests/custom-envs/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 120
timeout: 240
---
kind: StatefulSet
apiVersion: apps/v1
Expand Down
12 changes: 6 additions & 6 deletions e2e-tests/tests/init-deploy/05-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ metadata:
app.kubernetes.io/managed-by: percona-postgresql-operator
app.kubernetes.io/name: percona-postgresql
app.kubernetes.io/part-of: percona-postgresql
pgv2.percona.com/version: 2.8.0
pgv2.percona.com/version: 2.9.0
postgres-operator.crunchydata.com/cluster: init-deploy
postgres-operator.crunchydata.com/pgbackrest: ""
postgres-operator.crunchydata.com/pgbackrest-config: ""
Expand Down Expand Up @@ -81,7 +81,7 @@ metadata:
app.kubernetes.io/managed-by: percona-postgresql-operator
app.kubernetes.io/name: percona-postgresql
app.kubernetes.io/part-of: percona-postgresql
pgv2.percona.com/version: 2.8.0
pgv2.percona.com/version: 2.9.0
postgres-operator.crunchydata.com/cluster: init-deploy
postgres-operator.crunchydata.com/role: pgbouncer
test-label: test
Expand Down Expand Up @@ -144,7 +144,7 @@ metadata:
app.kubernetes.io/managed-by: percona-postgresql-operator
app.kubernetes.io/name: percona-postgresql
app.kubernetes.io/part-of: percona-postgresql
pgv2.percona.com/version: 2.8.0
pgv2.percona.com/version: 2.9.0
postgres-operator.crunchydata.com/cluster: init-deploy
postgres-operator.crunchydata.com/pgbackrest: ""
postgres-operator.crunchydata.com/pgbackrest-config: ""
Expand All @@ -168,7 +168,7 @@ metadata:
app.kubernetes.io/managed-by: percona-postgresql-operator
app.kubernetes.io/name: percona-postgresql
app.kubernetes.io/part-of: percona-postgresql
pgv2.percona.com/version: 2.8.0
pgv2.percona.com/version: 2.9.0
postgres-operator.crunchydata.com/cluster: init-deploy
postgres-operator.crunchydata.com/role: pgbouncer
test-label: test
Expand All @@ -191,7 +191,7 @@ metadata:
app.kubernetes.io/managed-by: percona-postgresql-operator
app.kubernetes.io/name: percona-postgresql
app.kubernetes.io/part-of: percona-postgresql
pgv2.percona.com/version: 2.8.0
pgv2.percona.com/version: 2.9.0
postgres-operator.crunchydata.com/cluster: init-deploy
postgres-operator.crunchydata.com/data: pgbackrest
postgres-operator.crunchydata.com/pgbackrest: ""
Expand All @@ -214,7 +214,7 @@ spec:
app.kubernetes.io/managed-by: percona-postgresql-operator
app.kubernetes.io/name: percona-postgresql
app.kubernetes.io/part-of: percona-postgresql
pgv2.percona.com/version: 2.8.0
pgv2.percona.com/version: 2.9.0
postgres-operator.crunchydata.com/cluster: init-deploy
postgres-operator.crunchydata.com/data: pgbackrest
postgres-operator.crunchydata.com/pgbackrest: ""
Expand Down
8 changes: 4 additions & 4 deletions e2e-tests/tests/major-upgrade/01-create-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ commands:

get_cr \
| yq eval '
.spec.postgresVersion = 12 |
.spec.image = "perconalab/percona-postgresql-operator:main-ppg12-postgres" |
.spec.postgresVersion = 13 |
.spec.image = "perconalab/percona-postgresql-operator:main-ppg13-postgres" |
.spec.instances[0].dataVolumeClaimSpec.resources.requests.storage = "3Gi" |
.spec.proxy.pgBouncer.image = "perconalab/percona-postgresql-operator:main-ppg12-pgbouncer" |
.spec.backups.pgbackrest.image = "perconalab/percona-postgresql-operator:main-ppg12-pgbackrest" |
.spec.proxy.pgBouncer.image = "perconalab/percona-postgresql-operator:main-pgbouncer13" |
.spec.backups.pgbackrest.image = "perconalab/percona-postgresql-operator:main-pgbackrest13" |
.spec.patroni.dynamicConfiguration.postgresql.parameters.shared_preload_libraries = "pg_cron" |
.spec.extensions.custom += [{"name": "pg_cron", "version": "1.6.1"}]' \
| kubectl -n "${NAMESPACE}" apply -f -
Loading
Loading