diff --git a/src/agent/rustjail/src/cgroups/systemd/dbus_client.rs b/src/agent/rustjail/src/cgroups/systemd/dbus_client.rs index 09c46f24d1..0ff606930a 100644 --- a/src/agent/rustjail/src/cgroups/systemd/dbus_client.rs +++ b/src/agent/rustjail/src/cgroups/systemd/dbus_client.rs @@ -26,7 +26,7 @@ pub trait SystemdInterface { fn get_version(&self) -> Result; - fn unit_exist(&self, unit_name: &str) -> Result; + fn unit_exists(&self, unit_name: &str) -> Result; fn add_process(&self, pid: i32, unit_name: &str) -> Result<()>; } @@ -36,8 +36,9 @@ pub struct DBusClient {} impl DBusClient { fn build_proxy(&self) -> Result> { - let connection = zbus::blocking::Connection::system()?; - let proxy = SystemManager::new(&connection)?; + let connection = + zbus::blocking::Connection::system().context("Establishing a D-Bus connection")?; + let proxy = SystemManager::new(&connection).context("Building a D-Bus proxy manager")?; Ok(proxy) } } @@ -108,8 +109,10 @@ impl SystemdInterface for DBusClient { Ok(systemd_version) } - fn unit_exist(&self, unit_name: &str) -> Result { - let proxy = self.build_proxy()?; + fn unit_exists(&self, unit_name: &str) -> Result { + let proxy = self + .build_proxy() + .with_context(|| format!("Checking if systemd unit {} exists", unit_name))?; Ok(proxy.get_unit(unit_name).is_ok()) } diff --git a/src/agent/rustjail/src/cgroups/systemd/manager.rs b/src/agent/rustjail/src/cgroups/systemd/manager.rs index c52e727e4c..dcbc65a2cf 100644 --- a/src/agent/rustjail/src/cgroups/systemd/manager.rs +++ b/src/agent/rustjail/src/cgroups/systemd/manager.rs @@ -41,7 +41,7 @@ pub struct Manager { impl CgroupManager for Manager { fn apply(&self, pid: pid_t) -> Result<()> { let unit_name = self.unit_name.as_str(); - if self.dbus_client.unit_exist(unit_name).unwrap() { + if self.dbus_client.unit_exists(unit_name)? { self.dbus_client.add_process(pid, self.unit_name.as_str())?; } else { self.dbus_client.start_unit(