SaltStack runners模块分析之cache模块

/usr/lib/python2.6/site-packages/salt/runners/cache.py

cache模块返回minion端缓存的数据

返回目标minion缓存的grains数据

def grains(tgt=None, expr_form=‘glob‘, **kwargs):
    ‘‘‘
    Return cached grains of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.grains
    ‘‘‘
    deprecated_minion = kwargs.get(‘minion‘, None)
    if tgt is None and deprecated_minion is None:
        log.warn("DEPRECATION WARNING: {0}".format(deprecation_warning))
        tgt = ‘*‘  # targat all minions for backward compatibility
    elif tgt is None and isinstance(deprecated_minion, string_types):
        log.warn("DEPRECATION WARNING: {0}".format(deprecation_warning))
        tgt = deprecated_minion
    elif tgt is None:
        return {}
    pillar_util = salt.utils.master.MasterPillarUtil(tgt, expr_form,
                                                use_cached_grains=True,
                                                grains_fallback=False,
                                                opts=__opts__)
    cached_grains = pillar_util.get_minion_grains()
    salt.output.display_output(cached_grains, None, __opts__)
    return cached_grains
$ sudo salt-run cache.grains
[WARNING ] DEPRECATION WARNING: The ‘minion‘ arg will be removed from cache.py runner. Specify minion with ‘tgt‘ arg!
gintama-qa-server:
    ----------
    cpu_flags:
        - fpu
        - de
        - tsc
        - msr
        - pae
        - cx8
        - sep
        - cmov
        - pat
        - clflush
        - mmx
        - fxsr
        - sse
        - sse2
        - ss
        - ht
        - syscall
        - nx
        - lm
        - rep_good
        - aperfmperf
        - unfair_spinlock
        - pni
        - pclmulqdq
        - ssse3
        - cx16
        - pcid
        - sse4_1
        - sse4_2
        - x2apic
        - popcnt
        - tsc_deadline_timer
        - aes
        - hypervisor
        - lahf_lm
        - ida
        - arat
        - pln
        - pts
        - dts
    cpu_model:
        Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
    cpuarch:
        x86_64
    defaultencoding:
        UTF8
    defaultlanguage:
        en_US
    domain:
        localdomain
    fqdn:
        localhost.localdomain
    fqdn_ip4:
        - 127.0.0.1
    fqdn_ip6:
        - ::1
    gpus:
    host:
        localhost
    hwaddr_interfaces:
        ----------
        eth0:
            fa:39:64:2f:10:73
        eth1:
            56:30:39:48:ea:59
        eth2:
            66:11:fe:63:78:f9
        eth3:
            72:06:38:6f:5b:fa
        lo:
            00:00:00:00:00:00
    id:
        gintama-qa-server
    ip_interfaces:
        ----------
        eth0:
            - 10.10.41.17
        eth1:
        eth2:
        eth3:
        lo:
            - 127.0.0.1
    ipv4:
        - 10.10.41.17
        - 127.0.0.1
    ipv6:
        - ::1
        - fe80::f839:64ff:fe2f:1073
    kernel:
        Linux

返回目标minon缓存的pillar数据

def pillar(tgt=None, expr_form=‘glob‘, **kwargs):
    ‘‘‘
    Return cached pillars of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.pillar
    ‘‘‘
    deprecated_minion = kwargs.get(‘minion‘, None)
    if tgt is None and deprecated_minion is None:
        log.warn("DEPRECATION WARNING: {0}".format(deprecation_warning))
        tgt = ‘*‘  # targat all minions for backward compatibility
    elif tgt is None and isinstance(deprecated_minion, string_types):
        log.warn("DEPRECATION WARNING: {0}".format(deprecation_warning))
        tgt = deprecated_minion
    elif tgt is None:
        return {}
    pillar_util = salt.utils.master.MasterPillarUtil(tgt, expr_form,
                                                use_cached_grains=True,
                                                grains_fallback=False,
                                                use_cached_pillar=True,
                                                pillar_fallback=False,
                                                opts=__opts__)
    cached_pillar = pillar_util.get_minion_pillar()
    salt.output.display_output(cached_pillar, None, __opts__)
    return cached_pillar
$ sudo salt-run cache.pillar
[WARNING ] DEPRECATION WARNING: The ‘minion‘ arg will be removed from cache.py runner. Specify minion with ‘tgt‘ arg!
gintama-qa-server:
    ----------
    apache:
        httpd
    bind:
        ----------
        listen-on:
            any
        package-name:
            bind9
        port:
            53
        version:
            9.9.5
    company:
        Foo Industries
    git:
        git
jialebi-qa-server:
    ----------
    apache:
        httpd
    bind:
        ----------
        listen-on:
            any
        package-name:
            bind9
        port:
            53
        version:
            9.9.5
    company:
        Foo Industries
    git:
        git
jidong-fileserver:
    ----------
    apache:
        httpd
    bind:
        ----------
        listen-on:
            any
        package-name:
            bind9
        port:
            53
        version:
            9.9.5
    company:
        Foo Industries
    git:
        git
localhost.localdomain:
    ----------
    apache:
        httpd
    bind:
        ----------
        listen-on:
            any
        package-name:
            bind9
        port:
            53
        version:
            9.9.5
    company:
        Foo Industries
    git:
        git
zg2-develp-server:
    ----------
def _clear_cache(tgt=None,
                 expr_form=‘glob‘,
                 clear_pillar=False,
                 clear_grains=False,
                 clear_mine=False,
                 clear_mine_func=None):
    ‘‘‘
    Clear the cached data/files for the targeted minions.
    ‘‘‘
    if tgt is None:
        return False
    pillar_util = salt.utils.master.MasterPillarUtil(tgt, expr_form,
                                            use_cached_grains=True,
                                            grains_fallback=False,
                                            use_cached_pillar=True,
                                            pillar_fallback=False,
                                            opts=__opts__)
    return pillar_util.clear_cached_minion_data(clear_pillar=clear_pillar,
                                                clear_grains=clear_grains,
                                                clear_mine=clear_mine,
                                                clear_mine_func=clear_mine_func)

def clear_pillar(tgt=None, expr_form=‘glob‘):
    ‘‘‘
    Clear the cached pillar data of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.clear_pillar
    ‘‘‘
    return _clear_cache(tgt, expr_form, clear_pillar=True)

def clear_grains(tgt=None, expr_form=‘glob‘):
    ‘‘‘
    Clear the cached grains data of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.clear_grains
    ‘‘‘
    return _clear_cache(tgt, expr_form, clear_grains=True)

def clear_mine(tgt=None, expr_form=‘glob‘):
    ‘‘‘
    Clear the cached mine data of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.clear_mine
    ‘‘‘
    return _clear_cache(tgt, expr_form, clear_mine=True)

def clear_mine_func(tgt=None, expr_form=‘glob‘, clear_mine_func=None):
    ‘‘‘
    Clear the cached mine function data of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.clear_mine_func tgt=‘*‘ clear_mine_func=‘network.interfaces‘
    ‘‘‘
    return _clear_cache(tgt, expr_form, clear_mine_func=clear_mine_func)

def clear_all(tgt=None, expr_form=‘glob‘):
    ‘‘‘
    Clear the cached pillar, grains, and mine data of the targeted minions

    CLI Example:

    .. code-block:: bash

        salt-run cache.clear_all
    ‘‘‘
    return _clear_cache(tgt,
                        expr_form,
                        clear_pillar=True,
                        clear_grains=True,
                        clear_mine=True)
时间: 2024-10-11 08:47:45

SaltStack runners模块分析之cache模块的相关文章

SaltStack runners模块分析之pillar模块

/usr/lib/python2.6/site-packages/salt/runners/pillar.py pillar runner模块提供一些在Master端与Pillar编译器交互的函数 返回指定minion的pillar的编译top数据,如果没有指定minion,就使用第一个找到的minion def show_top(minion=None, saltenv='base'):     '''     Returns the compiled top data for pillar 

SaltStack runners模块分析之jobs模块

/usr/lib/python2.6/site-packages/salt/runners/jobs.py jobs runner模块用于方便管理正在运行或者处于活动状态的job 返回所有正在运行的job的报告 def active():     '''     Return a report on all actively running jobs from a job id centric     perspective     CLI Example:     .. code-block:

SaltStack源码分析之cmdmod模块

/usr/lib/python2.6/site-packages/salt/modules/cmdmod.py cmdmod模块用于执行一些命令行 '' A module for shelling out Keep in mind that this module is insecure, in that it can give whomever has access to the master root execution access to all salt minions. ''' # I

SaltStack源码分析之pillar模块

/usr/lib/python2.6/site-packages/salt/modules/pillar.py def get(key, default='', merge=False, delimiter=':'):     '''     .. versionadded:: 0.14     Attempt to retrieve the named value from pillar, if the named value is not     available return the p

audio_coding模块分析和audio_conference_mixer模块分析

audio_coding 1. 主要接口 AudioCodingModuleImpl::RegisterReceiveCodec 初始化Codec AudioCodingModuleImpl::IncomingPacket 收包 AudioCodingModuleImpl::PlayoutData10Ms neteq处理,并解码,返回原始数据 AudioCodingModuleImpl::Add10MsData 存储数据 AudioCodingModuleImpl::Process 编码,并调用

css扁平化博客学习总结(一)模块分析

一.模块分析 1.每开发一个项目之前,首先要对项目进行一个大致规划,它到底要做什么功能,它有什么具体需求. 2.所以需要进行模块化分析,把这些东西具象化,把一个问题模块化,对需求有一个宏观的了解. 3.有一个模块的概念后,把模块进行细分,细分成更小的模块,然后逐一击破. 不进行模块分析的恶劣影响: 不做模块分析,一上手就想到哪儿做到哪儿,很容易一叶障目,不能看到全貌,你会发现做着做着就失控了.因为有些地方出现了矛盾,你会发现要修改的成本很高,还不如推倒重写. 新手很容易着眼于细节,首先不应该从细

学生信息管理系统(四)——模块分析

学生信息管理系统已经敲完了,也进行了第一次验收,结果不是太理想.之前的总结也没有及时发表.现在重新复习一遍,把它发表. 从今天开始,我们就进入了代码分析阶段.现在我们就来分析一下模块中的几个函数. Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset 'executes SQL and returns Recordset Dim cnn As ADODB.Connection

ABP之模块分析

ABP之模块分析 本篇作为我ABP介绍的第三篇文章,这次想讲下模块的,ABP文档已经有模块这方面的介绍,但是它只讲到如何使用模块,我想详细讲解下它模块的设计思路. ABP 框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块.在通常情况 下,一个程序集就可以看成是一个模块.在 ABP 框架中,一个模块通过一个类来定义,而这 个类要继承自 AbpModule. 其实它的设计思路很简单: 1.加载bin目录下的所有dll 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Android4.42-Setting源码分析之蓝牙模块Bluetooth(下)

接着上一篇Android4.42-Settings源码分析之蓝牙模块Bluetooth(上) 继续蓝牙模块源码的研究 THREE,蓝牙模块功能实现 switch的分析以及本机蓝牙重命名和可见性的分析见上一篇,接下来进行第三章第三部分的介绍:关于蓝牙远程设备列表的加载.如果没有看过,建议看看上一篇关第一章蓝牙的布局,有助于理解 3>,设备列表的加载 因为这部分代码很多,所以在介绍时先说一下思路,程序首先通过底层的BluetoothAdapter的getBondedDevices()方法获取到已配对