Skip to content

Commit

Permalink
XSI-1773 clean up swtpm service files (#6193)
Browse files Browse the repository at this point in the history
We have seen swtpm systemd service files not being removed. We now make
Fe_systemctl.stop callable when the servive is potentially not running
to ensure clean up is happening regardless.
  • Loading branch information
lindig authored Dec 20, 2024
2 parents 90b0faf + 3d394e0 commit 9eeb1f3
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 9eeb1f3

Please sign in to comment.