6 Commits
Author SHA1 Message Date
Anup ChenthamarakshanandGitHub 8f5fccc68c integration: add test for MBR-only booting (#108) 2022-01-30 14:52:52 +01:00
Anup ChenthamarakshanandGitHub f20133ae5d supervise: wait for child processes (#107)
With gokrazy/gokrazy#106, we're sending a TERM signal to service
processes and their immediate children. Service processes are being
waited on by `cmd.Wait()`, which will reap any kernel state associated
with it.  However, its child processes don't necessarily get reaped
(depending on whether its parent had time to clean up before exiting).

With this change, we explicitly wait for everything in the service
process group to exit and prevent zombies.
2022-01-13 09:09:12 +01:00
Anup ChenthamarakshanandGitHub 87f82b194d supervise: wait for services to stop before reboot (#106)
Currently, rebooting/upgrading the instance sends a TERM signal to all
running services, waits 1 second and then reboots. Processes that take
longer to cleanly stop can't do so.

Instead, give each service up to 15s to do a clean shutdown. Reboot 15s
after the command is sent, or after all services are stopped, whichever
comes first.

To make it easier to kill entire process tree for a service, create a
per-service process group. Stopping the service can be done by sending a
single signal to the process group.
2022-01-12 21:52:51 +01:00
Anup ChenthamarakshanandGitHub e42cbd86b3 update: support device-specific update handlers (#102)
Useful to update devices which expect blobs at fixed locations
2022-01-11 20:29:31 +01:00
Anup ChenthamarakshanandGitHub af5773f40f status: live tail logs (#100)
Create a /log endpoint for streaming stdout/stderr logs for processes.
Replace status page stdout/stderr to call into /log to stream logs and
live update page.
2021-12-13 09:17:44 +01:00
Anup ChenthamarakshanandGitHub 42dba82d7a dhcp: allow builds on non-64-bit architectures (#99)
Move build constraint to internal/iface which clearly shows the Linux dependency
2021-11-28 11:12:33 +01:00