由于我的服务器是centos5,安装后还要把zeromq升级,有点蛋疼

一:服务端的安装:

rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpmyum install salt-masterchkconfig salt-master onservice salt-master start

二、客户端的安装:

rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpmyum install salt-minionchkconfig salt-minion on#修改/etc/salt/minion配置:master: 192.168.1.100   #服务端IPid: 192.168.1.101       #标识,我用本机IP做标识service salt-minion start

起始以为就这样快乐的安装完了,但测试过程中发现minion端会产生一个僵尸进程,问了群上的大神绿肥才知道这是一个BUG,要把minion端升级到2014.1.1版本:

yum --enablerepo=epel-testing install salt-minionservice salt-minion restart

这样僵尸进程的BUG总算解决了,后来网上一看原来centos5安装salt还有一个BUG,就是zeromq的版本太低,还需要升级一下,于是又找到这个办法来升级:

wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repoyum clean allyum update zeromq libzmq3 python26-zmqservice salt-minion restart

检查一下版本:

[root@localhost Server]# salt-minion  --versions-report           Salt: 2014.1.1         Python: 2.6.8 (unknown, Nov  7 2012, 14:47:45)         Jinja2: unknown       M2Crypto: 0.21.1 msgpack-python: 0.1.12   msgpack-pure: Not Installed       pycrypto: 2.3         PyYAML: 3.08          PyZMQ: 13.1.0            ZMQ: 3.2.2

确实是升级成功了,于是后面就想用salt的state功能来完成剩下机器的升级,可是不会弄呀,果断网上抄一份配置:

getownsourcerepo:    cmd.run:        - name: wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repo        - unless: test -f /etc/yum.repos.d/ownsource.repo                                                                                                          zeromqs:    pkg.installed:        - pkgs:            - zeromq            - libzmq3            - python26-zmq        - require:            - cmd: getownsourcerepo                                                                                                          salt-minion:    service.running:        - enable: True        - watch:            - pkg: zeromqs

放在/etc/salt/updatezeromq.sls,然后先找一台机器测试一下:

salt '192.168.1.102' state.sls updatezeromq

哇,好神奇,这样就可以更新了,等命令跑完,看一下版本,还是没变,擦,这是什么情况,认真看了一下日志,是zeromq python26-zmq这两个包已经存在,没有升级,于是找了一下文档,看看pkg.installed 怎么升级软件,突然发现原来还可以指定版本的,果断把sls文件改成:

getownsourcerepo:    cmd.run:        - name: wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repo        - unless: test -f /etc/yum.repos.d/ownsource.repozeromqs:    pkg.installed:        - pkgs:            - zeromq: 3.2.2-13.1            - libzmq3            - python26-zmq: 13.1.0-1        - require:            - cmd: getownsourcereposalt-minion:    service.running:        - enable: True        - watch:            - pkg: zeromqs

再来一次:

[root@localhost salt]# salt  '192.168.1.102' state.sls updatezeromq192.168.1.102:----------          ID: getownsourcerepo    Function: cmd.run        Name: wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repo      Result: True     Comment: Command "wget -O /etc/yum.repos.d/ownsource.repo http://www.comingchina.com:8080/testing/ownsource/ownsource.repo" run     Changes:                ----------              pid:                  29228              retcode:                  0              stderr:                  --2014-04-09 17:35:22--  http://www.comingchina.com:8080/testing/ownsource/ownsource.repo                  Resolving www.comingchina.com... 202.103.191.13                  Connecting to www.comingchina.com|202.103.191.13|:8080... connected.                  HTTP request sent, awaiting response... 200 OK                  Length: 150 [text/plain]                  Saving to: `/etc/yum.repos.d/ownsource.repo'                                                                  0K                                                       100% 14.3M=0s                                                             2014-04-09 17:35:23 (14.3 MB/s) - `/etc/yum.repos.d/ownsource.repo' saved [150/150]              stdout:                                           ----------          ID: zeromqs    Function: pkg.installed      Result: True     Comment: 3 targeted packages were installed/updated.     Changes:                ----------              libzmq3:                  ----------                  new:                      3.2.2-13.1                  old:                                                             python26-zmq:                  ----------                  new:                      13.1.0-1                  old:                      2.1.9-3.el5              zeromq:                  ----------                  new:                      3.2.2-13.1                  old:                      2.2.0-4.el5----------          ID: salt-minion    Function: service.running      Result: True     Comment: Service restarted     Changes:                ----------              salt-minion:                  TrueSummary------------Succeeded: 3Failed:    0------------Total:     3

终于顺利升级成功!感觉玩这东西还真不容易。。。