Summary
Litmus agents helm charts are missing required label for subscriber get pods status.
After updating Litmus Server & Agents to version v3.24.0, subscriber started throwing following error messages and restarting:
litmus-agent-subscriber-5486df548d-s6ct2 subscriber time="2025-12-22T13:26:12Z" level=error msg="failed to get deployments pods litmuschaos.io/app=chaos-exporter , err : pods not found"
litmus-agent-subscriber-5486df548d-s6ct2 subscriber time="2025-12-22T13:26:12Z" level=error msg="failed to get deployments pods litmuschaos.io/app=chaos-operator , err : pods not found"
litmus-agent-subscriber-5486df548d-s6ct2 subscriber time="2025-12-22T13:26:12Z" level=error msg="failed to get deployments pods litmuschaos.io/app=event-tracker , err : pods not found"
litmus-agent-subscriber-5486df548d-s6ct2 subscriber time="2025-12-22T13:26:12Z" level=error msg="failed to get deployments pods litmuschaos.io/app=workflow-controller , err : pods not found"
litmus-agent-subscriber-5486df548d-s6ct2 subscriber time="2025-12-22T13:26:42Z" level=fatal msg="all components failed to startup"
The issue happens because none of the deployments, except for agent-subscriber, have the label litmuschaos.io/app set. On subscriber chart the selectorLabels template (which is also included in the common labels template) is defined as follows:
{{/*
Selector labels
*/}}
{{- define "subscriber.selectorLabels" -}}
litmuschaos.io/app: {{ .Chart.Name }}
app: subscriber
app.kubernetes.io/name: {{ include "subscriber.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
On all other charts the referred label is missing, eg:
{{/*
Selector labels
*/}}
{{- define "event-tracker.selectorLabels" -}}
app: {{ .Chart.Name }}
app.kubernetes.io/name: {{ include "event-tracker.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
This is how the COMPONENTS key looks like in the subscriber-config configMap:
apiVersion: v1
data:
COMPONENTS: 'DEPLOYMENTS: ["litmuschaos.io/app=chaos-exporter", "litmuschaos.io/app=chaos-operator",
"litmuschaos.io/app=event-tracker", "litmuschaos.io/app=workflow-controller"]'
selectorLabels templates for reference: chaos-exporter, chaos-operator, event-tracker, workflow-controller
Proposed solution
Update all charts to include the missing label.
Workaround
Update Helm values for every agent (subscriber not needed) and include the litmuschaos.io/app label. For example:
chaos-operator:
enabled: true
customLabels:
litmuschaos.io/app: chaos-operator
chaos-exporter:
enabled: true
customLabels:
litmuschaos.io/app: chaos-exporter
event-tracker:
enabled: true
customLabels:
litmuschaos.io/app: event-tracker
subscriber:
enabled: true
workflow-controller:
enabled: true
crds:
create: true
customLabels:
litmuschaos.io/app: workflow-controller
Summary
Litmus agents helm charts are missing required label for subscriber get pods status.
After updating Litmus Server & Agents to version v3.24.0, subscriber started throwing following error messages and restarting:
The issue happens because none of the deployments, except for agent-subscriber, have the label
litmuschaos.io/appset. On subscriber chart the selectorLabels template (which is also included in the common labels template) is defined as follows:On all other charts the referred label is missing, eg:
This is how the COMPONENTS key looks like in the
subscriber-configconfigMap:selectorLabelstemplates for reference: chaos-exporter, chaos-operator, event-tracker, workflow-controllerProposed solution
Update all charts to include the missing label.
Workaround
Update Helm values for every agent (subscriber not needed) and include the
litmuschaos.io/applabel. For example: