一个通过SOAP web service驱动ssh/telnet执行命令的小平台
开源了:
https://github.com/leonevo/euao
作为云平台的一部分,这个模块是负责底层执行具体命令的。它只负责执行,对性能要求很高,并发性,稳定性要求都高。
它以Facebook的一个重要应用friendfeed的开源服务器Tornado为基础,向上提供SOAP webservice调用方式,向下,使用telnetlib/paramiko来连接telnet/ssh执行命令。
作为改进,它友好地封闭了执行命令的方法,提供多个函数,比如一次登录,执行多条命令,以及根据提示符需要连续操作的命令。
在此基础上,可以方便地封装出对某类服务器的操作,使执行某些复杂的命令更简单,更语义化。比如,一个命令会有很多参数,但这些参数只有几个是最常用的,而这个命令的名称很费解,而且,一般程序难以直接登录过来执行这样的命令,借助EUAO, 就可以把这样的命令封装成SOAP webservice function. 在程序开发整合中就很方便了。
这里提供了一个PowerVM 自动化安装AIX VIOClient的模块,封装了相关对VIO Server, HMC, NIM Server的操作。
哦对了,它是基于Python的。所以,Keep It Simple, Stupid, 是我一惯坚持的。