Repository navigation
Fix discovery execution and configuration with native and browser regressions - #8461
Open
somethingwithproof wants to merge 9 commits into
Open
somethingwithproof wants to merge 9 commits into
somethingwithproof wants to merge 9 commits into
Conversation
TheWitness
requested changes
Oct 23, 2026
somethingwithproof
force-pushed
the
fix/discovery-correctness-develop
branch
from
October 24, 2026 02:54
7b1315d to
39df34d
Compare
github-actions
Bot
force-pushed
the
fix/discovery-correctness-develop
branch
from
October 26, 2026 20:50
46bb9d9 to
0e274b3
Compare
github-actions
Bot
force-pushed
the
fix/discovery-correctness-develop
branch
from
October 27, 2026 08:56
0e274b3 to
9061a36
Compare
Preserve scan options and validated graph criterion identities. Add database-backed and isolated production-function regressions for discovery failures. Refs #8459. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Prevent synchronous Select2 notifications from recursively rendering SNMP controls. Exercise security levels, version changes and exception cleanup. Refs #8459. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Run database, scheduling, SNMP-form and browser acceptance checks in CI, reject empty or failing evidence, and document coverage and limits. Refs #8459. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Reuse token-based source extraction, verify scenario and producer fingerprints, and exercise ping-only discovery behavior. Keep the existing changed-PHP threshold and reject stale, incomplete or unsuccessful evidence. Refs #8459. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
…verage Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
somethingwithproof
force-pushed
the
fix/discovery-correctness-develop
branch
from
October 27, 2026 19:04
9061a36 to
605a430
Compare
|
This branch has not been deployed
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.



What changes
Fix discovery on develop (Cacti 1.3): excluded addresses no longer stall enumeration, dry-run mode reaches network masters and workers, overlapping ranges retain every unique target, and missing identification fields cannot satisfy configured device rules. Reject malformed IPv4 range syntax and probe valid hosts ending in
.255.Restore working SNMP security controls, including the username for SNMPv3 without authentication. Fix graph-rule criterion saves to use the validated item ID and retain existing hashes.
Why
Discovery should let an administrator configure a network once and trust the resulting scan. These failures could leave a scan stuck, add devices during a dry run, choose the wrong template, or prevent usable graph rules from being saved. The fixes make onboarding predictable, and the automated checks exercise configuration through to the devices and graphs it creates.
Verification
.255, selective graphs, repeat scans, manual fallback, cancellation and permission denial.CI registers native database, scheduling, JavaScript and browser checks. The isolated browser runner compares container source hashes with the checkout, restricts scan targets, and removes its own containers and database.
The optional profiling run passes 69 native cases (1,296 assertions) and all three browser scenarios. Merging its real HTTP/CLI and native execution with the original failed CI Clover report passes the unchanged changed-PHP gate: 187/219 executable lines, 85.39%, including all 23 changed API lines and both criterion-save lines. Source, producer and scenario fingerprints and final JUnit hashes are verified; missing, stale or unsuccessful phases fail closed. The collection uses token-based function extraction through the existing source helper and retains original source lines. Helper/caller and Python tooling regressions also pass.
The new native and browser discovery jobs pass remotely on the preceding tooling head. The unrelated Deepness multiselect palette assertion also fails on the unchanged develop base
a9c73cfc4(base run, PR run). This PR changes neither the theme files nor that assertion. Remote results for the final coverage update remain pending.Compatibility and limits
No production schema, template identity, runtime dependency or PHP/Spine protocol changes. Existing matching operators, administrator controls and manual fallback remain. Nontrailing wildcards and malformed prefixes are now rejected. IPv6 and
/31discovery are not added. Simulated agents do not establish hardware qualification, remote-collector failover, installer/upgrade acceptance or production-scale performance.Refs #8459.