Repository navigation
CASMTRIAGE-9186 SMA 1.11.18 : No data is present in River Sensors dashboard - #4471
Merged
Merged
Conversation
sravani-sanigepalli
requested review from
harishkhpe,
lathanm and
rajeshranganathan-hpe
September 24, 2026 09:57
rajeshranganathan-hpe
approved these changes
Sep 24, 2026
lathanm
approved these changes
Sep 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary and Scope
The monitorSMA() health check in hmcollector used an ICMP ping to determine whether the SMA Kafka broker was reachable. This worked under Weave, which responded to ICMP for Kubernetes Services. Following the migration from Weave to Cilium, Cilium does not respond to ICMP for Service IPs, so the ping now fails unconditionally and the check permanently returns false.
However, it is worth noting that this behavior may not necessarily be related to the Weave-to-Cilium migration. It could also be related to the Kubernetes upgrade, specifically the fix for kubernetes/kubernetes#72236
Starting with Kubernetes v1.26, the following iptables rule was introduced into KUBE-IPVS-FILTER:
REJECT all -- anywhere anywhere ctstate NEW match-set KUBE-IPVS-IPS dst reject-with icmp-port-unreachable
This rule effectively means:
For any new connection to a Kubernetes Service IP that was not already handled by a specific IPVS rule above (for example, traffic targeting an unsupported or non-existent TCP/UDP port), return an ICMP Port Unreachable response.
Therefore, the observed ICMP ping failure could potentially be a consequence of the Kubernetes upgrade and the associated IPVS/iptables behavior, rather than being caused specifically by the migration from Weave to Cilium.
Since smaOK gates the polling loop in collectData(), all River telemetry polling was silently paused — no temperature, power, fan, or voltage data was published to the cray-telemetry-* Kafka topics, even though the SMA Kafka cluster was healthy and TCP-reachable on port 9092.
Fix - The check now checks the broker's TCP port (9092) instead of relying on ICMP, which accurately reflects whether hmcollector can actually produce messages to SMA.
Issues and Related PRs
Testing
Tested on:
grootTest description:
Testing:
Before the fix -
After the fix -
Pull Request Checklist