跳转到主要内容

提供商管理的基础系统

项目描述

Health Status Coverage Status Build Status

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中找到。

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

mgmtsystem-1.6.1.tar.gz (91.2 kB 查看哈希值)

上传时间:

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面