供应商管理的基本系统
mgmtsystem的Python项目详细描述
管理系统
简介
mgmtsystem是一个简单的虚拟化客户机,支持(在不同程度上)以下内容
- Red Hat Enterprize虚拟化(RHEV)
- 红帽OpenStack(Rhos)
- openshift
- vmware vCenter
- Microsoft SCvmm
- 微软azure
- 谷歌计算引擎
- 库伯内特斯
- 鹰眼
它可以用来控制虚拟化客户机,并提供诸如
- list_vm(返回vm_名称列表)
- list_template(返回模板/图像列表)
- 启动虚拟机(启动虚拟机)
- 停止虚拟机(停止虚拟机)
尽管云和基础设施虚拟化技术(如instance/vm)在概念上的名称有所不同 决定在代码库和接口中坚持使用一种表示,以便在 所有系统
使用量
通常使用主机名和一些凭据调用每个管理系统
frommgmtsystem.virtualcenterimportVMWareSystemsystem=VMWareSystem(hostname='10.0.0.0',username="root",password="password")system.list_vm()
添加新的管理系统
管理系统应该扩展基类,并为 它不支持。随着管理制度越来越多样化,这种行为在未来可能会发生变化
frombaseimportMgmtSystemAPIBaseclassRHEVMSystem(MgmtSystemAPIBase):_stats_available={'num_vm':lambdaself:self.api.get_summary().get_vms().total,'num_host':lambdaself:len(self.list_host()),'num_cluster':lambdaself:len(self.list_cluster()),'num_template':lambdaself:len(self.list_template()),'num_datastore':lambdaself:len(self.list_datastore()),}def__init__(self,hostname,username,password,**kwargs):super(RHEVMSystem,self).__init__(kwargs)
如果noe未与^{tt2}一起传入,则需要调用super来设置记录器$ 关键字。
然后,开发人员可以添加自己的方法来与自己的管理系统交互。通俗易懂 在管理系统中,统计数据的名称通常都是相同的。这样我们就可以处理多重管理 系统相同,并使用相同的方法检查RHEV系统和VMWare系统上的虚拟机数量。
异常当前位于单个模块中,以后可能会随着每个管理系统都有自己的模块而改变 包和异常存储在那里。
本模块最初是为帮助manageiq测试团队而开发的。
贡献
此项目要遵循的指导原则可以在 cfmedev_guide。