Task · OPN-0089

Count tolerated ZeroTier per-network 404 fetch failures

Description

ZeroTier per-network info tolerates a stale UUID 404 and returns a successful collector poll. Its observer collapses the dynamic route to a static plugin-gated path, so pollRequestObserver misclassifies the resource failure as plugin absence and leaves partial_fetch_failures_total unchanged despite missing runtime metrics.

Acceptance Criteria

Definition of Done

Implementation Plan

Add a failing-before scheduler regression using the real ZeroTier client path. Require the original APICallError endpoint to match the observed static endpoint before excluding a plugin 404; preserve static endpoint attribution and existing plugin-absence behavior. Run targeted scheduler tests and the final integrated gate.

Implementation Notes

Real ZeroTier tolerated dynamic info 404 regression failed before: partial_fetch_failures_total{collector=zerotier} = 0, want 1. Focused race tests passed after: ok github.com/rknightion/opnsense2otel/v4/internal/collector 1.385s. Static and cached plugin absence remain excluded; request labels remain bounded.

Final Summary

Landed in d2549a5dd314f40bdfaf6ad56f056dcde4821e0a. Targeted evidence recorded above; full just check passed (exit 0), terminal: Your code is affected by 0 vulnerabilities. No generated artifacts changed, so just gen not applicable. Source-only CodeRabbit completed review_completed across 13 files, findings=1; one pass. The sole minor finding concerned the intentionally reversed backup test-server branch and was retained with the regression rationale recorded on OPN-0086. No critical or major findings.

View the source file on GitHub