%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/grains/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/grains/smartos.pyc

�
���^c@@sdZddlmZmZmZddlZddlZddlZddlZ	ddl
Z	ddlZ	ddlZ	ddl
Z	ddlmZddlZ	dZie	jjjd6Zeje�Zd�Zd�Zd	�Zd
�Zd�Zd�ZdS(
u�
SmartOS grain provider

:maintainer:    Jorge Schrauwen <sjorge@blackdot.be>
:maturity:      new
:depends:       salt.utils, salt.ext.six, salt.module.cmdmod
:platform:      SmartOS

.. versionadded:: nitrogen

i(tabsolute_importtprint_functiontunicode_literalsN(tzipusmartosucmd.runcC@stjjj�rtStS(u*
    Only load when we are on SmartOS
    (tsalttutilstplatformt
is_smartost__virtualname__tFalse(((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pyt__virtual__(scC@s�i}i}xntdd�jd�D]S}tttddddg|jd����}|||d<||dd=q&Wt|�|d	<d
|d<d
|d<id
d
6d
d6d
d6|d<x�|D]�}||dj�dkr�|dcd7<n-||dj�dkr'|dcd7<n||d|dkrXd
|d||d<n|d||dcd7<q�Wtjj	j
tdd��}|d|d<|d|d<|dr�|d|d<n|d|d<|d|d<|d|d<|S( u?
    Return useful information from a SmartOS compute node
    ucmd.runu&vmadm list -p -o uuid,alias,state,typeu
uuuidualiasustateutypeu:ucomputenode_vms_totaliucomputenode_vms_runningucomputenode_vms_stoppeduKVMuLXuOSucomputenode_vms_typeurunningiustoppedusysinfouSDC Versionucomputenode_sdc_versionu
VM Capableucomputenode_vm_capableuCPU Virtualizationucomputenode_vm_hw_virtuManufacturerumanufactureruProductuproductnameuUUID(t__salt__tsplittdicttlistRtlentlowerRRtjsontloads(tgrainstvmstvmtsysinfo((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pyt_smartos_computenode_data1s6
 0


 
cC@s�itdddt�d6tdd�d6dd6}tjd�}tjjd	�r�tjj	j
d	d
��X}xN|D]F}tjjj|�}|j
|�}|rx|jd�|d<qxqxWWdQXn|S(
u7
    Return useful information from a SmartOS zone
    ucmd.runu(zoneadm list -p | awk -F: '{ print $1 }'tpython_shelluzoneiduzonenameuUnknownuimageversionuImage:\s(.+)u/etc/producturiN(RtTruetretcompiletostpathtisfileRRtfilestfopentstringutilst
to_unicodetmatchtgroup(Rtimageversiontfp_tlineR#((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pyt_smartos_zone_datafs	

#c	C@sDidd6dd6}tjd�}tjjd�r�tjjjdd��X}xN|D]F}tjj	j
|�}|j|�}|rW|jd�|d<qWqWWWdQXntjd	�}tjjd
�r@tjjjd
d��X}xN|D]F}tjj	j
|�}|j|�}|r�|jd�|d<q�q�WWdQXn|S(u)
    SmartOS zone pkgsrc information
    uUnknownu
pkgsrcversionu
pkgsrcpathu^release:\s(.+)u/etc/pkgsrc_versionuriNu
PKG_PATH=(.+)u/opt/local/etc/pkg_install.conf(
RRRRRRRRR R!R"R#R$(Rt
pkgsrcversionR&R'R#t
pkgsrcpath((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pyt_smartos_zone_pkgsrc_data�s(

#
#cC@s�igd6}tjd�}tjjd�r�tjjjdd��P}xF|D]>}tjj	j
|�}|j|�rP|dj|�qPqPWWdQXn|S(u)
    SmartOS zone pkgsrc information
    upkgin_repositoriesu^(?:https|http|ftp|file)://.*$u&/opt/local/etc/pkgin/repositories.confurN(
RRRRRRRRR R!R"R#tappend(Rt	pkginrepoR&R'((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pyt_smartos_zone_pkgin_data�s

!cC@s�i}tjjj�r~tjjj|t�dt�}tjjj|t�dt�}tjjj|t	�dt�}n6tjjj
�r�tjjj|t�dt�}n|S(u$
    Provide grains for SmartOS
    tmerge_lists(RRRtis_smartos_zonet
dictupdatetupdateR(RR+R.tis_smartos_globalzoneR(R((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pytsmartos�s!!$$(t__doc__t
__future__RRRRRtloggingtsalt.utils.dictupdateRtsalt.utils.jsontsalt.utils.pathtsalt.utils.platformtsalt.utils.stringutilstsalt.ext.six.movesRtsalt.modules.cmdmodRtmodulestcmdmodtrunRt	getLoggert__name__tlogR
RR(R+R.R4(((s7/usr/lib/python2.7/site-packages/salt/grains/smartos.pyt<module>s*			5		"	

Zerion Mini Shell 1.0