Hi @Alexander_Litvak the original unofficial lxcone driver brought support for earlier versions of LXC. At the time, LXD was starting the development and the 1st stable version of LXD came out with ubuntu 1604 and the unofficial lxdone driver was made. When the LXD version 3 was out, the official drivers for LXD in OpenNebula were released with 5.8. LXD originally was intended as just a REST API managing LXC, but, over time it has been enriched with features putting it away from being a hypervisor on steroids, being more like an orchestration platform, thus, conflicting with the model OpenNebula provides (duplicated functionalities for the most part).
During the last 3 years LXD has considerably broadened its scope. It has incorporated storage and network orchestration as well as support for Virtual Machines. The effect of this evolution impacts OpenNebula drivers in two aspects, namely:
- LXC has less runtime dependencies and overhead, because of LXD added features. We have evaluated leveraging LXD features but in general it will add additional translation operations across components as well as added overhead (for example extra space needed in LXD datastores).
- LXC can be easily upgraded to new versions. OpenNebula and LXD management of underlying storage conflicts and the 3.0 model is no longer supported. We will need to delegate storage management to LXD. This will prevent the effective use of OpenNebula storage drivers (or any other third-party driver).
- LXC is supported by more OS. LXD is extremely Ubuntu dependent. LXC drivers will be also supported by CentOS/RHEL and Debian. Support is provided by standard OS packages. LXD depends on snap repositories for some versions.