| Server IP : 198.38.94.13 / Your IP : 216.73.217.33 Web Server : Apache System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : revivere ( 1140) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/ |
Upload File : |
"""
Detect LVM Volumes
"""
import logging
import salt.modules.cmdmod
import salt.utils.files
import salt.utils.path
import salt.utils.platform
__salt__ = {
"cmd.run": salt.modules.cmdmod._run_quiet,
"cmd.run_all": salt.modules.cmdmod._run_all_quiet,
}
log = logging.getLogger(__name__)
def lvm():
"""
Return list of LVM devices
"""
if salt.utils.platform.is_linux():
return _linux_lvm()
elif salt.utils.platform.is_aix():
return _aix_lvm()
else:
log.trace("LVM grain does not support this OS")
def _linux_lvm():
ret = {}
cmd = salt.utils.path.which("lvm")
if cmd:
vgs = __salt__["cmd.run_all"](f"{cmd} vgs -o vg_name --noheadings")
for vg in vgs["stdout"].splitlines():
vg = vg.strip()
ret[vg] = []
lvs = __salt__["cmd.run_all"](f"{cmd} lvs -o lv_name --noheadings {vg}")
for lv in lvs["stdout"].splitlines():
ret[vg].append(lv.strip())
return {"lvm": ret}
else:
log.trace("No LVM installed")
def _aix_lvm():
ret = {}
cmd = salt.utils.path.which("lsvg")
vgs = __salt__["cmd.run"](f"{cmd}")
for vg in vgs.splitlines():
ret[vg] = []
lvs = __salt__["cmd.run"](f"{cmd} -l {vg}")
for lvline in lvs.splitlines()[2:]:
lv = lvline.split(" ", 1)[0]
ret[vg].append(lv)
return {"lvm": ret}