Merge development into main: network dedup per problem (#116) #117

Merged
jared merged 1 commits from development into main 2026-11-11 01:43:49 -05:00
Owner

Brings main up to development (aad3e8e).

#116: network dedup hash keyed on host only

  • Automated network tickets now hash on host + problem: the optional check_code payload field when sent (it must name the instance, e.g. iface_down:enp3s0), otherwise the title text outside the [tags].
  • Manual tickets and all other categories hash exactly as before. I checked this against the old function on sample titles.
  • The hash logic moves to helpers/TicketHash.php.
  • New scripts/rehash_network_tickets.php (--dry-run supported) re-keys open network tickets.

Tested on beta: the hash checks pass (19/19), the endpoint loads and rejects a request with no key (401), and a rehash dry run against the shared DB shows 1 ticket to re-key (pbs 281331508) with 0 conflicts.

After the prod deploy: run php scripts/rehash_network_tickets.php.

Closes #116

🤖 Generated with Claude Code

Brings `main` up to `development` (aad3e8e). ## #116: network dedup hash keyed on host only - Automated network tickets now hash on host + problem: the optional `check_code` payload field when sent (it must name the instance, e.g. `iface_down:enp3s0`), otherwise the title text outside the `[tags]`. - Manual tickets and all other categories hash exactly as before. I checked this against the old function on sample titles. - The hash logic moves to `helpers/TicketHash.php`. - New `scripts/rehash_network_tickets.php` (`--dry-run` supported) re-keys open network tickets. Tested on beta: the hash checks pass (19/19), the endpoint loads and rejects a request with no key (401), and a rehash dry run against the shared DB shows 1 ticket to re-key (pbs 281331508) with 0 conflicts. **After the prod deploy:** run `php scripts/rehash_network_tickets.php`. Closes #116 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jared added 1 commit 2026-11-11 01:41:56 -05:00
Key network dedup tickets on the problem, not just the host (#116)
Lint / JS (eslint) (push) Successful in 12s
Lint / PHP (phpcs PSR-12) (push) Successful in 27s
Lint / PHP requirements (version + extensions) (push) Successful in 33s
Lint / Notify on failure (push) Skipped
Lint / Deploy (push) Successful in 9s
Lint / PHP (phpcs PSR-12) (pull_request) Successful in 1m12s
Security / PHP Security (semgrep) (push) Successful in 3m26s
Lint / PHP requirements (version + extensions) (pull_request) Successful in 35s
Lint / JS (eslint) (pull_request) Successful in 11s
Lint / Deploy (pull_request) Skipped
Lint / Notify on failure (pull_request) Skipped
Security / PHP Security (semgrep) (pull_request) Successful in 1m48s
aad3e8eb44
Network tickets never set issue_subtype, so every automated network alert
for a host hashed alike: Gandalf's "Interface enp3s0 link-down" for micro1
matched closed reboot ticket 993441773, got noted there as a recurrence,
and never got its own ticket.

Automated network tickets now key on the optional `check_code` payload
field when sent (it must name the instance, e.g. iface_down:enp3s0),
otherwise on the title text outside the [tags], normalised with digits
kept. Manual tickets and every other category hash exactly as before.

The hash logic moves to helpers/TicketHash.php so the new
scripts/rehash_network_tickets.php can re-key open network tickets once
after deploy (--dry-run first). Closed tickets keep their old hash so they
stop catching unrelated alerts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jared changed title from Merge development into main: network dedup per problem (#116), Ceph HEALTH_WARN keys and audit timeline (#112), similar tickets and links (#113) to Merge development into main: network dedup per problem (#116) 2026-11-11 01:42:52 -05:00
jared merged commit a03fd6402a into main 2026-11-11 01:43:49 -05:00
Sign in to join this conversation.