Feature #15370

Updated by Peter Amstutz 10 months ago

The loopback driver implements cloud.Driver by presenting a fake cloud in which
* Instances() returns a single instance named "localhost"
* Create() fails
* Destroy() fails
* 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.
* InstanceTypes should be 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 until #14922 is implemented, because it will also make #14922 easier to test.