跳转到主要内容

实现了otopi机器对话框的解析器。

项目描述

Build Status Code Coverage Code Health

python-otopi-mdp

python的otopi机器对话框解析器

此模块允许您基于otopi安装器自动执行安装过程。

需求

six
otopi

警告: otopi包不在PyPi网站上托管,因此无法将其作为此包的依赖项包含。它由oVirt社区维护,他们为多个包管理器提供此模块。

用法

  1. 设置otopi环境以启用机器方言

DIALOG/dialect=str:machine
  1. 启动所需的安装程序并将stdin和stdout传递给解析器

  2. 循环处理所有otopi事件

ovirt托管引擎示例

import subprocess
import otopimdp as mdp

# 1. Set machine dialog option
with open("/etc/ovirt-hosted-engine-setup.env.d/mycustom.env") as fd:
    fd.write(
        'export environment="${environment} DIALOG/dialect=str:machine"\n'
    )

# 2. Spawn installer
installer = subprocess.Popen(["hosted-engine", "--deploy"])
parser = mdp.MachineDialogParser(
    input_=installer.stdout, output=installer.stdin
)

# 3. Process events
while True:
    event = parser.next_event()
    if event is None:
        continue
    event_type = event[mdp.TYPE_KEY]
    if event_type == mdp.TERMINATE_EVENT:
        break

    event_name = event[mdp.ATTRIBUTES_KEY]['name']
    if event_name == "OVEHOSTED_HOST_ID":
        event[mdp.REPLY_KEY] = "1"
    ....
    parser.send_response(event)

运行测试

tox

注意:出于测试目的,otopi包是从源代码中运行的。

项目详情


下载文件

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

源分布

python-otopi-mdp-0.2.2.zip (25.9 kB 查看哈希值)

上传时间

构建分布

python_otopi_mdp-0.2.2-py2.7.egg (16.0 kB 查看哈希值)

上传时间

python-otopi-mdp-0.2.2-1.src.rpm (26.8 kB 查看哈希值)

上传时间

python-otopi-mdp-0.2.2-1.noarch.rpm (22.0 kB 查看哈希值)

上传时间

支持者

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