Feature #15370
Updated by Tom Clegg almost 3 years ago
The loopback driver implements cloud.Driver by presenting a fake cloud in which
* Create() succeeds once, but fails with a quota error if the caller tries to create multiple instances
* Instances() returns the instance that was created, if any
* Destroy() makes the instance disappear from the next Instances() result
* Instance address points to an SSH server (brought up by the driver) that accepts the dispatcher's key and executes shell commands
Using the loopback driver will involve some special configuration.
* If InstanceTypes is empty, it is automatically configured with a single instance type, with the host's RAM/CPU specs
When combined with #14922 this should make crunch-dispatch-local redundant.
This will also facilitate an arvados-dispatch-cloud integration test that uses the real crunch-run program instead of a stub. This might involve a few other changes, like a configurable location for lockfiles.
It's okay that this will be useless (other than single-container test cases) until #14922 is implemented, because it will also make #14922 easier to test.