Skip to content

Commit

Permalink
XSI-1773 clean up swtpm service files
Browse files Browse the repository at this point in the history
We have seen swtpm systemd service files not being removed. We now call
Fe_systemctl.stop even when the servive is potentially not running to
ensure clean up is happening regardless.

Signed-off-by: Christian Lindig <[email protected]>
  • Loading branch information
Christian Lindig committed Dec 20, 2024
1 parent 90b0faf commit 3d394e0
Showing 1 changed file with 7 additions and 16 deletions.
23 changes: 7 additions & 16 deletions ocaml/xenopsd/xc/service.ml
Original file line number Diff line number Diff line change
Expand Up @@ -608,26 +608,17 @@ module SystemdDaemonMgmt (D : DAEMONPIDPATH) = struct
else
None

let is_running ~xs domid =
match of_domid domid with
| None ->
Compat.is_running ~xs domid
| Some key ->
Fe_systemctl.is_active ~service:key

let stop ~xs domid =
match (of_domid domid, is_running ~xs domid) with
| None, true ->
match of_domid domid with
| None when Compat.is_running ~xs domid ->
Compat.stop ~xs domid
| Some service, true ->
(* xenstore cleanup is done by systemd unit file *)
let (_ : Fe_systemctl.status) = Fe_systemctl.stop ~service in
()
| Some service, false ->
info "Not trying to stop %s since it's not running" service
| None, false ->
| None ->
info "Not trying to stop %s for domid %i since it's not running" D.name
domid
| Some service ->
(* call even when not running for clean up *)
let (_ : Fe_systemctl.status) = Fe_systemctl.stop ~service in
()

let start_daemon ~path ~args ~domid () =
debug "Starting daemon: %s with args [%s]" path (String.concat "; " args) ;
Expand Down

0 comments on commit 3d394e0

Please sign in to comment.