開始編寫一個Salt模塊

編寫模塊

簡述

以ubuntu爲例 salt 所有模塊文件置於以下目錄中:html

<pre> /usr/share/pyshared/salt/ </pre>ubuntu

編寫一個自定義的模塊

在已定義的 file_roots 中,建立一個 _modules/ 目錄,咱們要擴展的外部模塊就編寫在這個目錄下,(具體位置參見配置文件: /etc/salt/master)ide

描述一下這個模塊的功能:檢查 /etc/hostname /etc/resolv.conf 這兩個文件的 attr 屬性ui

/srv/salt/_modules/getattr.pyhtm

<pre> import os import popen2 def run(): cmd = "lsattr /etc/hostname /etc/resolv.conf" child=os.popen(cmd) data = child.read() return data </pre>md5

將模塊分發到目標機器

<pre> salt '*' saltutil.sync_modules </pre>get

命令執行完畢後,能夠看到getattr.py被分發到minions主機的以下位置cmd

<pre> /var/cache/salt/master/roots/hash/base/_modules/getattr.py.hash.md5 /var/cache/salt/minion/files/base/_modules/getattr.py /var/cache/salt/minion/extmods/modules/getattr.py </pre>hash

執行本身編寫的模塊

<pre> salt '*' getattr.run </pre>it

命令執行成功後返回信息以下:

<pre> salt-master: -------------e- /etc/hostname -------------e- /etc/resolv.conf </pre>

參考

A guide on how to write Salt modules

相關文章
相關標籤/搜索