I would like to understand how people are managing (physical) resource locking mechanism ? Use case; we have multiple DUT’s/resources and we want to pick suitable free one(s) for tests. Each DUT/resources has different set of capabilities/properties that is used when selecting device. If device is not available right now we want to wait for some awhile before giving up to avoid test job failures. Also “no free devices” is accepted job failure reason - it’s signal that there is not enough resources in pool.
Do we have some integrated mechanism like Jenkins lockable-resources or plugins for this? Note that we are using distributed CI, so e.g. in-memory state is not enough. for example multiple robot instances are running parallel and utilise resources from same pool.
I’ve planning to implement own local/remote-keyword plugin that manage this generally, but would like to hear first another options.