a6d2878f

By: Ammar Nanjiani <ammar.nanjiani@gmail.com>

fix(k3s): fail closed on Marinara writer-lease drain

Give Marinara 120 seconds to terminate. The preStop hook signals PID 1,
waits for .writer-lease to disappear, and stays until PID 1 exits.

Add a one-replica PodDisruptionBudget so unattended drains cannot evict
the only writer. Run the shared PDB-aware drain before Comin requests
reboot. Use a 180-second drain timeout and propagate failure.

Refuse an existing operator cordon. Uncordon after a failed preflight
only when this script created the cordon. Allow systemd 240 seconds for
the drain and cleanup.

Do not delete application writer leases automatically.

Total

2m14s

Time to Start Worker time Duration Time to finish Idle
Config 0s 6s 6s 6s 0s
Eval 3s 1m08s 1m08s 1m12s 0s
Build 1m09s 5m16s 1m06s 2m15s 0s
Suite 0s 6m31s 2m14s 2m15s 0s

Timeline

Config Eval Build
0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s1m50s2m2m10s