自定义模块和grains

一、自定义模块

saltstack有很多模块,模块的源码文件是在salt项目的:salt/modules.py;

salt linux-node2-computer sys.doc   查看有哪些module

 

这里file_roots还是/srv/salt/base目录,自定义模块步骤如下:

#新建自定义模块的目录_modules和模块文件
[root@linux-node1 _modules]# pwd
/srv/salt/base/_modules
[root@linux-node1 _modules]# cat f1.py 
def charles():
    return 'date'

#将模块同步到指定客户端
salt '*' saltutil.sync_all


#使用
[root@linux-node1 _modules]# salt '*' f1.charles
linux-node2-computer:
    date
linux-node1.oldboyedu.com:
    date

 

二、自定义grains

自定义grains也是使用脚本实现的,grains的源码文件是salt项目的salt/grains.py

自定义grains步骤如下:

#新建_grains目录,并创建grains文件
[root@linux-node1 base]# cd _grains/
[root@linux-node1 _grains]# ls
file.py
[root@linux-node1 _grains]# cat file.py 
import os
def file():
    grains={}
    file = os.popen('ulimit -n').read()
    grains['file']=file
    return grains


#同步grains到客户端
salt '*' saltutil.sync_all


#运行
root@linux-node1 _grains]# salt '*' grains.item file
linux-node2-computer:
    ----------
    file:
        1024
linux-node1.oldboyedu.com:
    ----------
    file:
        8192

 

 

一个grains文件中可以定义多个grains item

[root@linux-node1 _grains]# vim g1.py

def g_func():
    grains = {}
    grains['charles'] = 'charles'
    grains['qq'] = 'QQ'
    return grains


[root@linux-node1 _grains]# salt '*' grains.item charles
linux-node2-computer:
    ----------
    charles:
        5
linux-node1.oldboyedu.com:
    ----------
    charles:
        charles
[root@linux-node1 _grains]# salt '*' grains.item qq
linux-node2-computer:
    ----------
    qq:
        QQ
linux-node1.oldboyedu.com:
    ----------
    qq:
        QQ

 

 

 

 

  

转载于:https://www.cnblogs.com/cqq-20151202/p/6962640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值