ewsd12 发表于 2015-6-1 09:27:46

SaltStack runners模块分析之cache模块

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

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

返回目标minion缓存的grains数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
$ sudo salt-run cache.grains
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数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
$ sudo salt-run cache.pillar
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:
    ----------






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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)








页: [1]
查看完整版本: SaltStack runners模块分析之cache模块