• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

prisma-risk / tsoracle / 26471939262
95%

Build:
DEFAULT BRANCH: main
Ran 26 May 2026 08:06PM UTC
Jobs 1
Files 88
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 May 2026 08:00PM UTC coverage: 95.243%. Remained the same
26471939262

push

github

web-flow
test(kube-e2e): add dynamic-membership soak (add-learner / promote / remove under soak) (#487) (#511)

test(kube-e2e): add dynamic-membership soak (issue #487)

Adds a new kube-e2e cell that exercises the AdminService + `tsoracle admin`
CLI shipped in #453 end-to-end: scale the StatefulSet from 3 to 4, run
`tsoracle admin add-learner` against the leader (the blocking openraft API
returns only after the learner has caught up to the committed index),
`promote` the new node, then `remove` a non-leader voter — all while a soak
Job sustains GetTs load and enforces the same zero-monotonicity-violation
+ <0.5% error-rate invariants the graceful soak uses.

First end-to-end exercise of the three-address membership model (raft /
service / admin) in a real Kubernetes deployment.

Driver:
* New `Mode::MembershipSoak` with distinct sentinel
  `"membership-soak: first GetTs ok"` and graceful-budget error tolerance.

Manifest:
* New `e2e/kube/driver/job-membership-soak.yaml`, 180s duration with the
  three original replica endpoints (tsoracle-3 reaches the client via
  leader-hint after promote).

Orchestrator:
* New step 5 in `e2e/kube/run-assertions.sh` driving all admin calls via
  `kubectl exec LEADER_POD -- tsoracle admin ... --endpoint
  http://127.0.0.1:51002` (the chart's loopback-only admin bind).
* New `pick_remove_target EXCLUDE_ID` helper in `_assertions_lib.sh` that
  awk-parses `tsoracle admin members` and prints the first non-leader,
  non-excluded Voter id — used to pick the `remove` target without
  triggering an election.

Cluster sizing:
* `kind-config.yaml` grows from 3 → 4 workers. The chart's
  `requiredDuringSchedulingIgnoredDuringExecution` anti-affinity needs one
  node per replica; with only 3 workers tsoracle-3 sits Pending with
  `FailedScheduling: didn't match pod anti-affinity rules` and the rollout
  status times out before step 5 can call `add-learner`.

openraft-only: paxos returns `AdminError::Unsupported`. A future driver-
matrixe... (continued)

13414 of 14084 relevant lines covered (95.24%)

366646.98 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26471939262.1 26 May 2026 08:06PM UTC 88
95.24
GitHub Action Run
Source Files on build 26471939262
  • Tree
  • List 88
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26471939262
  • 01daf123 on github
  • Prev Build on main (#26470821024)
  • Next Build on main (#26472446595)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc