Skip to content

xdist multi-machine CI integration #299

Closed
@simon-weber

Description

@simon-weber

This is the same topic as #283: I'm looking into running xdist with remote machines on Jenkins.

Our current setup uses distributed-nose, which works by splitting the suite into pieces, running those separately, then aggregating the results. The problem is that it gets difficult to create well-balanced static shards as we parallelize more (even when distributing by expected test runtime). Xdist's dynamic dispatching fixes this.

So, as far as I can tell, these are my options for running xdist in an automated multi-machine setup:

  1. reserve all workers ahead of time (either through jenkins or some other way), then use xdist as-is
  2. modify xdist so workers can connect back dynamically, rather than be connected to ahead of time
  3. modify xdist to decouple it from workers (eg have the master+workers communicate via pubsub)

Is there anything I'm missing? Any thoughts on the feasibility/advantages/disadvantages of building the 2nd/3rd options on top of xdist? I'm not too familiar with how it works under the hood.

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