salt導入実行会hangが住むアプリケーション

1652 ワード

JBOSSを例にとると:
saltはZIPパッケージを通じてJBOSSをインストールする:
1./srv/saltでtopを編集する.slsプロファイルvim top.sls、以下のようにします.
 base:
  '*':
    - jboss

2.jbossを/srv/saltで追加する.slsプロファイルvim jboss.sls、以下のようにします.
pexpect:pkg:- installed
jboss1-src:file.managed:- name:/data/jboss.py- source: salt://jboss/jboss.py- include_empty: True
jboss2-src:file.managed:- name:/data/a.sh- source: salt://jboss/a.sh- include_empty: True
jboss-src:file.managed:- name:/data/jboss-eap-5.1.0.zip- source: salt://jboss/jboss-eap-5.1.0.zip- include_empty: True
jboss-install:cmd.run:- name: cd/data && unzip jboss-eap-5.1.0.zip && python jboss.py- require:- file: jboss-src- file: jboss1-src- file: jboss2-src- pkg: pexpect
3.jbossのインストールパッケージを/srv/salt/jbossディレクトリの下に置く
4.インストール検証のpythonスクリプトを/srv/salt/jbossディレクトリで作成します.cd /srv/salt/jboss vim jboss.py
スクリプトの内容は次のとおりです.
#!/usr/bin/pythonfrom time import sleepdef check_run():import pexpectb='nohup jboss-eap-5.1/jboss-as/bin/run.sh &'ssh=pexpect.spawn(b)try:ssh.expect('\"nohup.out\"',timeout=None)ssh.sendline('')except Exception,e:print eprint "THAT'S OK"def check_error():a=open('/data/jboss-eap-5.1/jboss-as/server/default/log/server.log','r')b=a.readlines()c=0for i in b:if not i.find('ERROR')==-1:c=c+1print iif not c:print "NOT ERROR IN IT"if __name__=="__main__":check_run()sleep(30)check_error()
5.マスターで同期コマンドを実行するには:salt '*' state.highstate