didericis
cfb2284b99
fix(firecracker): make cleanup reap orphans only, never live VMs
...
`cleanup()` enumerated *every* firecracker process under the run root and
*every* run dir, so `./cli.py cleanup` would kill running bottles and
delete their rootfs — despite being described as orphan cleanup. The
backend's `enumerate_active` registry is still a stub (#354 ), so there
was no live/dead signal.
Use the running firecracker processes themselves as that signal: a run
dir with a live VM is protected (never killed, never removed); only run
dirs with no live process (leaked by a hard-killed launch) are reaped,
plus firecracker pids whose run dir is already gone (lingering VMMs).
This makes cleanup safe to run alongside live bottles and lets it back a
periodic GC for the run-dir leak the launch.py teardown fix closes on the
clean-exit path.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-21 22:47:44 -04:00
..
2026-07-14 17:07:56 -04:00
2026-07-14 17:12:12 -04:00
2026-07-21 13:15:05 -04:00
2026-07-17 00:36:43 -04:00
2026-07-11 13:24:47 -04:00
2026-07-14 02:38:20 -04:00
2026-07-20 19:58:14 +00:00
2026-07-19 02:18:07 +00:00
2026-07-11 13:24:47 -04:00
2026-07-21 04:54:40 +00:00
2026-07-14 02:38:20 -04:00
2026-07-14 02:38:20 -04:00
2026-07-21 14:52:44 -04:00
2026-07-11 16:56:17 -04:00
2026-07-20 19:13:08 +00:00
2026-07-14 02:38:20 -04:00
2026-07-18 15:27:29 -04:00
2026-07-21 14:25:38 -04:00
2026-07-21 14:25:38 -04:00
2026-07-20 19:13:08 +00:00
2026-07-21 13:56:29 -04:00
2026-07-21 13:56:29 -04:00
2026-07-14 02:38:20 -04:00
2026-07-21 13:56:29 -04:00
2026-06-25 16:13:19 -04:00
2026-07-14 16:46:46 -04:00
2026-07-21 13:56:29 -04:00
2026-07-14 17:07:56 -04:00
2026-07-21 04:54:40 +00:00
2026-07-21 13:15:05 -04:00
2026-07-01 19:50:38 +00:00
2026-07-16 17:42:36 -04:00
2026-06-25 04:12:43 -04:00
2026-06-30 15:08:14 -04:00
2026-07-19 02:18:07 +00:00
2026-06-26 23:22:18 -04:00
2026-06-25 03:08:47 -04:00
2026-07-14 02:38:20 -04:00
2026-07-14 02:38:20 -04:00
2026-07-21 13:56:29 -04:00
2026-07-21 13:56:29 -04:00
2026-07-21 14:52:44 -04:00
2026-07-19 01:31:06 -04:00
2026-07-21 13:56:29 -04:00
2026-07-14 17:07:56 -04:00
2026-07-18 03:01:41 +00:00
2026-07-21 15:01:59 -04:00
2026-07-14 17:12:12 -04:00
2026-06-25 22:04:27 -04:00
2026-07-17 22:34:28 -04:00
2026-07-21 03:27:16 +00:00
2026-07-14 17:07:56 -04:00
2026-07-21 14:52:44 -04:00
2026-07-21 22:47:44 -04:00
2026-07-19 01:21:23 -04:00
2026-07-21 13:56:29 -04:00
2026-07-21 04:54:40 +00:00
2026-07-18 22:09:05 -04:00
2026-07-14 02:38:20 -04:00
2026-07-17 21:49:30 -04:00
2026-07-09 17:35:28 +00:00
2026-07-14 02:38:20 -04:00
2026-07-16 23:07:12 -04:00
2026-07-18 16:51:31 -04:00
2026-07-17 22:34:28 -04:00
2026-07-17 22:34:28 -04:00
2026-07-21 13:56:29 -04:00
2026-07-21 13:56:29 -04:00
2026-06-24 15:37:57 -04:00
2026-07-21 04:54:40 +00:00
2026-07-08 12:38:15 -04:00
2026-07-21 03:39:18 +00:00
2026-07-21 13:56:29 -04:00
2026-06-23 03:02:03 +00:00
2026-07-21 13:56:29 -04:00
2026-07-20 23:08:59 -04:00
2026-07-21 15:01:38 -04:00
2026-06-22 23:54:02 -04:00
2026-06-25 16:13:19 -04:00
2026-07-21 15:01:59 -04:00
2026-06-25 05:10:03 -04:00
2026-06-22 23:54:02 -04:00
2026-06-22 23:54:02 -04:00
2026-06-26 21:19:27 -04:00
2026-06-22 23:54:02 -04:00
2026-06-22 23:54:02 -04:00
2026-07-21 13:15:05 -04:00
2026-07-14 02:38:20 -04:00
2026-07-21 03:27:16 +00:00
2026-07-21 00:40:59 -04:00
2026-07-21 03:27:16 +00:00
2026-07-14 02:38:20 -04:00
2026-07-21 15:01:38 -04:00
2026-07-21 15:01:38 -04:00
2026-07-14 17:07:56 -04:00
2026-07-21 03:27:16 +00:00
2026-07-21 15:01:38 -04:00
2026-07-21 03:27:16 +00:00
2026-07-11 13:24:47 -04:00
2026-07-14 02:38:20 -04:00
2026-07-14 17:07:56 -04:00
2026-07-21 16:55:06 +00:00
2026-07-21 13:56:29 -04:00
2026-07-16 22:44:47 -04:00
2026-07-16 22:05:21 -04:00
2026-07-14 02:38:20 -04:00
2026-07-18 17:06:04 -04:00
2026-07-14 02:38:20 -04:00
2026-07-18 14:18:39 -04:00
2026-07-09 17:21:57 +00:00