diff --git a/src/pyinfra/facts/server.py b/src/pyinfra/facts/server.py index 7ff7c86cd..6ca2a6ed8 100644 --- a/src/pyinfra/facts/server.py +++ b/src/pyinfra/facts/server.py @@ -459,7 +459,7 @@ def process(self, output): key = key.strip() values = values.strip() - if re.match(r"^[a-zA-Z0-9_\.\s]+$", values): + if re.match(r"^[a-zA-Z0-9_\-\.\s]+$", values): values = [try_int(item.strip()) for item in values.split()] if len(values) == 1: diff --git a/tests/facts/server.Sysctl/sysctl_linux.json b/tests/facts/server.Sysctl/sysctl_linux.json index f7b77c59c..7141366cb 100644 --- a/tests/facts/server.Sysctl/sysctl_linux.json +++ b/tests/facts/server.Sysctl/sysctl_linux.json @@ -1,12 +1,14 @@ { "command": "sysctl -a", "output": [ + "net.ipv4.tcp_adv_win_scale = -2", "vm.nr_hugepages_mempolicy = 0", "nope what", "vm.nr_overcommit_hugepages = 0" ], "fact": { + "net.ipv4.tcp_adv_win_scale": -2, "vm.nr_hugepages_mempolicy": 0, "vm.nr_overcommit_hugepages": 0 } -} +} \ No newline at end of file