zoukankan      html  css  js  c++  java
  • salt 之 grains(二)

    前面写了salt的grains在minion端和master端的自定义配置。

    通过Grains模块定义Grains

    通过 salt '*' sys.doc grains  来查看相关的命令和使用方法

    salt 'cong-55' sys.doc grains.append

    通过salt 'minion_id' sys.doc MODULE.FUNCION  来查看对应模板的函数的使用方法

    添加grains信息

    grains.append  将grains的key和value添加到grains配置文件中以列表形式保存,类型  list

    salt ‘minion_id' grains.append  KEY  VALUE

    [root@cong-33 _grains]# salt 'cong-55' grains.append OSType Linux  ##key OSType,value Linux
    cong-55:
        ----------
        OSType:
            - Linux

    [root@cong-33 _grains]# salt 'cong-55' grains.append OSType Linu2
    cong-55:
    ----------
    OSType:
    - Linux
    - Linu2

    [root@cong-33 _grains]# salt 'cong-55' grains.get OSType
    cong-55:
    - Linux
    - Linu2
    [root@cong-33 _grains]#

    grains经过上面的命令已经把grains信息添加到了minion端,还写进来minion端的一个配置文件了

    [root@cong-55 ~]# cat /etc/salt/grains     ##已经把grains的信息写入这个文件
    OSType:
    - Linux
    - Linux2 [root@cong
    -55 ~]#

    grains.setvals   批量添加grains信息

     salt '*' grains.setvals "{'key1': 'val1', 'key2': 'val2'}"

    [root@cong-33 _grains]# salt 'cong-55' grains.setvals "{'IDC':'abc','CITY':'GZ'}"
    cong-55:
        ----------
        CITY:
            GZ
        IDC:
            abc
    [root@cong-33 _grains]# salt 'cong-55' grains.get IDC
    cong-55:
        abc
    [root@cong-33 _grains]# salt 'cong-55' grains.get CITY
    cong-55:
        GZ
    [root@cong-33 _grains]#

    查看minion端的配置文件

    [root@cong-55 ~]# cat /etc/salt/grains 
    CITY: GZ
    IDC: abc
    OSType:
    - Linux
    - Linux2 [root@cong
    -55 ~]#

    grains.append 是将value添加到key的列表中,如果key不存在将创建

    grains.setvals 添加多个grains的key和value到grains配置文件中,类型是key-value

    删除grains信息

    grains.delkey    删除grains的key和value

     salt '*' grains.delkey key

    [root@cong-33 _grains]# salt 'cong-55' grains.delkey IDC
    cong-55:
        None
    [root@cong-33 _grains]# salt 'cong-55' grains.get IDC   
    cong-55:
    [root@cong-33 _grains]#

    查看minion端信息

    [root@cong-55 ~]# cat /etc/salt/grains 
    CITY: GZ
    OSType:
    - Linux
    [root@cong-55 ~]#

     grains.delval  删除grains的value

    salt '*' grains.delval key

    [root@cong-33 _grains]# salt 'cong-55' grains.delval CITY
    cong-55:
        None
    [root@cong-33 _grains]# salt 'cong-55' grains.get CITY
    cong-55:
        None
    [root@cong-33 _grains]# 

    查看minion端的配置

    [root@cong-55 ~]# cat /etc/salt/grains 
    CITY: null
    OSType:
    - Linux
    [root@cong-55 ~]#

    grains.delkey 会把key和value一起删掉,

    grains.delval只是把value删掉,key还在,key的值变为null

    grains.remove  从grains配置文件中的列表中删除一个值

    删除grains的key列表中的一个value值,如果grains的key和value不是列表不能删除

     salt '*' grains.remove key val

    [root@cong-33 _grains]# salt 'cong-55' grains.get OSType
    cong-55:
        - Linux
        - Linu2
    [root@cong-33 _grains]# salt 'cong-55' grains.remove OSType Linux
    cong-55:
        ----------
        OSType:
            - Linu2
    
    [root@cong-33 _grains]# salt 'cong-55' grains.item OSType
    cong-55:
        ----------
        OSType:
            - Linu2
    [root@cong-33 _grains]#

    grains的相关函数:

    [root@cong-33 _grains]# salt 'cong-55' sys.list_functions grains
    cong-55:
        - grains.append
        - grains.delkey
        - grains.delval
        - grains.equals
        - grains.fetch
        - grains.filter_by
        - grains.get
        - grains.get_or_set_hash
        - grains.has_value
        - grains.item
        - grains.items
        - grains.ls
        - grains.remove
        - grains.set
        - grains.setval
        - grains.setvals
  • 相关阅读:
    (一〇八)iPad开发之横竖屏适配
    ZOJ 1414:Number Steps
    HDU 1391:Number Steps
    ZOJ 1871:Steps
    POJ 2590:Steps
    POJ 2629:Common permutation
    POJ 2562:Primary Arithmetic
    POJ 2505:A multiplication game
    HDU 1517:A Multiplication Game
    POJ 3650:The Seven Percent Solution
  • 原文地址:https://www.cnblogs.com/LYCong/p/7873871.html
Copyright © 2011-2022 走看看