HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/__pycache__/iscsi.cpython-310.pyc
o

�N�g�	�@sndZddlZddlZddlZddlZddlZddlZdZe�	e
�Zdd�Zdd�Z
dd	�Zd
d�Zdd
�ZdS)z�
Grains for iSCSI Qualified Names (IQN).

.. versionadded:: 2018.3.0

To enable these grains set `iscsi_grains: True` in the minion config.

.. code-block:: yaml

    iscsi_grains: True
�NZiscsicCst�dd�dur
dStS)NZiscsi_grainsF)Z__opts__�get�__virtualname__�rr�E/opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/iscsi.py�__virtual__srcCsZi}d|d<tjj��rt�|d<|Stjj��r t�|d<|Stjj��r+t�|d<|S)z
    Return iSCSI IQN
    F�	iscsi_iqn)	�salt�utils�platformZis_linux�
_linux_iqnZ
is_windows�_windows_iqnZis_aix�_aix_iqn)Zgrainsrrrr"s
�
�
rc
Cs�g}d}z6tjj�|d��#}|D]}|��}|�d�r&|�|�dd�d�qWd�W|S1s3wYW|Stya}z|j	t	j
krVt�d||�WYd}~|SWYd}~|Sd}~ww)z-
    Return iSCSI IQN from a Linux host.
    z/etc/iscsi/initiatorname.iscsi�rzInitiatorName=�=�NzError while accessing '%s': %s)
rr	�filesZfopen�strip�
startswith�append�split�OSError�errno�ENOENT�log�debug)�retZ	initiatorZ_iscsi�line�exrrrr1s,
���	�	�
���rcCsXg}d}tjj�|�}|d��r*z|�|��d���W|Sty)Y|Sw|S)z,
    Return iSCSI IQN from an AIX host.
    z)lsattr -E -l iscsi0 | grep initiator_namerr)	r�modules�cmdmod�run�isalpharr�rstrip�
IndexError)rZaix_cmdZaix_retrrrr
Es��r
cCsTd}g}tjj�|�}|st�d�|St|t�r|g}|D]	}|�|d�q|S)z1
    Return iSCSI nodes from a Windows host.
    z&Get-InitiatorPort | Select NodeAddresszNo iSCSI nodes foundZNodeAddress)	rrrZ
powershellrZtrace�
isinstance�dictr)�cmdrZnodes�noderrrrVs

r)�__doc__r�loggingZsalt.modules.cmdmodrZsalt.utils.filesZsalt.utils.pathZsalt.utils.platformr�	getLogger�__name__rrrrr
rrrrr�<module>s