mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
fix #64082
This commit is contained in:
parent
47a54696db
commit
196023a086
3 changed files with 40 additions and 1 deletions
1
changelog/64082.fixed.md
Normal file
1
changelog/64082.fixed.md
Normal file
|
@ -0,0 +1 @@
|
|||
Fix dmsetup device names with hyphen being picked up.
|
|
@ -113,7 +113,7 @@ def active():
|
|||
ret = {}
|
||||
# TODO: This command should be extended to collect more information, such as UUID.
|
||||
devices = __salt__["cmd.run_stdout"]("dmsetup ls --target crypt")
|
||||
out_regex = re.compile(r"(?P<devname>\w+)\W+\((?P<major>\d+), (?P<minor>\d+)\)")
|
||||
out_regex = re.compile(r"(?P<devname>\S+)\s+\((?P<major>\d+), (?P<minor>\d+)\)")
|
||||
|
||||
log.debug(devices)
|
||||
for line in devices.split("\n"):
|
||||
|
|
38
tests/pytests/unit/modules/test_cryptdev.py
Normal file
38
tests/pytests/unit/modules/test_cryptdev.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
import pytest
|
||||
|
||||
import salt.modules.cryptdev as cryptdev
|
||||
from tests.support.mock import MagicMock, patch
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def configure_loader_modules(minion_opts):
|
||||
return {cryptdev: {"__opts__": minion_opts}}
|
||||
|
||||
|
||||
def test_active(caplog):
|
||||
with patch.dict(
|
||||
cryptdev.__salt__,
|
||||
{"cmd.run_stdout": MagicMock(return_value="my-device (253, 1)\n")},
|
||||
):
|
||||
assert cryptdev.active() == {
|
||||
"my-device": {
|
||||
"devname": "my-device",
|
||||
"major": "253",
|
||||
"minor": "1",
|
||||
}
|
||||
}
|
||||
|
||||
# debien output when no devices setup.
|
||||
with patch.dict(cryptdev.__salt__, {"cmd.run_stdout": MagicMock(return_value="")}):
|
||||
caplog.clear()
|
||||
assert cryptdev.active() == {}
|
||||
assert "dmsetup output does not match expected format" in caplog.text
|
||||
|
||||
# centos output of dmsetup when no devices setup.
|
||||
with patch.dict(
|
||||
cryptdev.__salt__,
|
||||
{"cmd.run_stdout": MagicMock(return_value="No devices found")},
|
||||
):
|
||||
caplog.clear()
|
||||
assert cryptdev.active() == {}
|
||||
assert "dmsetup output does not match expected format" in caplog.text
|
Loading…
Add table
Reference in a new issue