Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/module_utils/facts/hardware/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyc

�
�Udac@`s�ddlmZmZmZeZddlZddlmZm	Z	ddl
mZdefd��YZde	fd��YZ
dS(	i(tabsolute_importtdivisiontprint_functionN(tHardwaretHardwareCollector(tget_mount_sizetAIXHardwarecB`sVeZdZdZd	d�Zd�Zd�Zd�Zd�Z	d�Z
d�ZRS(
s�
    AIX-specific subclass of Hardware.  Defines memory and CPU facts:
    - memfree_mb
    - memtotal_mb
    - swapfree_mb
    - swaptotal_mb
    - processor (a list)
    - processor_cores
    - processor_count
    tAIXc	C`s�i}|j�}|j�}|j�}|j�}|j�}|j�}|j|�|j|�|j|�|j|�|j|�|j|�|S(N(t
get_cpu_factstget_memory_factst
get_dmi_factst
get_vgs_factstget_mount_factstget_device_factstupdate(	tselftcollected_factsthardware_factst	cpu_factstmemory_factst	dmi_factst	vgs_factstmount_factst
devices_facts((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pytpopulate&s





c	C`s5i}g|d<|jjd�\}}}|r1d}xU|j�D]G}d|krD|dkr~|jd�}|d}n|d7}qDqDWt|�|d<|jjd|d	�\}}}|jd�}|d|d<|jjd|d
�\}}}|r1|jd�}t|d�|d<q1n|S(Nt	processors/usr/sbin/lsdev -Cc processorit	Availablet itprocessor_counts/usr/sbin/lsattr -El s -a types -a smt_threadstprocessor_cores(tmoduletrun_commandt
splitlinestsplittint(	RRtrctoutterrtitlinetdatatcpudev((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR9s(

##c
C`sPi}d}|jjd�\}}}x^|j�D]P}|j�}d|kret|d�}nd|kr4t|d�}	q4q4W||dd|d<||	dd|d<|jjd	�\}}}|rL|j�}
|
d
j�}t|djd��}t|d
jd��}||d
<t|d|d�|d<n|S(Nis/usr/bin/vmstat -vsmemory pagesis
free pagesitmemtotal_mbt
memfree_mbs/usr/sbin/lsps -sitMBt%tswaptotal_mbidtswapfree_mb(RRR R!R"trstrip(
RRtpagesizeR#R$R%R'R(t	pagecountt	freecounttlinesR.tpercused((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR	Vs(
cC`s"i}|jjd�\}}}|j�}|djd�|d<|jjd�}|r|jj|�\}}}|dkr|rx�|j�D]~}|jd�}d|kr�|dj�|d	<nd
|kr�|dj�|d<nd|kr�|dj�|d
<q�q�Wqn|S(Ns&/usr/sbin/lsattr -El sys0 -a fwversionisIBM,tfirmware_versiontlsconfit:sMachine Serial Numbertproduct_serials	LPAR Infot	lpar_infosSystem Modeltproduct_name(RRR!tstriptget_bin_pathR (RRR#R$R%R(tlsconf_pathR'((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR
qs"!cC`s�i}|jjd�}|jjd�}d|||f}|r�|r�|jj|dt�\}}}|dkr�|r�i|d<x/tjd|�D]}g|d|jd�<d}	d	||jd�f}|jj|�\}}}|dkr�|r�tjd
|�jd�}	x�tjd|jd��D]q}
i|
jd�d6|
jd
�d6|
jd�d6|
jd�d6|	d6}|d|jd�j|�q9Wq�q�Wq�n|S(s
        Get vg and pv Facts
        rootvg:
        PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
        hdisk0            active            546         0           00..00..00..00..00
        hdisk1            active            546         113         00..00..00..21..92
        realsyncvg:
        PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
        hdisk74           active            1999        6           00..00..00..00..06
        testvg:
        PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
        hdisk105          active            999         838         200..39..199..200..200
        hdisk106          active            999         599         200..00..00..199..200
        tlsvgtxargss%s -o | %s %s -ptuse_unsafe_shellitvgss?(\S+):\n.*FREE DISTRIBUTION(\n(\S+)\s+(\w+)\s+(\d+)\s+(\d+).*)+is%s %ssPP SIZE:\s+(\d+\s+\S+)s(\S+)\s+(\w+)\s+(\d+)\s+(\d+).*tpv_nameitpv_stateit	total_ppsitfree_ppstpp_size(	RR=RtTruetretfinditertgrouptsearchtappend(RRt	lsvg_patht
xargs_pathtcmdR#R$R%tmRGtntpv_info((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR�s.!
"
/c
C`s�i}g|d<g}|jjd�}|jj|�\}}}|r�x�|jd�D]t}|j�}t|�dkrY|ddkrY|dddkrYtjd|d�rYtjd|d�r;|d	}	i|	d6|dd
6|dd6|d
d6d|d|d|dfd6}
|
jt|	��n�t|�dkr]|j	d�ni|dd6d|d|d	fd
6|dd6|dd6d|d|d|d
fd6}
|j	|
�qYqYWn||d<|S(Ntmountstmounts
itnodet-s^/.*|^[a-zA-Z].*|^[0-9].*s^/itdeviceitfstypeitoptionss%s %s %siiittimeits%s:%si(
RR=RR!tlenRItmatchRRRM(RRRTt
mount_pathR#t	mount_outR%R'tfieldsRUt
mount_info((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR�s6
L

##
cC`s:i}i|d<|jjdt�}|jjdt�}|jj|�\}}}x�|j�D]�}|j�}i}	|d}
|d}|d}|dd|
g}
|jj|
�\}}}x>|j�D]0}|j�}|d}|d}||	|<q�Wi|d	6d
j|�d6|	d6|d|
<qbW|S(
Ntdevicestlsdevtlsattriiis-Es-ltstateRttypet
attributes(RR=RHRR R!tjoin(Rtdevice_factst	lsdev_cmdt
lsattr_cmdR#t	out_lsdevR%R'tfieldtdevice_attrstdevice_nametdevice_statetdevice_typetlsattr_cmd_argst
out_lsattrtattrtattr_fieldst	attr_nametattr_parameter((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR
�s.





N(t__name__t
__module__t__doc__tplatformtNoneRRR	R
RRR
(((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyRs
				*	+tAIXHardwareCollectorcB`seZdZeZRS(R(RyRzt	_platformRt_fact_class(((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyR~�s(t
__future__RRRRgt
__metaclass__RIt(ansible.module_utils.facts.hardware.baseRRt ansible.module_utils.facts.utilsRRR~(((sK/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/aix.pyt<module>s�

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]