Skip to content

Commit 4471417

Browse files
committed
Merge branch 'add-version-1.15' into 'main'
Add version 1.15 See merge request ongresinc/stackgres!1615
2 parents c1949eb + 65d2755 commit 4471417

193 files changed

Lines changed: 3155 additions & 3166 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.

.gitlab/issue_templates/RC Release.md

Lines changed: 56 additions & 100 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,66 @@
1+
# :rocket: Release 1.14.0-rc1 (24-10-2024)
2+
3+
## :notepad_spiral: NOTES
4+
5+
StackGres 1.14.0-rc1 is out! :confetti_ball: :champagne:
6+
7+
This new release of StackGres add a new layer that will collect all the metrics in an OpenTelemetry collector layer, allowing to export them
8+
in a variety of other platform than Prometheus. But we also added a lot of fixes to improve stability!
9+
10+
So, what you are waiting for to try this release and have a look to the future of StackGres!
11+
12+
## :sparkles: NEW FEATURES AND CHANGES
13+
14+
* Support Postgres 17
15+
* Added OpenTelemetry Collector layer
16+
* Added common retry logic to backup and sharded backup and extended its usage
17+
18+
## Web Console
19+
20+
* Support for SGStreams in the Web Console
21+
* Include graphs for TPS, percentile histogram and most used statements on becnhmark status
22+
23+
## :bug: FIXES
24+
25+
* SGStream fields are not rendered in the CSV of operator bundle
26+
* Allow sgconfig to be installed before operator
27+
* Backup using volume snapshot do not wait on conflict
28+
* Sharded cluster is not setting any postgres services configuration
29+
* Replication initialization is not using the latest backup
30+
* Backups, dbops, sharded backups and sharded dbops change to completed state only on full resync
31+
* Sharded dbops/backup do not cleanup previous dbops/backup when retrying
32+
* Disable pager for patroni container
33+
* Validating webhook returns 500 on wrong enum values
34+
* Avoid removing resources when owner is deleted
35+
* Avoid adding StatefulSet owner reference on PVC to avoid deletion on removal
36+
* pg_replication_is_replica metric has no unique labels
37+
* Disable pager for patroni container
38+
* Sharded backup run forewer if a generated SGBackup not yet completed is removed
39+
* Backup configuration interfere with replicate from
40+
41+
## Web Console
42+
43+
Nothing new here! :eyes:
44+
45+
## :construction: KNOWN ISSUES
46+
47+
* Backups may be restored with inconsistencies when performed with a Postgres instance running on a different architecture ([#1539](https://gitlab.com/ongresinc/stackgres/-/issues/1539))
48+
49+
## :up: UPGRADE
50+
51+
To upgrade from a previous installation of the StackGres operator's helm chart you will have to upgrade the helm chart release.
52+
For more detailed information please refer to [our documentation](https://stackgres.io/doc/latest/install/helm/upgrade/#upgrade-operator).
53+
54+
To upgrade StackGres operator's (upgrade only works starting from 1.1 version or above) helm chart issue the following commands (replace namespace and release name if you used something different):
55+
56+
`helm upgrade -n "stackgres" "stackgres-operator" https://stackgres.io/downloads/stackgres-k8s/stackgres/1.14.0-rc1/helm/stackgres-operator.tgz`
57+
58+
> IMPORTANT: This release is incompatible with previous `alpha` or `beta` versions. Upgrading from those versions will require uninstalling completely StackGres including all clusters and StackGres CRDs (those in `stackgres.io` group) first.
59+
60+
Thank you for all the issues created, ideas, and code contributions by the StackGres Community!
61+
62+
## :twisted_rightwards_arrows: [FULL LIST OF COMMITS](https://gitlab.com/ongresinc/stackgres/-/commits/1.14.0-rc1)
63+
164
# :rocket: Release 1.13.0 (09-09-2024)
265

366
## :notepad_spiral: NOTES

doc/content/en/01-introduction/06-versions/_index.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,30 @@ showToc: true
88

99
=======
1010

11+
## StackGres 1.14.0-rc1
12+
13+
| Component | Versions |
14+
| ------ | ----------- |
15+
| PostgreSQL 17 | 17.0 |
16+
| PostgreSQL 16 | 16.4, 16.3, 16.2, 16.1, 16.0 |
17+
| PostgreSQL 15 | 15.8, 15.7, 15.6, 15.5, 15.4, 15.3, 15.2, 15.1, 15.0 |
18+
| PostgreSQL 14 | 14.13, 14.12, 14.11, 14.10, 14.9, 14.8, 14.7, 14.6, 14.5, 14.4, ~14.2, 14.1, 14.0~ |
19+
| PostgreSQL 13 | 13.16 13.15, 13.14, 13.13, 13.12, 13.11, 13.10, 13.9, 13.8, 13.7, 13.6, 13.5, 13.4, 13.3, 13.2, 13.1, 13.0 |
20+
| PostgreSQL 12 | 12.20, 12.19, 12.18, 12.17, 12.16, 12.15, 12.14, 12.13, 12.12, 12.11, 12.10, 12.9, 12.8, 12.7, 12.6, 12.5, 12.4, 12.3, 12.2 and 12.1 |
21+
| PostgreSQL for Babelfish 16 | 16.2, 16.1 |
22+
| PostgreSQL for Babelfish 15 | 15.5 |
23+
| PostgreSQL for Babelfish 14 | 14.10, 14.3 |
24+
| PostgreSQL for Babelfish 13 | 13.9, 13.6 |
25+
| Patroni | 3.3.3, 3.3.2, 3.3.0, 3.2.2, 3.0.2, 2.1.4 |
26+
| WAL-G | 3.0.3, 3.0.2, 3.0.1, 2.0.1, 2.0.0, 1.1 |
27+
| PgBouncer | 1.23.1 |
28+
| Postgres Exporter | 0.15.0 |
29+
| Envoy | 1.31.2 |
30+
| Fluent-Bit | 3.1.8 |
31+
| Fluentd | 1.17.1 |
32+
| Babelfish Compass | 2024.07 |
33+
| OTEL Collector | 0.110.0 |
34+
1135
## StackGres 1.13.0
1236

1337
| Component | Versions |

stackgres-k8s/e2e/spec/dbops-security-upgrade

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,6 @@ check_cluster_before_security_upgrade() {
714714
PATRONI_CONFIG="$(kubectl get endpoints -n "$CLUSTER_NAMESPACE" "$CLUSTER_CONFIG_ENDPOINTS_NAME" --template '{{ .metadata.annotations.config }}')"
715715
PATRONI_CONFIG="$(printf '%s' "$PATRONI_CONFIG" | jq -Sc '.
716716
| if .synchronous_mode then . else del(.synchronous_node_count) end
717-
| del(.postgresql.pg_hba)
718717
')"
719718
jq -Sc '.
720719
| if .synchronous_mode then . else del(.synchronous_node_count) end

stackgres-k8s/e2e/spec/dbops-security-upgrade-olm

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
#!/bin/sh
22

3+
E2E_OLM_VERSION="${E2E_OLM_VERSION:-0.28.0}"
4+
35
. "$SPEC_PATH/dbops-security-upgrade"
46

57
e2e_test_extra_hash() {
8+
printf 'E2E_OLM_VERSION=%s\n' "$E2E_OLM_VERSION"
69
"$SHELL" "$PROJECT_PATH/stackgres-k8s/ci/build/build-functions.sh" path_hash \
710
"stackgres-k8s/install/operator-sdk"
811
"$SHELL" "$PROJECT_PATH/stackgres-k8s/ci/build/build-functions.sh" path_hash \
@@ -73,7 +76,8 @@ e2e_install_previous_operator() {
7376
|| ! kubectl get clusterrole system:controller:operator-lifecycle-manager 2>/dev/null
7477
wait_until eval '! kubectl get namespace olm > /dev/null 2>&1'
7578
operator-sdk olm install \
76-
--timeout "${E2E_TIMEOUT}s"
79+
--timeout "${E2E_TIMEOUT}s" \
80+
--version "$E2E_OLM_VERSION"
7781
fi
7882

7983
if [ "$E2E_ENV" != "minishift" ] && [ "$E2E_ENV" != "crc" ] && [ "$E2E_ENV" != "microshift" ]

stackgres-k8s/e2e/spec/distributed-logs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ e2e_test_install() {
5353
wait_pods_running "$CLUSTER_NAMESPACE" "4"
5454
}
5555

56+
e2e_test_uninstall() {
57+
helm_cleanup_chart "$COPY_CLUSTER_NAME" "$CLUSTER_NAMESPACE"
58+
helm_cleanup_chart "$CLUSTER_NAME" "$CLUSTER_NAMESPACE"
59+
60+
k8s_async_cleanup_namespace "$CLUSTER_NAMESPACE"
61+
}
62+
5663
e2e_test() {
5764
if [ -n "$TIMESCALE_VERSION" ]
5865
then

stackgres-k8s/e2e/spec/operator-helm

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ e2e_test() {
2424
run_test "Check that operator can not be upgrade from an alpha version" check_operator_upgrade_alpha
2525
run_test "Check that operator can not be upgrade from a beta version" check_operator_upgrade_beta
2626
run_test "Check that operator can not be upgrade from version 0.9.5" check_operator_upgrade_0_9_5
27-
run_test "Check that operator can be upgrade from version 1.12.0" check_operator_upgrade_1_12_0
2827
run_test "Check that operator can be upgrade from version 1.13.0" check_operator_upgrade_1_13_0
28+
run_test "Check that operator can be upgrade from version 1.14.0" check_operator_upgrade_1_14_0
2929
run_test "Check that operator can not be upgrade with an SGCluster that uses version 0.9.5" check_operator_upgrade_with_cluster_using_0_9_5
30-
run_test "Check that operator can be upgrade with an SGCluster that uses version 1.12.0 and 1.13.0" check_operator_upgrade_with_cluster_using_1_12_0_and_1_13_0
30+
run_test "Check that operator can be upgrade with an SGCluster that uses version 1.13.0 and 1.14.0" check_operator_upgrade_with_cluster_using_1_13_0_and_1_14_0
3131
run_test "Check that operator can be deleted" check_operator_delete
3232
run_test "Check that operator can be installed from outside" check_operator_install_outside
3333
run_test "Check that operator can be installed with load balancer" check_operator_install_load_balancer
@@ -163,31 +163,31 @@ check_operator_upgrade_0_9_5() {
163163
fi
164164
}
165165

166-
check_operator_upgrade_1_12_0() {
167-
local PREVIOUS_VERSION=1.12.0
166+
check_operator_upgrade_1_13_0() {
167+
local PREVIOUS_VERSION=1.13.0
168168
kubectl label deployment -n "$OPERATOR_NAMESPACE" stackgres-operator \
169169
--overwrite "version=$PREVIOUS_VERSION"
170170
local EXIT_CODE RESULT
171171
try_function upgrade_operator
172172
if "$RESULT"
173173
then
174-
success "Upgrade did not failed when previous version was 1.12.0"
174+
success "Upgrade did not failed when previous version was 1.13.0"
175175
else
176-
fail "Upgrade failed when previous version was 1.12.0"
176+
fail "Upgrade failed when previous version was 1.13.0"
177177
fi
178178
}
179179

180-
check_operator_upgrade_1_13_0() {
181-
local PREVIOUS_VERSION=1.13.0
180+
check_operator_upgrade_1_14_0() {
181+
local PREVIOUS_VERSION=1.14.0
182182
kubectl label deployment -n "$OPERATOR_NAMESPACE" stackgres-operator \
183183
--overwrite "version=$PREVIOUS_VERSION"
184184
local EXIT_CODE RESULT
185185
try_function upgrade_operator
186186
if "$RESULT"
187187
then
188-
success "Upgrade did not failed when previous version was 1.13.0"
188+
success "Upgrade did not failed when previous version was 1.14.0"
189189
else
190-
fail "Upgrade failed when previous version was 1.13.0"
190+
fail "Upgrade failed when previous version was 1.14.0"
191191
fi
192192
}
193193

@@ -214,13 +214,13 @@ check_operator_upgrade_with_cluster_using_0_9_5() {
214214
remove_cluster "$CLUSTER_NAME" "$CLUSTER_NAMESPACE"
215215
}
216216

217-
check_operator_upgrade_with_cluster_using_1_12_0_and_1_13_0() {
217+
check_operator_upgrade_with_cluster_using_1_13_0_and_1_14_0() {
218218
CLUSTER_1_NAME="$(get_sgcluster_name "$SPEC_NAME-1")"
219219
CLUSTER_2_NAME="$(get_sgcluster_name "$SPEC_NAME-2")"
220220
NODE_LABEL_KEY="$(random_string)"
221221
NODE_LABEL_VALUE="$(random_string)"
222-
local PREVIOUS_VERSION_1=1.12.0
223-
local PREVIOUS_VERSION_2=1.13.0
222+
local PREVIOUS_VERSION_1=1.13.0
223+
local PREVIOUS_VERSION_2=1.14.0
224224
create_or_replace_cluster "$CLUSTER_NAME" "$CLUSTER_NAMESPACE" 1 \
225225
--set cluster.create=false \
226226
--set-string cluster.postgres.version=13.9
@@ -246,9 +246,9 @@ check_operator_upgrade_with_cluster_using_1_12_0_and_1_13_0() {
246246
try_function upgrade_operator
247247
if "$RESULT"
248248
then
249-
success "Upgrade did not failed with an SGCluster that uses version 1.12.0 and 1.13.0"
249+
success "Upgrade did not failed with an SGCluster that uses version 1.13.0 and 1.14.0"
250250
else
251-
fail "Upgrade failed with an SGCluster that uses version 1.12.0 and 1.13.0"
251+
fail "Upgrade failed with an SGCluster that uses version 1.13.0 and 1.14.0"
252252
fi
253253
remove_cluster "$CLUSTER_1_NAME" "$CLUSTER_NAMESPACE"
254254
remove_cluster "$CLUSTER_2_NAME" "$CLUSTER_NAMESPACE"

stackgres-k8s/e2e/spec/operator-olm

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
#!/bin/sh
22

3+
E2E_OLM_VERSION="${E2E_OLM_VERSION:-0.28.0}"
4+
5+
. "$SPEC_PATH/abstract/metrics"
6+
7+
e2e_test_extra_hash() {
8+
printf 'E2E_OLM_VERSION=%s\n' "$E2E_OLM_VERSION"
9+
"$SHELL" "$PROJECT_PATH/stackgres-k8s/ci/build/build-functions.sh" path_hash \
10+
"stackgres-k8s/install/operator-sdk"
11+
"$SHELL" "$PROJECT_PATH/stackgres-k8s/ci/build/build-functions.sh" path_hash \
12+
"$(realpath --relative-to "$PROJECT_PATH" "$SPEC_PATH/abstract/metrics")"
13+
}
14+
315
e2e_exclusive_lock() {
416
true
517
}
@@ -42,6 +54,8 @@ e2e_test() {
4254

4355
run_test "Check that resources can be created" check_resources_creation
4456

57+
run_test "Checking that metrics are exported" check_metrics "$CLUSTER_1_NAME"
58+
4559
run_test "Namespace endpoint should return all kubernetes namespaces" check_namespace
4660

4761
if [ "$E2E_SKIP_CHECK_OPERATOR_DELETE" = true ]
@@ -535,7 +549,8 @@ e2e_install_olm() {
535549
|| ! kubectl get clusterrole system:controller:operator-lifecycle-manager 2>/dev/null
536550
wait_until eval '! kubectl get namespace olm > /dev/null 2>&1'
537551
operator-sdk olm install \
538-
--timeout "${E2E_TIMEOUT}s"
552+
--timeout "${E2E_TIMEOUT}s" \
553+
--version "$E2E_OLM_VERSION"
539554
fi
540555

541556
CATALOG_IMAGE_NAME="${E2E_CATALOG_IMAGE_REGISTRY:-$E2E_OPERATOR_REGISTRY${E2E_OPERATOR_REGISTRY_PATH%/}}/stackgres/${OPERATOR_BUNDLE_CATALOG_IMAGE_NAME##*/}"

0 commit comments

Comments
 (0)