Shared resource manager
I'm a consultant for test automation, and recently I encountered a similar need in few different projects. Due to my role, naturally they all related to test automation, but I believe that a similar need is relevant to many other projects as well. In short, the need is for a service that can manage the availability of different, arbitrary, resources from one resource pool. I thought to develop such a tool, but it looks relatively simple and useful that I wonder if such a tool doesn't already exists, and my question is whether such a tool exists?
Here are few examples:
- The customer wants to test a physical device that her group develops. She wants the tests to run in parallel to save time. She got few devices (e.g. 5), and she wants a service that will manage the availability of these devices. The tests run on different threads on a single process in a PC and each test need to communicate with one device.
- The customer develops a SAAS product and has a single integration environment on which they run their automated tests. Each test needs a different user in order to avoid collision. They have a predefined list of relevant users and they need a service that will manage the availability of each user. Some tests also require users with specific attributes and few tests need more that one user.
- a customer wants to parallelize their tests among several machines (can be VMs, containers or physical machines, doesn't really matter). There are also a few suites of tests that may run independently of one another and share that same compute resources.
I know that the third case can be solved using Jenkins or other similar tool, and I know of other tools that manage specific resources (e.g. Selenium Grid), but I haven't found any general purpose tool that manage the access and availability of any arbitrary shared resource. Do you know such a tool?
Thanks,
Arnon.