Skip to content

Add MultihostOrchestrator to run tests in pairs #2

@comps

Description

@comps

There are use cases for running two instances of the same test in parallel, allowing network communication between the tests.

This comes mainly from the RHTS / Beaker sphere where such functionality is/was common, and it also got added to tmt, so the main target is running fmf tests.

So the idea would be to

  1. split-off non-multihost tests and run them via regular AdHocOrchestrator
  2. run multihost tests on the side via a second Orchestrator

The MultihostOrchestrator would probably reserve two systems from the same Provisioner (helping with network connectivity) and treat the pair of systems as a combined unit (perhaps via a namedtuple), to be reserved/released both at the same time.

It doesn't need sophisticated ad-hoc scheduling, just linear execution is fine. Even treating all tests as destructive (not reusing reserved systems) might be fine - the typical pattern is "a handful" of multihost tests, perhaps less than 10.

The new MultihostOrchestrator would, however, need to support non-blocking serve_once() to work alongside other Orchestrators in the same Python process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions