Files
troubleshoot/test/e2e/support-bundle/spec/nodeResourcesNoFiles.yaml
Evans Mungai 2fdd21fca1 feat(analyze): warn when nodeResources has no node data, add ignoreIfNoFiles (#2035)
* feat(analyze): warn when nodeResources has no node data, add ignoreIfNoFiles

The nodeResources analyzer previously failed silently when
cluster-resources/nodes.json was not collected (e.g. when the
clusterResources collector was excluded or could not list nodes).
It now emits a warn outcome per nodeResources entry in the spec.

Add an ignoreIfNoFiles top-level field to nodeResources, mirroring
textAnalyze, so users can opt out of the new warning when the
analyzer is intentionally optional.

- Add IgnoreIfNoFiles to v1beta2.NodeResources
- Update CRDs and JSON schemas
- Unit test the warn / ignore paths
- Add an e2e fixture and test that excludes clusterResources and
asserts the analyze output

Signed-off-by: Evans Mungai <evans@replicated.com>

* Fix review comment

Signed-off-by: Evans Mungai <evans@replicated.com>

---------

Signed-off-by: Evans Mungai <evans@replicated.com>
2026-04-29 13:13:24 +01:00

38 lines
1.1 KiB
YAML

apiVersion: troubleshoot.sh/v1beta2
kind: SupportBundle
metadata:
name: node-resources-no-files-test
spec:
collectors:
- clusterResources:
exclude: true
- clusterInfo:
exclude: true
analyzers:
- nodeResources:
checkName: warn-default
outcomes:
- fail:
when: "count() < 3"
message: This application requires at least 3 nodes
- pass:
message: This cluster has enough nodes
- nodeResources:
checkName: warn-explicit-false
ignoreIfNoFiles: false
outcomes:
- fail:
when: "min(memoryCapacity) < 16Gi"
message: All nodes must have at least 16Gi of memory
- pass:
message: All nodes have at least 16Gi of memory
- nodeResources:
checkName: ignored
ignoreIfNoFiles: true
outcomes:
- fail:
when: "count() < 3"
message: This application requires at least 3 nodes
- pass:
message: This cluster has enough nodes