Skip to main content

Implements parser for otopi machine dialog.

Project description

[![Build Status][travisimg]][travis]
[![Code Coverage][codecovimg]][codecov]
[![Code Health][codehealthimg]][codehealth]

# python-otopi-mdp

otopi Machine Dialog Parser for python

This module allows you automate installation process based on
[otopi](https://github.com/oVirt/otopi) installator.

# Requirements

```
otopi
```

# Usage

1. Set otopi environment to enable machine dialect

DIALOG/dialect=str:machine

2. Spawn desired installer and pass stdin and stdout to parser
3. Process all otopi events in the loop


## Example for oVirt Hosted Engine

```python
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)
```

[githubissues]: https://github.com/rhevm-qe-automation/python-otopi-mdp/issues
[travisimg]: https://travis-ci.org/rhevm-qe-automation/python-otopi-mdp.svg?branch=master
[travis]: https://travis-ci.org/rhevm-qe-automation/python-otopi-mdp
[codecovimg]: https://codecov.io/gh/rhevm-qe-automation/python-otopi-mdp/branch/master/graph/badge.svg
[codecov]: https://codecov.io/gh/rhevm-qe-automation/python-otopi-mdp
[codehealthimg]: https://landscape.io/github/rhevm-qe-automation/python-otopi-mdp/master/landscape.svg?style=flat
[codehealth]: https://landscape.io/github/rhevm-qe-automation/python-otopi-mdp/master

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

python-otopi-mdp-0.2.0.zip (25.2 kB view details)

Uploaded Source

python-otopi-mdp-0.2.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distributions

python-otopi-mdp-0.2.0-1.src.rpm (26.2 kB view details)

Uploaded Source

python-otopi-mdp-0.2.0-1.noarch.rpm (21.4 kB view details)

Uploaded Source

File details

Details for the file python-otopi-mdp-0.2.0.zip.

File metadata

File hashes

Hashes for python-otopi-mdp-0.2.0.zip
Algorithm Hash digest
SHA256 db7b6e5c456ea4dd540eb1e9e18960b626c3d964b90832c0f379169181d4b22b
MD5 282a32cd79b3c1f26c27185f8be617be
BLAKE2b-256 d56e7f3defcaa93419e2e7739aecc3ac68af2784f6706aac1ece1be83809e4a2

See more details on using hashes here.

File details

Details for the file python-otopi-mdp-0.2.0.tar.gz.

File metadata

File hashes

Hashes for python-otopi-mdp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 aaec1d2bb337344fdcd519097352bc8639819bcd70f74aac2dfe227f0fbe2bdf
MD5 7615461aa5c6fe6377d817fda37a3305
BLAKE2b-256 93d37e4fc055aec3a5676b8bef42601660481c271ec257cfd942c042d770aedb

See more details on using hashes here.

File details

Details for the file python-otopi-mdp-0.2.0-1.src.rpm.

File metadata

File hashes

Hashes for python-otopi-mdp-0.2.0-1.src.rpm
Algorithm Hash digest
SHA256 2d1c33a56b5a51a358c66c4d1eb843f392c5382f659de73d711929aad00e500f
MD5 84ff4d8d41a31472d3eff1540f80d7ab
BLAKE2b-256 59977e52e5d7d32f0c63a6b07b127320f0559a5b31859a4dcff749ffc94bfb5d

See more details on using hashes here.

File details

Details for the file python-otopi-mdp-0.2.0-1.noarch.rpm.

File metadata

File hashes

Hashes for python-otopi-mdp-0.2.0-1.noarch.rpm
Algorithm Hash digest
SHA256 e70e0cf2c566524df993ce94cde5061651e4b52cfd86d3aeb1c5c83c3076c7f4
MD5 898d13a72b6f4dab05f2dfcafa2a4534
BLAKE2b-256 5505f111e5343e72975ad51b3246cfea6a8df21275618c42d39738c8cc68bb39

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page