�
�Udac @` s� d d l m Z m Z m Z e Z d d l Z d d l Z d d l m Z d d l
m Z d d l m
Z
d e
f d � � YZ d S( i ( t absolute_importt divisiont print_functionN( t get_bin_path( t get_file_content( t NetworkCollectort IscsiInitiatorNetworkCollectorc B` s/ e Z d Z e � Z d d d � Z d � Z RS( t iscsic C` s� i } d | d <t j j d � s4 t j j d � r� x�t d d � j � D]i } | j d � sJ | j d � sJ | j � d k r� qJ n | j d � rJ | j d d
� d
| d <PqJ qJ Wnt j j d � rGt d � } | r�| d
7} | j | � \ } } } | d k rD| rD| j | d � } | j � d
j
� | d <qDq�n� t j j d � r�t d d d g �} | r�| d 7} | j | � \ } } } | r�| j | d � } | j d d
� d
j
� | d <q�q�n | S( s�
Example of contents of /etc/iscsi/initiatorname.iscsi:
## DO NOT EDIT OR REMOVE THIS FILE!
## If you remove this file, the iSCSI daemon will not start.
## If you change the InitiatorName, existing access control lists
## may reject this initiator. The InitiatorName must be unique
## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
InitiatorName=iqn.1993-08.org.debian:01:44a42c8ddb8b
Example of output from the AIX lsattr command:
# lsattr -E -l iscsi0
disc_filename /etc/iscsi/targets Configuration file False
disc_policy file Discovery Policy True
initiator_name iqn.localhost.hostid.7f000002 iSCSI Initiator Name True
isns_srvnames auto iSNS Servers IP Addresses True
isns_srvports iSNS Servers Port Numbers True
max_targets 16 Maximum Targets Allowed True
num_cmd_elems 200 Maximum number of commands to queue to driver True
Example of output from the HP-UX iscsiutil command:
#iscsiutil -l
Initiator Name : iqn.1986-03.com.hp:mcel_VMhost3.1f355cf6-e2db-11e0-a999-b44c0aef5537
Initiator Alias :
Authentication Method : None
CHAP Method : CHAP_UNI
Initiator CHAP Name :
CHAP Secret :
NAS Hostname :
NAS Secret :
Radius Server Hostname :
Header Digest : None, CRC32C (default)
Data Digest : None, CRC32C (default)
SLP Scope list for iSLPD :
t t iscsi_iqnt linuxt sunoss /etc/iscsi/initiatorname.iscsit #t ;s InitiatorName=t =i t aixt lsattrs
-E -l iscsi0i t initiator_names hp-uxt iscsiutilt opt_dirss /opt/iscsi/bins -ls Initiator Namet :( t syst platformt
startswithR t
splitlinest stript splitR t run_commandt findstrt rstrip( t selft modulet collected_factst iscsi_factst linet cmdt rct outt err( ( sL /usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/iscsi.pyt collect! s4 (
$0
#
)c C` s0 x) | j � D] } | | k r
| } q
q
W| S( N( R ( R t textt matchR"