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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions