diff options
author | Devaev Maxim <[email protected]> | 2020-05-25 01:39:12 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2020-05-25 01:39:18 +0300 |
commit | 499cbb0cc57346708525dd1d0059e65a74598980 (patch) | |
tree | 1985fdcfdafcddc2d34bbce0c16fe3cc5ba4617d /kvmd/apps/ipmi/auth.py | |
parent | eeece34312dc39f001c0718d07f12d90a279f736 (diff) |
improved some logging
Diffstat (limited to 'kvmd/apps/ipmi/auth.py')
-rw-r--r-- | kvmd/apps/ipmi/auth.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/kvmd/apps/ipmi/auth.py b/kvmd/apps/ipmi/auth.py index 29804140..7d17edc3 100644 --- a/kvmd/apps/ipmi/auth.py +++ b/kvmd/apps/ipmi/auth.py @@ -28,8 +28,8 @@ from typing import Dict # ===== class IpmiPasswdError(Exception): - def __init__(self, msg: str) -> None: - super().__init__("Incorrect IPMI passwd file: " + msg) + def __init__(self, path: str, number: int, msg: str) -> None: + super().__init__(f"Syntax error at {path}:{number}: {msg}") @dataclasses.dataclass(frozen=True) @@ -42,6 +42,7 @@ class IpmiUserCredentials: class IpmiAuthManager: def __init__(self, path: str) -> None: + self.__path = path with open(path) as passwd_file: self.__credentials = self.__parse_passwd_file(passwd_file.read().split("\n")) @@ -61,25 +62,25 @@ class IpmiAuthManager: continue if " -> " not in line: - raise IpmiPasswdError(f"Missing ' -> ' operator at line #{number}") + raise IpmiPasswdError(self.__path, number, "Missing ' -> ' operator") (left, right) = map(str.lstrip, line.split(" -> ", 1)) for (name, pair) in [("left", left), ("right", right)]: if ":" not in pair: - raise IpmiPasswdError(f"Missing ':' operator in {name} credentials at line #{number}") + raise IpmiPasswdError(self.__path, number, f"Missing ':' operator in {name} credentials") (ipmi_user, ipmi_passwd) = left.split(":") ipmi_user = ipmi_user.strip() if len(ipmi_user) == 0: - raise IpmiPasswdError(f"Empty IPMI user (left) at line #{number}") + raise IpmiPasswdError(self.__path, number, "Empty IPMI user (left)") (kvmd_user, kvmd_passwd) = right.split(":") kvmd_user = kvmd_user.strip() if len(kvmd_user) == 0: - raise IpmiPasswdError(f"Empty KVMD user (left) at line #{number}") + raise IpmiPasswdError(self.__path, number, "Empty KVMD user (left)") if ipmi_user in credentials: - raise IpmiPasswdError(f"Found duplicating user {ipmi_user!r} (left) at line #{number}") + raise IpmiPasswdError(self.__path, number, f"Found duplicating user {ipmi_user!r} (left)") credentials[ipmi_user] = IpmiUserCredentials( ipmi_user=ipmi_user, |