Skip to content

Commit c327902

Browse files
dmbarrasusecraffitaacevedoosoriofvlankveltakashraj4261
authored
STAC-23666: Add release notes 2.6.2 release and update with staging changes (#108)
* Reapply "STAC-22208: document Kubernetes/Rancher RBAC and the new permission naming" This reverts commit 3b459f5. * STAC-22990: Document describe subjects and the meaning of the field. Add notes regarding Configuration and Kubernetes subjects being immutable * Prefer the use of service tokens over api keys * add example of scoped permission for data ingestion * STAC-23049: describe user-session roles commamnd * STAC-22956: document how to add observability as a data source to grafana * STAC-0: Describe extra step to generate OIDC values to use rancher as authn provider * Update docs/next/modules/en/pages/k8s-suse-rancher-prime.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/next/modules/en/pages/k8s-suse-rancher-prime.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/next/modules/en/pages/k8s-suse-rancher-prime.adoc Co-authored-by: akashraj4261 <[email protected]> * STAC-0: Add note that the step is required to use RBAC * STAC-0: add details on how to configure Rancher as OIDC provider * STAC-23413: Update SUSE Observability installation to Openshift (#88) * STAC-23528 Restoring clickhouse backup will not fail with "can't create table" erros anymore. A new version of the Clickhouse backup tool fixed this problem. * Update docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc Co-authored-by: akashraj4261 <[email protected]> * STAC-23376: Update Elasticsearch restore documentation (#97) * STAC-23666: Add release note for the release 2.6.2 * Update docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc Co-authored-by: akashraj4261 <[email protected]> * Update docs/latest/modules/en/pages/setup/release-notes/v2.6.2.adoc Co-authored-by: akashraj4261 <[email protected]> * STAC-23666: Adding missing notes for the release --------- Co-authored-by: Bram Schuur <[email protected]> Co-authored-by: Alejandro Acevedo <[email protected]> Co-authored-by: Frank van Lankvelt <[email protected]> Co-authored-by: akashraj4261 <[email protected]> Co-authored-by: Vladimir Iliakov <[email protected]> Co-authored-by: Remco Beckers <[email protected]>
1 parent a70fc9b commit c327902

File tree

3 files changed

+131
-31
lines changed

3 files changed

+131
-31
lines changed

docs/latest/modules/en/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@
136136
*** xref:setup/release-notes/v2.5.0.adoc[v2.5.0 - 08/Sep/2025]
137137
*** xref:setup/release-notes/v2.6.0.adoc[v2.6.0 - 29/Sep/2025]
138138
*** xref:setup/release-notes/v2.6.1.adoc[v2.6.1 - 13/Oct/2025]
139+
*** xref:setup/release-notes/v2.6.2.adoc[v2.6.2 - 03/Nov/2025]
139140
** xref:setup/upgrade-stackstate/README.adoc[Upgrade SUSE Observability]
140141
*** xref:setup/upgrade-stackstate/migrate-from-6.adoc[Migration from StackState]
141142
*** xref:setup/upgrade-stackstate/steps-to-upgrade.adoc[Steps to upgrade]

docs/latest/modules/en/pages/setup/data-management/backup_restore/kubernetes_backup.adoc

Lines changed: 89 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ The following data will *not* be backed up:
2525

2626
=== Storage options
2727

28-
Backups are sent to an instance of https://min.io/[MinIO (min.io)], which is automatically started by the `stackstate` Helm chart when automatic backups are enabled. MinIO is an object storage system with the same API as AWS S3. It can store its data locally or act as a gateway to https://docs.min.io/docs/minio-gateway-for-s3.html[AWS S3 (min.io)], https://docs.min.io/docs/minio-gateway-for-azure.html[Azure BLob Storage (min.io)] and other systems.
28+
Backups are sent to an instance of https://min.io/[MinIO (min.io)], which is automatically started by the `suse-observability` Helm chart when automatic backups are enabled. MinIO is an object storage system with the same API as AWS S3. It can store its data locally or act as a gateway to https://docs.min.io/docs/minio-gateway-for-s3.html[AWS S3 (min.io)], https://docs.min.io/docs/minio-gateway-for-azure.html[Azure BLob Storage (min.io)] and other systems.
2929

3030
The built-in MinIO instance can be configured to store the backups in three locations:
3131

@@ -46,7 +46,7 @@ Amazon S3-managed keys (SSE-S3) should be used when encrypting S3 buckets that s
4646
4747
⚠️ Encryption with AWS KMS keys stored in AWS Key Management Service (SSE-KMS) isn't supported. This will result in errors such as this one in the Elasticsearch logs:
4848
49-
`Caused by: org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: sdk_client_exception: Unable to verify integrity of data upload. Client calculated content hash (contentMD5: ZX4D/ZDUzZWRhNDUyZTI1MTc= in base 64) didn't match hash (etag: c75faa31280154027542f6530c9e543e in hex) calculated by Amazon S3. You may need to delete the data stored in Amazon S3. (metadata.contentMD5: null, md5DigestStream: com.amazonaws.services.s3.internal.MD5DigestCalculatingInputStream@5481a656, bucketName: stackstate-elasticsearch-backup, key: tests-UG34QIV9s32tTzQWdPsZL/master.dat)",`
49+
`Caused by: org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: sdk_client_exception: Unable to verify integrity of data upload. Client calculated content hash (contentMD5: ZX4D/ZDUzZWRhNDUyZTI1MTc= in base 64) didn't match hash (etag: c75faa31280154027542f6530c9e543e in hex) calculated by Amazon S3. You may need to delete the data stored in Amazon S3. (metadata.contentMD5: null, md5DigestStream: com.amazonaws.services.s3.internal.MD5DigestCalculatingInputStream@5481a656, bucketName: suse-observability-elasticsearch-backup, key: tests-UG34QIV9s32tTzQWdPsZL/master.dat)",`
5050
====
5151

5252

@@ -265,7 +265,7 @@ The backup schedule can be configured using the Helm value `victoria-metrics-0.b
265265

266266
== OpenTelemetry (ClickHouse)
267267

268-
ClickHouse uses both incremental and full backups. By default, full backups are executed daily at 00:45 am, and incremental backups are performed every hour. Each backup creates a new directory, old backups (directories) are deleted automatically. All files located in a backup directory should be treated as a single whole and can only be moved, copied or deleted as a whole. We recommend to uses `clickhouse-backup` tool to manage backups. The tool is available on the `stackstate-clickhouse-shard0-0` Pod.
268+
ClickHouse uses both incremental and full backups. By default, full backups are executed daily at 00:45 am, and incremental backups are performed every hour. Each backup creates a new directory and old backups (directories) are deleted automatically. All files located in a backup directory are treated as a singular group and can only be moved, copied or deleted as a group. It's recommended to use the `clickhouse-backup` tool available on the `suse-observability-clickhouse-shard0-0` Pod to manage backups.
269269

270270
=== Enable scheduled backups
271271

@@ -521,15 +521,15 @@ The output should look like this:
521521
[,bash]
522522
----
523523
=== Scaling down the Victoria Metrics instance
524-
statefulset.apps/stackstate-victoria-metrics-0 scaled
524+
statefulset.apps/suse-observability-victoria-metrics-0 scaled
525525
=== Allowing pods to terminate
526526
=== Starting restore job
527527
job.batch/victoria-metrics-restore-backup-20231017t092607 created
528528
=== Restore job started. Follow the logs with the following command:
529529
kubectl logs --follow job/victoria-metrics-restore-backup-20231017t092607
530530
=== After the job has completed clean up the job and scale up the Victoria Metrics instance pods again with the following commands:
531531
kubectl delete job victoria-metrics-restore-backup-20231017t092607
532-
kubectl scale statefulsets stackstate-victoria-metrics-0 --replicas=1
532+
kubectl scale statefulsets suse-observability-victoria-metrics-0 --replicas=1
533533
----
534534

535535
Then follow logs to check the job status
@@ -654,20 +654,25 @@ The timestamp when the backup was taken is part of the backup name.
654654

655655
=== Delete Elasticsearch indices
656656

657-
To delete existing Elasticsearch indices so that a snapshot can be restored, follow these steps.
657+
[NOTE]
658+
====
659+
You can use the `--delete-all-indices` flag with the restore script to automatically delete all indices before restoring. For more information, see xref:/setup/data-management/backup_restore/kubernetes_backup.adoc#_restore_an_elasticsearch_snapshot[restore an Elasticsearch snapshot].
660+
====
658661

659-
. Stop indexing - scale down all `*2es` deployments to 0:
662+
To manually delete the existing Elasticsearch indices and restore a snapshot, follow these steps:
663+
664+
. Stop indexing - scale down all deployments using Elasticsearch to 0:
660665
+
661666
[,bash]
662667
----
663-
kubectl scale --replicas=0 deployment/e2es
668+
kubectl scale --replicas=0 deployment -l observability.suse.com/scalable-during-es-restore="true"
664669
----
665670

666671
. Open a port-forward to the Elasticsearch master:
667672
+
668673
[,bash]
669674
----
670-
kubectl port-forward service/stackstate-elasticsearch-master 9200:9200
675+
kubectl port-forward service/suse-observability-elasticsearch-master 9200:9200
671676
----
672677

673678
. Get a list of all indices:
@@ -681,10 +686,12 @@ The output should look like this:
681686
+
682687
[,bash]
683688
----
684-
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
685-
green open sts_internal_events-2022.09.20 fTk7iEYtQI6ruVFuwNnbPw 1 0 125 0 71.7kb 71.7kb
686-
green open .geoip_databases GYA_c3i6QKenfFehnwBcAA 1 0 41 0 38.8mb 38.8mb
687-
green open sts_multi_metrics-2022.09.20 MT1DceQPTDWVIfBJdl7qUg 3 0 1252 0 550.1kb 550.1kb
689+
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size dataset.size
690+
green open .ds-sts_k8s_logs-2025.09.28-004619 9p7RZwNCR-aQwInTMr5Bow 3 1 24511032 0 6gb 3gb 3gb
691+
green open sts_topology_events-2025.10.01 86I2JZIeRzqWkK1dolHzhg 1 1 1576132 0 111.6mb 55.8mb 55.8mb
692+
green open sts_topology_events-2025.10.02 T-bcrok_S1uVPLusQuCMxw 1 1 999748 0 75.2mb 37.6mb 37.6mb
693+
green open .ds-sts_k8s_logs-2025.09.30-004653 rwlcAr0sTPe9NaImtJLIiw 3 1 24387607 0 6gb 3gb 3gb
694+
green open sts_topology_events-2025.09.10 T0x-qvyUR2-dg4fyvdZIaQ 1 1 1746143 0 131.6mb 65.8mb 65.8mb
688695
----
689696

690697
. Delete an index with a following command:
@@ -716,11 +723,36 @@ curl -X DELETE "http://localhost:9200/sts_internal_events-2021.02.19?pretty"
716723
====
717724
*When a snapshot is restored, existing indices won't be overwritten.*
718725
719-
See xref:/setup/data-management/backup_restore/kubernetes_backup.adoc#_delete_elasticsearch_indices[delete Elasticsearch indices].
726+
You can use the `--delete-all-indices` flag to automatically delete all indices by the restoring script, or manually delete them as described in xref:/setup/data-management/backup_restore/kubernetes_backup.adoc#_delete_elasticsearch_indices[delete Elasticsearch indices].
727+
728+
====
729+
730+
[WARNING]
731+
====
732+
*If the Elasticsearch `PersistentVolumes` were re-created* (for example, by accidental deletion and following pod restart), you must recreate the Elasticsearch backup configuration by using either of the below two methods:
733+
734+
* Reinstalling the SUSE Observability Helm chart with the same configuration used for the initial installation (OR)
735+
* Manually triggering the backup initialization CronJob:
736+
+
737+
[,bash]
738+
----
739+
kubectl create job --from=cronjob.batch/suse-observability-backup-init "suse-observability-backup-init-$(date +%s)"
740+
----
720741
====
742+
To restore an Elasticsearch snapshot, select a snapshot name and pass it as the first parameter. You can optionally specify:
743+
744+
* A comma-separated list of indices to restore. If not specified, all indices matching the Helm value `backup.elasticsearch.scheduled.indices` will be restored. The default value is `"sts*"`).
745+
* Introduced in version `2.6.1`, you can use the "--delete-all-indices" flag to automatically delete all existing indices before restoring.
721746

747+
==== Basic restore
748+
749+
[,bash]
750+
----
751+
./restore/restore-elasticsearch-snapshot.sh \
752+
sts-backup-20210223-0300-ppss8nx40ykppss8nx40yk
753+
----
722754

723-
To restore an Elasticsearch snapshot, select a snapshot name and pass it as the first parameter in the following command line. You can optionally specify a second parameter with a comma-separated list of the indices that should be restored. If not specified, all indices that match the Helm value `backup.elasticsearch.scheduled.indices` will be restored (default `"sts*"`):
755+
==== Restore specific indices
724756

725757
[,bash]
726758
----
@@ -729,38 +761,64 @@ To restore an Elasticsearch snapshot, select a snapshot name and pass it as the
729761
"<INDEX_TO_RESTORE>,<INDEX_TO_RESTORE>"
730762
----
731763

732-
The output should look like this:
764+
==== Restore with automatic index deletion
765+
766+
[,bash]
767+
----
768+
./restore/restore-elasticsearch-snapshot.sh \
769+
sts-backup-20210223-0300-ppss8nx40ykppss8nx40yk \
770+
--delete-all-indices
771+
----
772+
773+
When using the `--delete-all-indices` flag, confirm in the prompt to continue the action:
733774

734775
[,text]
735776
----
736-
job.batch/elasticsearch-restore-20210229t152530 created
737-
Waiting for job to start...
738-
Waiting for job to start...
739-
=== Restoring Elasticsearch snapshot "sts-backup-20210223-0300-ppss8nx40ykppss8nx40yk" from snapshot repository "sts-backup" in bucket "sts-elasticsearch-backup"...
777+
WARNING: All indices will be deleted before restore!
778+
Are you sure you want to continue? (yes/no): yes
779+
=== Starting restore job
780+
job.batch/elasticsearch-restore-20251003t115746 created
781+
=== Restore job started. Follow the logs and clean up the job with the following commands:
782+
kubectl logs --follow job/elasticsearch-restore-20251003t115746
783+
kubectl delete job/elasticsearch-restore-20251003t115746
784+
----
785+
786+
Follow the logs to see the deletion and restore progress:
787+
788+
[,text]
789+
----
790+
kubectl logs --follow job/elasticsearch-restore-20251003t115746
791+
792+
=== Deleting all indices matching pattern "sts*"...
793+
Found indices to delete:
794+
.ds-sts_k8s_logs-2025.10.03-000007
795+
.ds-sts_k8s_logs-2025.10.03-000004
796+
sts_topology_events-2025.10.02
797+
sts_topology_events-2025.10.03
798+
...
799+
=== All indices deleted successfully
800+
=== Restoring ElasticSearch snapshot "sts-backup-20251003-0925-aby7d1tgs9whvbm6qj04ug" (indices = "sts*") from snapshot repository "sts-backup" in bucket "sts-elasticsearch-backup"...
740801
{
741802
"snapshot" : {
742-
"snapshot" : "sts-backup-20210223-0300-ppss8nx40ykppss8nx40yk",
803+
"snapshot" : "sts-backup-20251003-0925-aby7d1tgs9whvbm6qj04ug",
743804
"indices" : [
744-
".slm-history-1-000001",
745-
"ilm-history-1-000001",
746-
"sts_internal_events-2021.02.19"
805+
".ds-sts_k8s_logs-2025.10.02-000003",
806+
"sts_topology_events-2025.10.02",
807+
"sts_topology_events-2025.10.03"
747808
],
748809
"shards" : {
749-
"total" : 3,
810+
"total" : 15,
750811
"failed" : 0,
751-
"successful" : 3
812+
"successful" : 15
752813
}
753814
}
754815
}
755816
===
756-
job.batch "elasticsearch-restore-20210229t152530" deleted
757817
----
758818

759-
The indices restored are listed in the output, as well as the number of failed and successful restore actions.
760-
761-
After the indices have been restored, scale up all `*2es` deployments:
819+
After the indices have been restored, scale up all deployments using Elasticsearch:
762820

763821
[,bash]
764822
----
765-
kubectl scale --replicas=1 deployment/e2es
823+
kubectl scale --replicas=1 deployment -l observability.suse.com/scalable-during-es-restore="true"
766824
----
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
= v2.6.2 - 03/Nov/2025
2+
:revdate: 2025-11-03
3+
:page-revdate: {revdate}
4+
:description: SUSE Observability Self-hosted
5+
6+
== Release Notes: {stackstate-product-name} Helm Chart v2.6.2
7+
8+
== New Features & Enhancements
9+
10+
* *Monitor Timeline History:* The monitor timeline now displays all historic health statuses within the time range.
11+
** Health statuses created *before* the upgrade will appear as individual entries.
12+
** All statuses produced *after* the upgrade will be intelligently merged into a single status line for improved readability.
13+
* *Monitors: Function Reference by ID:* Monitor functions can now be referenced by their unique identifier during import and export operations.
14+
* *Open Telemetry Collector Upgrade:* The Open Telemetry collector has been upgraded.
15+
* *OpenJDK and Dependency Upgrades:* OpenJDK and various library dependencies have been updated.
16+
* *Helm Chart Warnings Removed:* Warnings that previously appeared when installing or upgrading the SUSE Observability Helm chart have been removed.
17+
* *Agent: Splunk Integration Enhancements:*
18+
** Added support for varying **JWT authentication mechanisms** for Splunk integration.
19+
** Added options to specify an **extra header** for Splunk authentication (`SPLUNK_AUTH_EXTRA_HEADER_NAME`/`VALUE`).
20+
** Added an option to specify the **default namespace user** (`default_ns_user`) for Splunk saved searches.
21+
* *Agent: Dynatrace API Migration:* The Dynatrace integration's data ingestion has been migrated from **API v1 to API v2**.
22+
* *Time Series Alias Auto-completion:* The time series alias feature now provides **auto-completion for metric labels**, improving query efficiency.
23+
* *Views: Enhanced "Save" Button:* The **"Save" button for views** now has a distinct color to clearly draw attention to unsaved changes.
24+
* *Manual Data Refresh:* Added a **manual "Refresh" option** (located next to the time-based refresh) for traces, metrics, logs, and other data displays.
25+
* *Automatic Common StackPack Management:* The *Common StackPack* is now automatically installed and upgraded. This simplifies custom StackPack creation, as the settings provided by the Common StackPack are available by default without requiring an explicit dependency configuration.
26+
27+
== Bug Fixes
28+
29+
* *Platform: Ephemeral Storage Limits:* Increased the ephemeral storage limits to **1Gi per pod** to prevent pod evictions on clusters that retain a large volume of logs.
30+
* *Job and CronJob Configuration Consistency:* Ensured that `podAnnotations`, `podLabels`, `nodeSelectors`, `affinity`, and `tolerations` now correctly apply to all Jobs and CronJobs.
31+
* *Job and CronJob Image Pull Secrets:* Ensured that all Jobs and CronJobs support the `global.imagePullSecrets` configuration.
32+
* *Rancher Extension Session Fix:* The Rancher extension no longer reuses the existing browser session to fetch Observability state.
33+
* *Platform: Kubernetes RBAC Agent Image Registry:* Fixed an issue where the `kubernetes-rbac-agent` was not picking up the `global.imageRegistry` Helm override value.
34+
* *Platform: AMQP Exchange Support:* Fixed support for AMQP exchanges.
35+
* *Open Telemetry Component Access:* Resolved an issue where Open Telemetry components were unavailable for users who had permissions to view the cluster data.
36+
* *Missing Topology Permissions Spinner:* Fixed an issue where a user missing topology permissions would encounter a perpetual loading spinner.
37+
* *Rancher Cluster Owner Access:* Corrected a bug that prevented users with the Rancher **Cluster Owner** role from accessing the cluster data.
38+
39+
=== Agent Bug Fixes
40+
41+
* *Agent: AMQP Protocol Detection:* Fixed a misaligned read issue in the AMQP protocol detection logic.

0 commit comments

Comments
 (0)