Skip to content

Commit

Permalink
Merge branch 'main' into cloud-881
Browse files Browse the repository at this point in the history
  • Loading branch information
jvpasinatto authored Feb 10, 2025
2 parents 52a2a9e + 7a64257 commit e37b58f
Show file tree
Hide file tree
Showing 86 changed files with 939 additions and 463 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ jobs:
- name: Basic tests
run: make check
- name: envtest
run: ENVTEST_K8S_VERSION=1.28 make check-envtest
run: ENVTEST_K8S_VERSION=1.32 make check-envtest
12 changes: 9 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,14 @@ void checkE2EIgnoreFiles() {
echo "This is the first run. Using merge base as the starting point for the diff."
changedFiles = sh(script: "git diff --name-only \$(git merge-base HEAD origin/$CHANGE_TARGET)", returnStdout: true).trim().split('\n').findAll{it}
} else {
echo "Processing changes since last processed commit: $lastProcessedCommitHash"
changedFiles = sh(script: "git diff --name-only $lastProcessedCommitHash HEAD", returnStdout: true).trim().split('\n').findAll{it}
def commitExists = sh(script: "git cat-file -e $lastProcessedCommitHash 2>/dev/null", returnStatus: true) == 0
if (commitExists) {
echo "Processing changes since last processed commit: $lastProcessedCommitHash"
changedFiles = sh(script: "git diff --name-only $lastProcessedCommitHash HEAD", returnStdout: true).trim().split('\n').findAll{it}
} else {
echo "Commit hash $lastProcessedCommitHash does not exist in the current repository. Using merge base as the starting point for the diff."
changedFiles = sh(script: "git diff --name-only \$(git merge-base HEAD origin/$CHANGE_TARGET)", returnStdout: true).trim().split('\n').findAll{it}
}
}

echo "Excluded files: $excludedFiles"
Expand All @@ -328,7 +334,7 @@ void checkE2EIgnoreFiles() {
if (needToRunTests) {
echo "Some changed files are outside of the e2eignore list. Proceeding with execution."
} else {
if (currentBuild.previousBuild?.result in ['FAILURE', 'ABORTED', 'UNSTABLE']) {
if (currentBuild.previousBuild?.result != 'SUCCESS') {
echo "All changed files are e2eignore files, and previous build was unsuccessful. Propagating previous state."
currentBuild.result = currentBuild.previousBuild?.result
error "Skipping execution as non-significant changes detected and previous build was unsuccessful."
Expand Down
14 changes: 8 additions & 6 deletions config/rbac/cluster/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,19 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- pgv2.percona.com
resources:
- perconapgbackups/finalizers
- perconapgclusters/finalizers
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -133,12 +138,8 @@ rules:
- apiGroups:
- pgv2.percona.com
resources:
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
- perconapgclusters/finalizers
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -148,6 +149,7 @@ rules:
- create
- get
- list
- patch
- watch
- apiGroups:
- policy
Expand Down
14 changes: 8 additions & 6 deletions config/rbac/namespace/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,19 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- pgv2.percona.com
resources:
- perconapgbackups/finalizers
- perconapgclusters/finalizers
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -133,12 +138,8 @@ rules:
- apiGroups:
- pgv2.percona.com
resources:
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
- perconapgclusters/finalizers
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -148,6 +149,7 @@ rules:
- create
- get
- list
- patch
- watch
- apiGroups:
- policy
Expand Down
14 changes: 8 additions & 6 deletions deploy/bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45798,14 +45798,19 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- pgv2.percona.com
resources:
- perconapgbackups/finalizers
- perconapgclusters/finalizers
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -45830,12 +45835,8 @@ rules:
- apiGroups:
- pgv2.percona.com
resources:
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
- perconapgclusters/finalizers
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -45845,6 +45846,7 @@ rules:
- create
- get
- list
- patch
- watch
- apiGroups:
- policy
Expand Down
14 changes: 8 additions & 6 deletions deploy/cw-bundle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45798,14 +45798,19 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- pgv2.percona.com
resources:
- perconapgbackups/finalizers
- perconapgclusters/finalizers
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -45830,12 +45835,8 @@ rules:
- apiGroups:
- pgv2.percona.com
resources:
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
- perconapgclusters/finalizers
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -45845,6 +45846,7 @@ rules:
- create
- get
- list
- patch
- watch
- apiGroups:
- policy
Expand Down
14 changes: 8 additions & 6 deletions deploy/cw-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,19 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- pgv2.percona.com
resources:
- perconapgbackups/finalizers
- perconapgclusters/finalizers
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -137,12 +142,8 @@ rules:
- apiGroups:
- pgv2.percona.com
resources:
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
- perconapgclusters/finalizers
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -152,6 +153,7 @@ rules:
- create
- get
- list
- patch
- watch
- apiGroups:
- policy
Expand Down
14 changes: 8 additions & 6 deletions deploy/rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,19 @@ rules:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- pgv2.percona.com
resources:
- perconapgbackups/finalizers
- perconapgclusters/finalizers
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -137,12 +142,8 @@ rules:
- apiGroups:
- pgv2.percona.com
resources:
- perconapgclusters/status
- perconapgrestores/status
- perconapgupgrades/finalizers
- perconapgupgrades/status
- perconapgclusters/finalizers
verbs:
- patch
- update
- apiGroups:
- pgv2.percona.com
Expand All @@ -152,6 +153,7 @@ rules:
- create
- get
- list
- patch
- watch
- apiGroups:
- policy
Expand Down
19 changes: 18 additions & 1 deletion e2e-tests/functions
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,23 @@ deploy_operator_gh() {
| kubectl -n "${OPERATOR_NS:-$NAMESPACE}" apply -f -
}

remove_all_finalizers() {
resource_types=("pg-restore" "pg-backup" "pg")

for resource in "${resource_types[@]}"; do
echo "removing all finalizers for $resource resources"

kubectl -n "${NAMESPACE}" get "$resource" -o json | jq '.items[] | .metadata.name' -r | while IFS= read -r name; do
kubectl -n "${NAMESPACE}" delete "$resource" "$name" --wait=0

if [[ $(kubectl -n "${NAMESPACE}" get "$resource" "$name" -o yaml | yq '.metadata.finalizers | length') == "0" ]]; then
continue
fi
kubectl -n "${NAMESPACE}" patch "$resource" "$name" --type=json -p='[{"op": "remove", "path": "/metadata/finalizers"}]'
done
done
}

destroy_operator() {
kubectl -n "${OPERATOR_NS:-$NAMESPACE}" delete deployment percona-postgresql-operator --force --grace-period=0 || true
if [[ $OPERATOR_NS ]]; then
Expand Down Expand Up @@ -765,7 +782,7 @@ get_postgresql_logs() {

for pod in $(kubectl get pods -l postgres-operator.crunchydata.com/data=postgres --no-headers | awk '{print $1}'); do
local phase=$(kubectl -n ${NAMESPACE} get ${pod} -o jsonpath={".status.phase"})
if [[ "${phase}" != "Running" ]]; then
if [[ ${phase} != "Running" ]]; then
echo "Waiting for ${pod} to start running"
continue
fi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ commands:
source ../../functions
remove_all_finalizers
destroy_operator
timeout: 60
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ commands:
source ../../functions
remove_all_finalizers
destroy_operator
timeout: 60
2 changes: 2 additions & 0 deletions e2e-tests/tests/demand-backup/01-create-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ commands:
| yq '.spec.backups.pgbackrest.global.repo1-retention-full-type="count"' \
| yq '.spec.backups.pgbackrest.global.repo3-retention-full="2"' \
| yq '.spec.backups.pgbackrest.global.repo3-retention-full-type="count"' \
| yq '.spec.backups.pgbackrest.jobs.backoffLimit=20' \
| yq '.spec.backups.pgbackrest.jobs.restartPolicy="OnFailure"' \
| kubectl -n "${NAMESPACE}" apply -f -
Loading

0 comments on commit e37b58f

Please sign in to comment.