提供商管理的基础系统
项目描述
mgmtsystem
简介
mgmtsystem是一个简单的虚拟化客户端,支持(程度不同)以下功能:
Red Hat Enterprize Virtualization (RHEV)
Red Hat Openstack (RHOS)
OpenShift
VMware vCenter
Microsoft SCVMM
Microsoft Azure
Google Compute Engine
Kubernetes
Hawkular
它可以用来控制虚拟化客户端,并提供如下操作:
list_vm(返回vm_names列表)
list_template(返回模板/图像列表)
start_vm(启动vm)
stop_vm(停止vm)
虽然云和基础设施虚拟化技术(例如实例/vm)在概念上名称不同,但决定在代码库和接口中坚持一种表示形式,以提供所有系统统一的API。
使用方法
通常使用主机名和一些凭据来调用每个管理系统
from mgmtsystem.virtualcenter import VMWareSystem
system = VMWareSystem(hostname='10.0.0.0', username="root", password="password")
system.list_vm()
添加新的管理系统
管理系统应扩展基类,并为不支持的项目提供“未实现”的引发。这种行为可能会随着更多多样化的管理系统而改变。
from base import MgmtSystemAPIBase
class RHEVMSystem(MgmtSystemAPIBase):
_stats_available = {
'num_vm': lambda self: self.api.get_summary().get_vms().total,
'num_host': lambda self: len(self.list_host()),
'num_cluster': lambda self: len(self.list_cluster()),
'num_template': lambda self: len(self.list_template()),
'num_datastore': lambda self: len(self.list_datastore()),
}
def __init__(self, hostname, username, password, **kwargs):
super(RHEVMSystem, self).__init__(kwargs)
调用super是必要的,如果未通过logger关键字传递,则需要设置记录器。
然后,开发者可以添加自己的方法来与自己的管理系统交互。常用的统计数据通常在管理系统中的命名相同。这样,我们可以将多个管理系统视为相同,并使用相同的方法来检查RHEV系统上的虚拟机数量,以及VMware系统。
异常目前位于单个模块中,这可能会在以后改变,每个管理系统都有自己的包和存储在该处的异常。
此模块最初是为协助ManageIQ测试团队而开发的。
贡献
遵循此项目的指南可以在cfme dev_guide中找到。
项目详情
关闭
mgmtsystem-1.6.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8b2873e42d35733aefaef53ba9e1b29ae1f0ed0651a917744348e126707b5985 |
|
MD5 | 596a246c20a0aec5d959304f425cb95f |
|
BLAKE2b-256 | c613edc9231be55340cc7981225565a0568af1a24cecd641453c0464cb03b1aa |