Fabric-Python知名批量自动化部署/测试模块

简介:

Fabric Python知名开源自动化部署模块Fabric,强烈推荐给各位!(运维,测试…均可以用它实现无比具有想象力的任务)他主要用于对设备/服务器批量执行任务(同时更换500台服务器的密码、同时更新或者重启500台虚拟机)安装和使用也极其方便,没有什么中间代码,没有架构,没有内幕!
  或许对于批量自动化部署而言,这是一个很大很大的福音。
  我们来看一个VPSee提供的案例:

#!/usr/bin/python
# -*- coding: utf-8 -*-
from fabric.api import *
import string
from random import choice
import socket
import paramiko
env.user = 'root'
env.password = 'root'
env.hosts = [ 'grid00', 'grid01', 'grid02', 'grid03', 'grid04', 'grid05']
@task
@parallel
def passwd(user, passwd=False):
with settings(hide('running', 'stdout', 'stderr'), warn_only=True):
if isup(env.host):
if not passwd:
passwd = genpass()
sudo("echo -e '%s\n%s' | passwd %s" % (passwd, passwd, user))
def genpass(length=10):
return ''.join(choice(string.ascii_letters + string.digits) for _ in range(length))
def isup(host):
print 'connecting host: %s' % host
timeout = socket.getdefaulttimeout()
socket.setdefaulttimeout(1)
up = True
try:
paramiko.Transport((host, 22))
except Exception, e:
up = False
print '%s down, %s' % (host, e)
finally:
socket.setdefaulttimeout(timeout)
return up

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
1天前
|
Go Python
通过 atexit 模块让 Python 实现 Golang 的 defer 功能
通过 atexit 模块让 Python 实现 Golang 的 defer 功能
10 2
|
4天前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
10天前
|
JSON API 数据格式
30天拿下Python之requests模块
30天拿下Python之requests模块
19 7
|
10天前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
10天前
|
机器学习/深度学习 人工智能 运维
自动化运维的魔法:如何利用Python脚本提升工作效率
【9月更文挑战第29天】在数字时代的浪潮中,IT运维人员面临着前所未有的挑战和机遇。本文将通过深入浅出的方式,介绍自动化运维的基本概念、核心价值以及使用Python脚本实现自动化任务的方法。我们将从实际案例出发,探讨如何利用Python简化日常的系统管理任务,提高运维效率,并展望自动化运维的未来趋势。无论你是初学者还是有经验的运维专家,这篇文章都将为你开启一扇通往高效工作方式的大门。
15 2
|
9天前
|
Linux Python Windows
一个Python模块Pendulum的问题
一个Python模块Pendulum的问题
16 0
|
10天前
|
API Python
30天拿下Python之matplotlib模块
30天拿下Python之matplotlib模块
|
10天前
|
SQL 数据处理 数据库
30天拿下Python之pandas模块
30天拿下Python之pandas模块
12 0
精心整理python测试小技巧:第十六节
精心整理python测试小技巧:第十六节
精心整理python测试小技巧:第十五节
精心整理python测试小技巧:第十五节