Merge pull request #248315 from apeschar/oci-containers-backend-stop

nixos/oci-containers: stop container using backend
This commit is contained in:
Peder Bergebakken Sundt 2024-02-10 17:12:56 +01:00 committed by GitHub
commit c43fd32e03
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 3 deletions

View file

@ -308,9 +308,10 @@ let
); );
preStop = if cfg.backend == "podman" preStop = if cfg.backend == "podman"
then "[ $SERVICE_RESULT = success ] || podman stop --ignore --cidfile=/run/podman-${escapedName}.ctr-id" then "podman stop --ignore --cidfile=/run/podman-${escapedName}.ctr-id"
else "[ $SERVICE_RESULT = success ] || ${cfg.backend} stop ${name}"; else "${cfg.backend} stop ${name}";
postStop = if cfg.backend == "podman"
postStop = if cfg.backend == "podman"
then "podman rm -f --ignore --cidfile=/run/podman-${escapedName}.ctr-id" then "podman rm -f --ignore --cidfile=/run/podman-${escapedName}.ctr-id"
else "${cfg.backend} rm -f ${name} || true"; else "${cfg.backend} rm -f ${name} || true";

View file

@ -24,6 +24,10 @@ let
ports = ["8181:80"]; ports = ["8181:80"];
}; };
}; };
# Stop systemd from killing remaining processes if ExecStop script
# doesn't work, so that proper stopping can be tested.
systemd.services."${backend}-nginx".serviceConfig.KillSignal = "SIGCONT";
}; };
}; };
@ -32,6 +36,7 @@ let
${backend}.wait_for_unit("${backend}-nginx.service") ${backend}.wait_for_unit("${backend}-nginx.service")
${backend}.wait_for_open_port(8181) ${backend}.wait_for_open_port(8181)
${backend}.wait_until_succeeds("curl -f http://localhost:8181 | grep Hello") ${backend}.wait_until_succeeds("curl -f http://localhost:8181 | grep Hello")
${backend}.succeed("systemctl stop ${backend}-nginx.service", timeout=10)
''; '';
}; };