Version specific upgrade instructions
Overview
|
Review the instructions provided on this page before you upgrade! This page provides specific instructions and details of any required manual steps to upgrade to each supported version of SUSE Observability. Any significant change that may impact how SUSE Observability runs after upgrade will be described here, such as a change in memory requirements or configuration. Read and apply all instructions from the version that you are currently running up to the version that you will upgrade to. |
Upgrade instructions
2.13.0
Affinity and tolerations
All workloads now apply global.suseObservability.tolerations and global.suseObservability.affinity consistently, and a component setting overrides a global one. The new precedence rules are described in Configure Kubernetes affinities and tolerations. Review your values.yaml before you upgrade, because the following behavior changed:
-
Tolerations are no longer combined.
stackstate.components.all.tolerationswas appended to the tolerations of each component, andhbase.all.tolerationsto those of each HBase component. If a component sets its owntolerations, that list now replaces thealllist instead of being added to it. Repeat the shared tolerations that the component still needs, or move them toglobal.suseObservability.tolerations. -
An empty list now clears tolerations.
tolerations: []was the default and had no effect. It now removes the tolerations that the component would inherit fromstackstate.components.all,hbase.allorglobal.suseObservability.tolerations. If you created yourvalues.yamlfromhelm show values, remove leftovertolerations: []entries, including on subcharts such askafka,clickhouseorzookeeper. -
An empty
elasticsearch.nodeAffinity: {}now removes the global node affinity from Elasticsearch. Earlier versions shipped it as the default, so values files created fromhelm show valuesoften contain it. Remove the entry if the Elasticsearch pods must follow the global node affinity. -
A partial
affinityoverride keeps the other fields. For Kafka, ClickHouse, ZooKeeper, VictoriaMetrics, HBase and the other infrastructure components, a localaffinityused to drop the global node affinity and the anti-affinity of the sizing profile. It now replaces only the fields it sets. With an HA profile, an override that sets onlynodeAffinitygets the required pod anti-affinity back, and pods can stayPendingon clusters with fewer nodes than replicas. SetpodAntiAffinity: {}on the component, for examplekafka.affinity.podAntiAffinity: {}, to keep the previous behavior. -
Elasticsearch anti-affinity follows the global mode. It was always
hard. With an HA profile andglobal.suseObservability.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionset tofalse, it is nowsoft. Setelasticsearch.antiAffinity: hardto keep the previous behavior. -
Global affinity applies without a sizing profile. Installations that do not use a sizing profile now also get
global.suseObservability.affinity. If those workloads must not get it, removeglobal.suseObservability.affinityor override the field per component.
Before you upgrade, render your values with the current and the new chart version (helm template) and compare the tolerations and affinity of each workload.
2.12.0
Resource naming changes
Some resources now use fixed suse-observability-* names, including in installations using the default release name.
-
Argo CD: Enable pruning or sync with pruning. Obsolete PodDisruptionBudgets (PDBs) can block node drains, ServiceMonitors can duplicate scraping, and Deployments can keep running old versions.
PruneLast=truedoes not enable pruning. -
Monitoring namespaces: Put each installation’s renamed main-chart ServiceMonitors in a separate monitoring namespace to avoid name collisions.
-
External references: Update scripts and manifests referencing renamed resources, including the UI Service.
-
Interruptions: Plan for temporary UI, metrics ingestion and trace storage interruptions. With backups enabled, VictoriaMetrics and ClickHouse Pods may restart even if backup settings are unchanged. Restart active replication checks afterwards.
-
Interrupted upgrades: Confirm replacements exist before deleting obsolete resources owned by your installation. Preserve storage, credentials and referenced configuration.
Existing volumes and data are preserved; no storage migration is required.
Component connection settings
These overrides are ignored, including values reused from an earlier release:
| Setting | New behavior |
|---|---|
|
Use the local router and release name. |
|
Use platform backup storage and credentials configured through |
|
Use the local router. |
2.11.2
-
Backup jobs now consistently apply scheduling, metadata, and security settings. A new
backup.manualJobs.containerSecurityContextoverride is available. Before you upgrade, review:-
Any overrides under
backup.configuration.securityContext. -
Any explicit empty values in your backup configuration.
-
The enforced
backup/backup-v2component labels. -
The fixed resource limits of the settings-PVC initializer (
10mCPU and100Mimemory).
-
2.10.0
-
The Helm chart
values.yamlhas undergone a major refactoring to improve readability and maintainability, you must review the Helm chart migration guide for v2.10.0 and update yourvalues.yamlaccordingly. -
Minio was replaced with S3Proxy, this affects the backup and restore process. If you are using the backup and restore feature (i.e.
global.backup.enabled=true), please follow the instructions in the migration guide to migrate your backup and restore configuration to S3Proxy.
2.8.0
-
The installation process has been streamlined by deprecating the mandatory "extra values" generation step. Users are encouraged to follow the Migration Guide to update their existing configurations to the new global mode.