saltstack升级模块
saltstack牛哄哄的,我是使用源码安装的,测试新版本后,保障能更新最新版本。写一个模块如:upgrade.py,调用模块里面的方法实现升级saltstack版本(使用pip)
1234567891011121314151617181920212223242526272829303132#!/usr/bin/env python# -*- coding: utf-8 -*- #tanyewei@gmail.com#2013/12/16 16:14importsubprocessdefversion():return'0.0.1'defsalt(version=None,upgrade=True):''' pip升级saltstack '''result={}ifversion:salt_up=__salt__['pip.install'](pkgs='salt=={version}'.format(version=version),upgrade=upgrade,bin_env='/usr/local/saltstack/bin/pip')result.setdefault('salt upgrade',{}).setdefault('stdout',salt_up['stdout'])result.setdefault('salt upgrade',{}).setdefault('stderr',salt_up['stderr'])result.setdefault('salt upgrade',{}).setdefault('retcode',salt_up['retcode'])else:salt_up=__salt__['pip.install'](pkgs='salt',upgrade=upgrade,bin_env='/usr/local/saltstack/bin/pip')result.setdefault('salt upgrade',{}).setdefault('stdout',salt_up['stdout'])result.setdefault('salt upgrade',{}).setdefault('stderr',salt_up['stderr'])result.setdefault('salt upgrade',{}).setdefault('retcode',salt_up['retcode'])salt_restart=str(__salt__['service.restart']('salt-minion'))result.setdefault('salt restart',{}).setdefault('result',str(salt_restart))result.setdefault('salt version',{}).setdefault('version',__grains__['saltversion'])returnresult 加了个version方法,这样调用version可以查看minion端是否为最新的模块。
页:
[1]