%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pyo

�
���^c@@sxdZddlmZmZmZddlZddlZyjddlmZddl	m
Zddlm
Z
ddlZddlZddlZddlZdZWnek
r�Zej�ZnXeje�ZdZejjjejjj e!��Z d�Z"d	�Z#d
�Z$d�Z%d�Z&d
�Z'e(dd�Z)d�Z*d�Z+e,d�Z-d�Z.d�Z/dS(u3
Manage Linux kernel packages on YUM-based systems
i(tabsolute_importtprint_functiontunicode_literalsN(tsix(tLooseVersion(tCommandExecutionErroru	kernelpkgcC@sXtrttfStjdd�dkr,tStjdd�j�d
krNtStd	fS(u7
    Load this module on RedHat-based systems only
    u	os_familyuuRedHatuosuamazonuxcpu	xenserveruvirtuozzolinuxu8Module kernelpkg_linux_yum: no YUM based system detected(uamazonuxcpu	xenserveruvirtuozzolinux(t__IMPORT_ERRORtFalset
__grains__tgett__virtualname__tlower(((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pyt__virtual__s
	cC@s&dtkrtdtd�StdS(u�
    Return the version of the running kernel.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.active
    upkg.normalize_nameu
kernelrelease(t__salt__R(((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytactive0s
cC@s_tdt�dt�}|dkr)gStjrBt|dt�St|dtj	t��SdS(u�
    Return a list of all installed kernels.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.list_installed
    upkg.versiontversions_as_listtcmptkeyN(
R
t
_package_nametTruetNoneRtPY2tsortedt_cmp_versiont	functoolst
cmp_to_key(tresult((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytlist_installed@s
	cC@s/tdt��}|dkr+t�}n|S(u�
    Return the version of the latest kernel from the package repositories.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.latest_available
    upkg.latest_versionu(R
Rtlatest_installed(R((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytlatest_availableTs
cC@st�}|r|dSdS(u�
    Return the version of the latest installed kernel.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.latest_installed

    .. note::
        This function may not return the same value as
        :py:func:`~salt.modules.kernelpkg_linux_yum.active` if a new kernel
        has been installed and the system has not yet been rebooted.
        The :py:func:`~salt.modules.kernelpkg_linux_yum.needs_reboot` function
        exists to detect this condition.
    i����N(RR(tpkgs((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pyRds	cC@stt��tt��kS(u�
    Detect if a new kernel version has been installed but is not running.
    Returns True if a new kernel is installed, False otherwise.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.needs_reboot
    (t
_LooseVersionRR(((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytneeds_reboot|scC@stddt��}t�}i|d6t�d6t�d6|d6|d6}|r{|r{tjd�td	d
|�n|S(u�
    Upgrade the kernel and optionally reboot the system.

    reboot : False
        Request a reboot if a new kernel is available.

    at_time : immediate
        Schedule the reboot at some point in the future. This argument
        is ignored if ``reboot=False``. See
        :py:func:`~salt.modules.system.reboot` for more details
        on this argument.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.upgrade
        salt '*' kernelpkg.upgrade reboot=True at_time=1

    .. note::
        An immediate reboot often shuts down the system before the minion has a
        chance to return, resulting in errors. A minimal delay (1 minute) is
        useful to ensure the result is delivered to the master.
    upkg.upgradetnameuupgradesuactiveulatest_installedureboot_requestedureboot_requiredu&Rebooting system due to kernel upgradeu
system.reboottat_time(R
RR RRtlogtwarning(trebootR"Rt
_needs_reboottret((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytupgrade�s	



cC@stt��tt��kS(u�
    Detect if a new kernel version is available in the repositories.
    Returns True if a new kernel is available, False otherwise.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.upgrade_available
    (RRR(((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytupgrade_available�scC@sp|t�kr'tdj|���n|t�krEtd��ndjt�|�}tjd|�td�}g}tj	j
jt�r�tddt
�r�|jdd	g�n|jt�d
d|g�td|d
ddt�}tjdd�td�}tj	jj||�}|ddkrbtddi|dgd6|d6��ni|gd6S(ui
    Remove a specific version of the kernel.

    release
        The release number of an installed kernel. This must be the entire release
        number as returned by :py:func:`~salt.modules.kernelpkg_linux_yum.list_installed`,
        not the package name.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.remove 3.10.0-327.el7
    u%Kernel release '{0}' is not installeduActive kernel cannot be removedu{0}-{1}uRemoving kernel package %su
pkg.list_pkgsu
config.getu
systemd.scopeusystemd-runu--scopeu-yuremoveucmd.run_alltoutput_loglevelutracetpython_shelluretcodeiu"Error occurred removing package(s)tinfoustderruerrorsuchangesuremovedN(RRtformatRRR#R,R
tsalttutilstsystemdt	has_scopet__context__Rtextendt_yumRtpopRtdatat
compare_dicts(treleasettargettoldtcmdtouttnewR'((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytremove�s0
	
!cC@slg}xXt�D]M}|t�kr+qn|rF|t�krFqn|jt|�d�qWi|d6S(u�
    Remove all unused kernel packages from the system.

    keep_latest : True
        In the event that the active kernel is not the latest one installed, setting this to True
        will retain the latest kernel package, in addition to the active one. If False, all kernel
        packages other than the active one will be removed.

    CLI Example:

    .. code-block:: bash

        salt '*' kernelpkg.cleanup
    uremoved(RRRR3R>(tkeep_latesttremovedtkernel((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pytcleanup�scC@sdS(u3
    Return static string for the package name
    ukernel((((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pyRscC@s<t|�}t|�}||kr(dS||kr8dSdS(u6
    Compare function for package version sorting
    i����ii(R(titem1titem2tvers1tvers2((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pyR"s(0t__doc__t
__future__RRRRtloggingtsalt.extRtsalt.utils.versionsRRtsalt.exceptionsRtsalt.utils.dataR.tsalt.utils.functoolstsalt.utils.systemdtsalt.modules.yumpkgRRtImportErrortexct__str__t	getLoggert__name__R#R
R/tnamespaced_functiontmodulestyumpkgR4tglobalsRRRRRR RR(R)R>RRBRR(((sD/usr/lib/python2.7/site-packages/salt/modules/kernelpkg_linux_yum.pyt<module>s:
$						+		6"	

Zerion Mini Shell 1.0