Skip to content

BUG: helm values update in Profile/ClusterProfile does not cause the helm chart re-deploy #1631

@BROngineer

Description

@BROngineer

Problem Description

When values for helm chart are updated in [Cluster]Profile.spec.helmCharts[*].values it does not trigger helm chart re-deployment/upgrade.

I deployed ClusterProfile with one helm chart defined with invalid values (string in the field expecting int):

# k get clusterprofile cluster-monitoring -oyaml

apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterProfile
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"config.projectsveltos.io/v1beta1","kind":"ClusterProfile","metadata":{"annotations":{},"generation":2,"labels":{"k0rdent.mirantis.com/managed":"true","projectsveltos.io/cluster-name":"mgmt","projectsveltos.io/cluster-profile-name":"cluster-monitoring","projectsveltos.io/cluster-type":"Sveltos"},"name":"cluster-monitoring"},"spec":{"clusterRefs":[{"apiVersion":"lib.projectsveltos.io/v1beta1","kind":"SveltosCluster","name":"mgmt","namespace":"mgmt"}],"clusterSelector":{},"continueOnConflict":false,"continueOnError":true,"helmCharts":[{"helmChartAction":"Install","releaseName":"prometheus","releaseNamespace":"monitoring","repositoryURL":"gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus","values":"server:\n  replicaCount: one\n"}],"reloader":false,"stopMatchingBehavior":"WithdrawPolicies","syncMode":"Continuous","tier":2147483347}}
  creationTimestamp: "2026-03-05T15:13:35Z"
  finalizers:
  - clusterprofilefinalizer.projectsveltos.io
  generation: 1
  labels:
    k0rdent.mirantis.com/managed: "true"
    projectsveltos.io/cluster-name: mgmt
    projectsveltos.io/cluster-profile-name: cluster-monitoring
    projectsveltos.io/cluster-type: Sveltos
  name: cluster-monitoring
  resourceVersion: "16893"
  uid: 7583a13d-9518-4900-b37f-e7e0cabfa29a
spec:
  clusterRefs:
  - apiVersion: lib.projectsveltos.io/v1beta1
    kind: SveltosCluster
    name: mgmt
    namespace: mgmt
  clusterSelector: {}
  continueOnConflict: false
  continueOnError: true
  helmCharts:
  - helmChartAction: Install
    releaseName: prometheus
    releaseNamespace: monitoring
    repositoryURL: gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus
    values: |
      server:
        replicaCount: one  # invalid value
  reloader: false
  stopMatchingBehavior: WithdrawPolicies
  syncMode: Continuous
  tier: 2147483347
status:
  matchingClusters:
  - apiVersion: lib.projectsveltos.io/v1beta1
    kind: SveltosCluster
    name: mgmt
    namespace: mgmt

The ClusterProfile was reconciled and the ClusterSummary was created:

# k get clustersummary -nmgmt cluster-monitoring-sveltos-mgmt -oyaml

apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterSummary
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"config.projectsveltos.io/v1beta1","kind":"ClusterProfile","metadata":{"annotations":{},"generation":2,"labels":{"k0rdent.mirantis.com/managed":"true","projectsveltos.io/cluster-name":"mgmt","projectsveltos.io/cluster-profile-name":"cluster-monitoring","projectsveltos.io/cluster-type":"Sveltos"},"name":"cluster-monitoring"},"spec":{"clusterRefs":[{"apiVersion":"lib.projectsveltos.io/v1beta1","kind":"SveltosCluster","name":"mgmt","namespace":"mgmt"}],"clusterSelector":{},"continueOnConflict":false,"continueOnError":true,"helmCharts":[{"helmChartAction":"Install","releaseName":"prometheus","releaseNamespace":"monitoring","repositoryURL":"gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus","values":"server:\n  replicaCount: one\n"}],"reloader":false,"stopMatchingBehavior":"WithdrawPolicies","syncMode":"Continuous","tier":2147483347}}
  creationTimestamp: "2026-03-05T15:13:35Z"
  finalizers:
  - clustersummaryfinalizer.projectsveltos.io
  generation: 1
  labels:
    k0rdent.mirantis.com/managed: "true"
    projectsveltos.io/cluster-name: mgmt
    projectsveltos.io/cluster-profile-name: cluster-monitoring
    projectsveltos.io/cluster-type: Sveltos
  name: cluster-monitoring-sveltos-mgmt
  namespace: mgmt
  ownerReferences:
  - apiVersion: config.projectsveltos.io/v1beta1
    kind: ClusterProfile
    name: cluster-monitoring
    uid: 7583a13d-9518-4900-b37f-e7e0cabfa29a
  resourceVersion: "18160"
  uid: 975d6cb0-fe7e-4305-8d3e-778ffcb086df
spec:
  clusterName: mgmt
  clusterNamespace: mgmt
  clusterProfileSpec:
    clusterRefs:
    - apiVersion: lib.projectsveltos.io/v1beta1
      kind: SveltosCluster
      name: mgmt
      namespace: mgmt
    clusterSelector: {}
    continueOnConflict: false
    continueOnError: true
    helmCharts:
    - helmChartAction: Install
      releaseName: prometheus
      releaseNamespace: monitoring
      repositoryURL: gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus
      values: |
        server:
          replicaCount: one
    reloader: false
    stopMatchingBehavior: WithdrawPolicies
    syncMode: Continuous
    tier: 2147483347
  clusterType: Sveltos
status:
  dependencies: no dependencies
  featureSummaries:
  - consecutiveFailures: 11
    failureMessage: |
      chart: , release: prometheus, found in Chart.yaml, but missing in charts/ directory: kube-state-metrics
    featureID: Helm
    hash: GV3QaZus3QgWIwW8ro3OygfmhlICcB2GCErAXDFem2w=
    lastAppliedTime: "2026-03-05T15:15:26Z"
    status: Failed
  helmReleaseSummaries:
  - releaseName: prometheus
    releaseNamespace: monitoring
    status: Managing

Then I patched the ClusterProfile:

k patch clusterprofile cluster-monitoring --type='json' -p='[{"op": "replace", "path": "/spec/helmCharts/0/values", "value": "server:\n  replicaCount: 1\n"}]'
clusterprofile.config.projectsveltos.io/cluster-monitoring patched
# k get clusterprofile cluster-monitoring -oyaml


apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterProfile
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"config.projectsveltos.io/v1beta1","kind":"ClusterProfile","metadata":{"annotations":{},"generation":2,"labels":{"k0rdent.mirantis.com/managed":"true","projectsveltos.io/cluster-name":"mgmt","projectsveltos.io/cluster-profile-name":"cluster-monitoring","projectsveltos.io/cluster-type":"Sveltos"},"name":"cluster-monitoring"},"spec":{"clusterRefs":[{"apiVersion":"lib.projectsveltos.io/v1beta1","kind":"SveltosCluster","name":"mgmt","namespace":"mgmt"}],"clusterSelector":{},"continueOnConflict":false,"continueOnError":true,"helmCharts":[{"helmChartAction":"Install","releaseName":"prometheus","releaseNamespace":"monitoring","repositoryURL":"gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus","values":"server:\n  replicaCount: one\n"}],"reloader":false,"stopMatchingBehavior":"WithdrawPolicies","syncMode":"Continuous","tier":2147483347}}
  creationTimestamp: "2026-03-05T15:13:35Z"
  finalizers:
  - clusterprofilefinalizer.projectsveltos.io
  generation: 2
  labels:
    k0rdent.mirantis.com/managed: "true"
    projectsveltos.io/cluster-name: mgmt
    projectsveltos.io/cluster-profile-name: cluster-monitoring
    projectsveltos.io/cluster-type: Sveltos
  name: cluster-monitoring
  resourceVersion: "19232"
  uid: 7583a13d-9518-4900-b37f-e7e0cabfa29a
spec:
  clusterRefs:
  - apiVersion: lib.projectsveltos.io/v1beta1
    kind: SveltosCluster
    name: mgmt
    namespace: mgmt
  clusterSelector: {}
  continueOnConflict: false
  continueOnError: true
  helmCharts:
  - helmChartAction: Install
    releaseName: prometheus
    releaseNamespace: monitoring
    repositoryURL: gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus
    values: |
      server:
        replicaCount: 1  # updated valid value
  reloader: false
  stopMatchingBehavior: WithdrawPolicies
  syncMode: Continuous
  tier: 2147483347
status:
  matchingClusters:
  - apiVersion: lib.projectsveltos.io/v1beta1
    kind: SveltosCluster
    name: mgmt
    namespace: mgmt

and the ClusterSummary was updated accordingly:

# k get clustersummary -n mgmt cluster-monitoring-sveltos-mgmt -oyaml


apiVersion: config.projectsveltos.io/v1beta1
kind: ClusterSummary
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"config.projectsveltos.io/v1beta1","kind":"ClusterProfile","metadata":{"annotations":{},"generation":2,"labels":{"k0rdent.mirantis.com/managed":"true","projectsveltos.io/cluster-name":"mgmt","projectsveltos.io/cluster-profile-name":"cluster-monitoring","projectsveltos.io/cluster-type":"Sveltos"},"name":"cluster-monitoring"},"spec":{"clusterRefs":[{"apiVersion":"lib.projectsveltos.io/v1beta1","kind":"SveltosCluster","name":"mgmt","namespace":"mgmt"}],"clusterSelector":{},"continueOnConflict":false,"continueOnError":true,"helmCharts":[{"helmChartAction":"Install","releaseName":"prometheus","releaseNamespace":"monitoring","repositoryURL":"gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus","values":"server:\n  replicaCount: one\n"}],"reloader":false,"stopMatchingBehavior":"WithdrawPolicies","syncMode":"Continuous","tier":2147483347}}
  creationTimestamp: "2026-03-05T15:13:35Z"
  finalizers:
  - clustersummaryfinalizer.projectsveltos.io
  generation: 2
  labels:
    k0rdent.mirantis.com/managed: "true"
    projectsveltos.io/cluster-name: mgmt
    projectsveltos.io/cluster-profile-name: cluster-monitoring
    projectsveltos.io/cluster-type: Sveltos
  name: cluster-monitoring-sveltos-mgmt
  namespace: mgmt
  ownerReferences:
  - apiVersion: config.projectsveltos.io/v1beta1
    kind: ClusterProfile
    name: cluster-monitoring
    uid: 7583a13d-9518-4900-b37f-e7e0cabfa29a
  resourceVersion: "19459"
  uid: 975d6cb0-fe7e-4305-8d3e-778ffcb086df
spec:
  clusterName: mgmt
  clusterNamespace: mgmt
  clusterProfileSpec:
    clusterRefs:
    - apiVersion: lib.projectsveltos.io/v1beta1
      kind: SveltosCluster
      name: mgmt
      namespace: mgmt
    clusterSelector: {}
    continueOnConflict: false
    continueOnError: true
    helmCharts:
    - helmChartAction: Install
      releaseName: prometheus
      releaseNamespace: monitoring
      repositoryURL: gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus
      values: |
        server:
          replicaCount: 1
    reloader: false
    stopMatchingBehavior: WithdrawPolicies
    syncMode: Continuous
    tier: 2147483347
  clusterType: Sveltos
status:
  dependencies: no dependencies
  featureSummaries:
  - consecutiveFailures: 3
    failureMessage: |
      chart: , release: prometheus, found in Chart.yaml, but missing in charts/ directory: kube-state-metrics
    featureID: Helm
    hash: JuNCmgDL7HT/dx5+HIl3zFBQ0YLx88lm6dW9i7occZw=
    lastAppliedTime: "2026-03-05T15:17:36Z"
    status: Failed
  helmReleaseSummaries:
  - releaseName: prometheus
    releaseNamespace: monitoring
    status: Managing

Expected Behaviour

  • Helm deployment got updated
  • Workload successfully deployed
  • ClusterSummary reflects updated status

Actual Behaviour

Workload was not re-deployed, Repeating messages in addon-controller logs:

I0305 15:18:16.803482       1 worker.go:172] "worker: 8 processing request. cleanup: false" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false"
I0305 15:18:16.804290       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:16.810416       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:16.816980       1 handlers_helm.go:2078] "Upgrading chart  from repo gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus )" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt" releaseNamespace="monitoring" releaseName="prometheus" version=""
I0305 15:18:16.817024       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt" releaseNamespace="monitoring" releaseName="prometheus" version=""
I0305 15:18:16.845318       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:16.846061       1 handlers_helm.go:2112] "update deployed chart info. Number of deployed helm chart: 0" logger="deployer" worker="8" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:26.585210       1 clustersummary_controller.go:146] "Reconciling" controller="clustersummary" controllerGroup="config.projectsveltos.io" controllerKind="ClusterSummary" ClusterSummary="mgmt/cluster-monitoring-sveltos-mgmt" namespace="mgmt" name="cluster-monitoring-sveltos-mgmt" reconcileID="5711886c-aaa4-4928-a087-0321deb8e9fc"
I0305 15:18:26.585613       1 clustersummary_controller.go:342] "Reconciling ClusterSummary" controller="clustersummary" controllerGroup="config.projectsveltos.io" controllerKind="ClusterSummary" ClusterSummary="mgmt/cluster-monitoring-sveltos-mgmt" namespace="mgmt" name="cluster-monitoring-sveltos-mgmt" reconcileID="5711886c-aaa4-4928-a087-0321deb8e9fc"
E0305 15:18:26.605675       1 clustersummary_controller.go:422] "failed to deploy" err="deploying helm charts failed: request is queued" controller="clustersummary" controllerGroup="config.projectsveltos.io" controllerKind="ClusterSummary" ClusterSummary="mgmt/cluster-monitoring-sveltos-mgmt" namespace="mgmt" name="cluster-monitoring-sveltos-mgmt" reconcileID="5711886c-aaa4-4928-a087-0321deb8e9fc"
I0305 15:18:26.815823       1 worker.go:172] "worker: 15 processing request. cleanup: false" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false"
I0305 15:18:26.816314       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:26.820268       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:26.824854       1 handlers_helm.go:2078] "Upgrading chart  from repo gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus )" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt" releaseNamespace="monitoring" releaseName="prometheus" version=""
I0305 15:18:26.824877       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt" releaseNamespace="monitoring" releaseName="prometheus" version=""
I0305 15:18:26.846554       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:26.847274       1 handlers_helm.go:2112] "update deployed chart info. Number of deployed helm chart: 0" logger="deployer" worker="15" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:36.614136       1 clustersummary_controller.go:146] "Reconciling" controller="clustersummary" controllerGroup="config.projectsveltos.io" controllerKind="ClusterSummary" ClusterSummary="mgmt/cluster-monitoring-sveltos-mgmt" namespace="mgmt" name="cluster-monitoring-sveltos-mgmt" reconcileID="fda45521-9a70-4e3f-8ff9-bd49abaaaca5"
I0305 15:18:36.614411       1 clustersummary_controller.go:342] "Reconciling ClusterSummary" controller="clustersummary" controllerGroup="config.projectsveltos.io" controllerKind="ClusterSummary" ClusterSummary="mgmt/cluster-monitoring-sveltos-mgmt" namespace="mgmt" name="cluster-monitoring-sveltos-mgmt" reconcileID="fda45521-9a70-4e3f-8ff9-bd49abaaaca5"
E0305 15:18:36.635332       1 clustersummary_controller.go:422] "failed to deploy" err="deploying helm charts failed: request is queued" controller="clustersummary" controllerGroup="config.projectsveltos.io" controllerKind="ClusterSummary" ClusterSummary="mgmt/cluster-monitoring-sveltos-mgmt" namespace="mgmt" name="cluster-monitoring-sveltos-mgmt" reconcileID="fda45521-9a70-4e3f-8ff9-bd49abaaaca5"
I0305 15:18:36.842405       1 worker.go:172] "worker: 5 processing request. cleanup: false" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false"
I0305 15:18:36.843122       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:36.848359       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:36.854249       1 handlers_helm.go:2078] "Upgrading chart  from repo gitrepository://kcm-system/prometheus-27-1-0/charts/prometheus )" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt" releaseNamespace="monitoring" releaseName="prometheus" version=""
I0305 15:18:36.854279       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt" releaseNamespace="monitoring" releaseName="prometheus" version=""
I0305 15:18:36.881031       1 template_instantiation.go:111] "Fetch cluster Sveltos: mgmt/mgmt" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"
I0305 15:18:36.881763       1 handlers_helm.go:2112] "update deployed chart info. Number of deployed helm chart: 0" logger="deployer" worker="5" key="mgmt:::mgmt:::Sveltos:::cluster-monitoring-sveltos-mgmt:::Helm:::false" cluster="mgmt/mgmt" clusterSummary="cluster-monitoring-sveltos-mgmt"

System Information

CLUSTERAPI VERSION: N/A
SVELTOS VERSION: v1.1.1
KUBERNETES VERSION: v1.35.0
KIND: v0.21.0 go1.21.6 darwin/arm64

Additional Information

If the ClusterProfile contains correct values on creation, then the deployment succeeds.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions