更快的答案(尤其是在cygwin上)

winsible的Python项目详细描述


winsible是ansible-playbook的一个实验性包装器,它增强了多处理和连接持久性,适用于openssh不能透明地执行自己的连接池(如el5和cygwin)的平台。

与ansible自己的acceleratefireball模式不同,它不需要在目标计算机上安装任何东西:只需在运行playbooks的计算机上安装它,然后使用winsible-playbook,而不是ansible-playbook

安装和使用

使用pip install winsibleeasy_install winsible安装winsible。如果系统上没有这些命令,请尝试安装平台的python-setuptools包。(此外,如果您不在cygwin上,则需要成为root用户或使用sudo,或将其安装到virtualenv。)

如果系统(1.0.1或更高版本)上有当前版本的gevent,Winsible可以使用它来完全消除分叉,并使用一个进程对所有主机运行播放。但与连接池相比,这是一个相对较小的性能提升(而且有些实验性),因此它是可选的,必须显式激活。如果您想尝试,可以使用sudo pip install "gevent>=1.0.1"sudo easy_install "gevent>=1.0.1"安装gevent。(然后在环境中使用ANSIBLE_PROCESS_MODE=gevent或ansible.cfg的[defaults]部分中使用process_mode=gevent启用它。)

最后,但并非最不重要的是,请确保您有一个ssh命令:如果您在cygwin上,请安装openssh包,或者在linux发行版上安装openssh-clients包。

一旦安装了这些东西,就可以使用winsible-playbook代替ansible-playbook,享受更快的playbook运行。(为了完整起见,还包含了一个winsible脚本,但它在加速方面并没有提供太多功能。但是,它确实调整了ansibe的默认值,以便ssh传输在cygwin上正常工作。

注:目前,这个项目作为一个整体仍然是相当阿尔法。(尤其是gevent模式)一般来说,winsible没有在非常广泛的主机、模块或插件上运行,因此欢迎使用体验报告。如果有什么东西坏了,或者在您的用例中没有提高性能,请在github页面上提交一个问题并提供一些详细信息,以便我可以查看它。谢谢!

有关如何工作以及如何配置它的更多信息,请查看https://github.com/pjeby/winsible/#how-it-works

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
GridLayout不工作的java问题   java Restlet请求对象不包含身份验证信息   java使用Cucumber为每个正在运行的线程创建一个TestNG runner类   java在平面文件中存储并跟踪它们?   类Lcom/google/firebase/FirebaseApp中没有虚拟方法zzbzo()Z;或者它的超类   java如何在安卓中创建字符串模式   可从Java访问的树莓PI传感器   java 50+GB分隔文件中的大致行数   是否有Java进程内数据库,允许从多表虚拟机访问?   当我使用ArrayList时,HashMap中的Java ArrayList会导致HashMap中的数据被删除。去除   如何将值存储在最佳java集合结构中   java消息Servlet。servlet appServlet的init()引发异常   java正在使用Spring引导生成空日志文件   c#在访问实例变量时使用this关键字是否更有效?   java JScrollPane滚动到最后添加的行   java Vertx抛出IllegalStateException:响应已被写入   java Liferay以编程方式更改portlet列   java下载单个s3对象并将它们合并到单个文件中   java spark数据帧将JSON转换为ORC满足“列模糊异常”