%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/modules/kmod.pyc

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZ	ddl
Z	eje�Z
d�Zd�Zd�Zd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zed�Zed�Zd�Zeed�ZdS(u'
Module to manage Linux kernel modules
i(tabsolute_importtunicode_literalstprint_functionNcC@stddkS(u$
    Only runs on Linux systems
    ukerneluLinux(t
__grains__(((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt__virtual__scC@s^t�}t�}x|D]}|j|d�qWx|D]}|j|d�q;W||S(uy
    Return a list of the new modules, pass an lsmod dict before running
    modprobe and one after modprobe has run
    umodule(tsettadd(tpre_modst	post_modstpretposttmod((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt	_new_modss		

cC@s^t�}t�}x|D]}|j|d�qWx|D]}|j|d�q;W||S(uy
    Return a list of the new modules, pass an lsmod dict before running
    modprobe and one after modprobe has run
    umodule(RR(RRR	R
R((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt_rm_mods(s		

cC@sdtkrdSdS(uK
    Return location of modules config file.
    Default: /etc/modules
    usystemdu%/etc/modules-load.d/salt_managed.confu/etc/modules(R(((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt_get_modules_conf6scC@s$|j�dkrtS|j�dS(u�
    Return module name and strip configuration. It is possible insert modules
    in this format:
        bonding mode=4 miimon=1000
    This method return only 'bonding'
    ui(tstriptFalsetsplit(R((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt_strip_module_name@scC@s�t�}tjj|�s,td|�nt|�}|s`|tt�ks`|t�krgt	�St
j|�}td|dj|�dt�r�td||�ntd||�t	|g�S(uj
    Add module to configuration file to make it persistent. If module is
    commented uncomment it.
    u
file.touchufile.searchu^#[	 ]*{0}[	 ]*$t	multilineufile.uncommentufile.append(
Rtostpathtexistst__salt__Rtmod_listtTruet	availableRtretescapetformat(Rtconftmod_namet
escape_mod((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt_set_persistent_moduleLs	
	cC@s�t�}t|�}|s.|tt�kr5t�Stj|�}|rgtd|dj|��ntd|dj|�d�t|g�S(uj
    Remove module from configuration file. If comment is true only comment line
    where module is.
    ufile.commentu^[	 ]*{0}[	 ]?ufile.sedu(	RRRRRRRRR(RtcommentRRR ((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt_remove_persistent_modulecs	c
C@s�g}tjjdtj�d�}tjj|d�}tjj|�r�tjjj|d��5}x+|D]#}|j	tjj
|�d �qnWWdQXnxltjjj|�D]U\}}}xC|D];}d|kr�|j	||jd� j
dd	��q�q�Wq�Wd
tdkr�dtj�dd
d!d}	xotjjj|	�D]U\}}}xC|D];}d|krh|j	||jd� j
dd	��qhqhWqRWntt|��S(u�
    Return a list of all available kernel modules

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.available
    u
/lib/modules/iumodules.builtinuri����Nu.kou-u_uArchu	os_familyu/lib/modules/extramodules-iiu-ARCH(RRtjointunameRtsalttutilstfilestfopentappendtbasenametos_walktindextreplaceRtsortedtlist(
trettmod_dirt
built_in_filetftlinetroottdirsR(tfn_tmod_dir_arch((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyRts$

*%
1%
4cC@s
|t�kS(u�
    Check to see if the specified kernel module is available

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.check_available kvm
    (R(R((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pytcheck_available�s
cC@s�g}x�tdd�j�D]�}|j�}t|�dksGqn|ddkr]qni|dd6|dd6|dd	6}t|�d
kr�|d
jd�|d<n
g|d<|j|�qW|S(
u�
    Return a dict containing information about currently loaded modules

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.lsmod
    ucmd.runulsmodiiuModuleiusizeumoduleudepcountiu,udeps(Rt
splitlinesRtlenR*(R1R5tcompstmdat((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pytlsmod�s 

cC@s�t�}|r�t�}tjj|�r�yttjjj|d��V}xL|D]D}|j	�}t
|�}|jd�rO|rO|j|�qOqOWWdQXWq�t
k
r�tjd|�q�Xq�n%x"t�D]}|j|d�q�Wtt|��S(u�
    Return a list of the loaded module names

    only_persist
        Only return the list of loaded persistent modules

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.mod_list
    uru#Nu-kmod module could not open modules file at %sumodule(RRRRRR&R'R(R)RRt
startswithRtIOErrortlogterrorR?R/R0(tonly_persisttmodsRtmodules_fileR5RR((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyR�s 
		

cC@s�t�}tddj|�dt�}|ddkr�t�}t||�}t�}|rnt|�}ntt||B��Sdj||d�SdS(	u�
    Load the specified kernel module

    mod
        Name of module to add

    persist
        Write module to /etc/modules to make it load on system reboot

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.load kvm
    ucmd.run_allumodprobe {0}tpython_shelluretcodeiuError loading module {0}: {1}ustderrN(	R?RRRRRR!R/R0(RtpersistRtresRREtpersist_mods((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pytload�s			cC@s
|t�kS(u�
    Check to see if the specified kernel module is loaded

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.is_loaded kvm
    (R(R((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt	is_loadeds
cC@s�t�}tddj|�dt�}|ddkr�t�}t||�}t�}|rqt||�}ntt||B��Sdj||d�SdS(	uE
    Remove the specified kernel module

    mod
        Name of module to remove

    persist
        Also remove module from /etc/modules

    comment
        If persist is set don't remove line from /etc/modules but only
        comment it

    CLI Example:

    .. code-block:: bash

        salt '*' kmod.remove kvm
    ucmd.run_allu	rmmod {0}RGuretcodeiuError removing module {0}: {1}ustderrN(	R?RRRR
RR#R/R0(RRHR"RRIRRERJ((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pytremoves			(t__doc__t
__future__RRRRRtloggingtsalt.utils.filesR&tsalt.utils.patht	getLoggert__name__RBRRR
RRR!R#RR:R?RRRKRLRRM(((s5/usr/lib/python2.7/site-packages/salt/modules/kmod.pyt<module>s*				
				%	
	 	

Zerion Mini Shell 1.0