PowerVM REST API的Python绑定
项目描述
注意
当前版本应使用本地身份验证机制。远程身份验证机制目前仅适用于开发和测试目的。
概述
pypowervm为与基于IBM PowerVM的系统交互提供了一个基于Python的API包装器。
许可证
库的许可证可以在LICENSE文件中找到。在使用前必须进行审查。
项目结构
debian/: Debian打包元数据和控制。
pypowervm/: 项目源代码。
helpers/: 适用于传递给
pypowervm.adapter.Adapter初始化器的初始化器的装饰器方法。
locale/: 用于国际化(I18N)的翻译消息文件。
tasks/: 执行PowerVM对象复杂任务的模块。
monitor/: 专门针对PowerVM性能和容量监控(PCM)API的任务模块。
tests/:功能测试和单元测试。该目录和文件结构与项目代码类似。例如,对模块 pypowervm/wrappers/logical_partition.py 的测试可以在 pypowervm/tests/wrappers/test_logical_partition.py 中找到。
data/:测试用例使用的数据文件。这些通常是来自真实 PowerVM REST API 服务器的 XML 导出,通常通过 pypowervm/tests/test_utils/ 中找到的实用工具获得。
helpers/:对 pypowervm/helpers/ 下的模块进行测试。
locale/:包含用于 I18N 测试的样本国际化(I18N)文件的目录结构。
tasks/:对 pypowervm/tasks/ 下的模块进行测试。
monitor/:对 pypowervm/tasks/monitor/ 下的模块进行测试。
test_utils/:对测试开发和实施有用的实用工具。
utils/:对 pypowervm/utils/ 下的模块进行测试。
wrappers/:对 pypowervm/wrappers/ 下的模块进行测试。
pcm/:对 pypowervm/wrappers/pcm/ 下的模块进行测试。
utils/:通用辅助实用工具。
wrappers/:以直观的分层视图和控制呈现 PowerVM REST 对象的模块。这里定义的包装器处理涉及获取或设置对象单个、独立属性的简单操作。
pcm/:针对 PowerVM 性能和容量监控(PCM)API 的特定包装器模块。
使用 Sonar
要启用 Sonar 通过 tox 进行代码扫描,需要遵循几个步骤。
在本地安装 Sonar。请参阅:http://www.sonarqube.org/downloads/
在 /etc/hosts 中为名称“sonar-server”创建一个主机映射。如果 Sonar 服务器在本地主机上,则条目可能是
127.0.0.1 sonar-server
或者,您可以在调用 tox 之前设置环境变量 SONAR_SERVER,以指定要使用的服务器。
为了登录 Sonar 服务器,必须设置以下环境变量
SONAR_USER SONAR_PASSWORD
示例调用
# SONAR_USER=user SONAR_PASSWORD=password tox -e sonar
Sonar 输出放在
.sonar/
开发者说明
属性 pypowervm.base_partition.IOSlot.adapter 已弃用,并将至少在 2017 年 1 月 1 日之前删除。它已被 pypowervm.base_partition.IOSlot.io_adapter 属性所取代。删除将破坏与 PowerVC 1.3.0.0 和 1.3.0.1 的兼容性。该问题已在 PowerVC 1.3.0.2 中解决。
pypowervm.wrappers.entry_wrapper.EntryWrapper.update 方法的 xag 参数已弃用,并将至少在 2017 年 1 月 1 日之前删除。
pypowervm.wrappers.virtual_io_server.VIOS 类的 xags 成员已弃用,并将至少在 2017 年 1 月 1 日之前删除。请改用 pypowervm.const.XAG 的成员。
NovaLink 环境中的远程重启由消费管理层处理,而不是由 NovaLink 本身处理。因此,不应使用 pypowervm.wrappers.logical_partition.LPAR 的 rr_enabled 和 rr_state 属性。这些属性现在已弃用,并将至少在 2017 年 1 月 1 日之前删除。请改用 srr_enabled 属性。
方法 pypowervm.tasks.storage.crt_lu_linked_clone 已弃用,并将至少在 2017 年 1 月 1 日之前删除。您现在应使用 pypowervm.tasks.storage.crt_lu 方法通过传递通过 clone 参数传入的源图像 LU 包装器来创建链接克隆。
从版本1.0.0.4开始移除了适配器缓存。尝试使用use_cache=True创建适配器将会导致CacheNotSupportedException异常。
属性pypowervm.wrappers.managed_system.IOSlot.pci_sub_dev_id已被弃用,并将不会早于2019年1月1日移除。它已被pypowervm.wrappers.managed_system.IOSlot.pci_subsys_dev_id属性取代。
属性pypowervm.wrappers.managed_system.IOSlot.pci_revision_id已被弃用,并将不会早于2019年1月1日移除。它已被pypowervm.wrappers.managed_system.IOSlot.pci_rev_id属性取代。
属性pypowervm.wrappers.managed_system.IOSlot.pci_sub_vendor_id已被弃用,并将不会早于2019年1月1日移除。它已被pypowervm.wrappers.managed_system.IOSlot.pci_subsys_vendor_id属性取代。
属性pypowervm.wrappers.managed_system.IOSlot.dyn_reconfig_conn_index已被弃用,并将不会早于2019年1月1日移除。它已被pypowervm.wrappers.managed_system.IOSlot.drc_index属性取代。
属性pypowervm.wrappers.managed_system.IOSlot.dyn_reconfig_conn_name已被弃用,并将不会早于2019年1月1日移除。它已被pypowervm.wrappers.managed_system.IOSlot.drc_name属性取代。
将任意字典传递给pypowervm.tasks.power.power_on和power_off的add_parms参数已被弃用。消费者应迁移到使用pypowervm.tasks.power_opts.PowerOnOpts和PowerOffOpts。
pypowervm.tasks.power.power_off方法已被弃用,并将不会早于2019年1月1日移除。消费者应迁移到使用pypowervm.tasks.power.PowerOp.stop进行单次断电;或pypowervm.tasks.power.power_off_progressive进行软重试流程。