Agent backend abstraction
Currently we use only Docker containers as the kernel session host. However, this may be extended to other type of services, such as cloud vendor-specific remote APIs or local processes for debugging and testing purposes. For instance, we could implement a "data agent" by specializing a subset of agents in a cluster to manage a memory-cached distributed filesystem such as Alluxio.
- [ ] Configurable driver selection on startup (via etcd or command-line)
- [ ] Report the list of active drivers when sending heartbeats to the manager
With the work related to lablup/backend.ai-agent#66, now we have a working plugin auto-discovery mechanism. Let's use it!
This issue is the precondition to resolve lablup/backend.ai-agent#68.
This is now going to be implemented via lablup/backend.ai-agent#125 and lablup/backend.ai-agent#123.
lablup/backend.ai-agent#123 PR now moved to lablup/backend.ai-agent#128
This is considered done.
We are going to expand the format of agent.toml to have explicit backend.xxx sections for backend-specific configurations in #1597.