Operating-System-Level Virtualization is an emerging technology, capable of delivering superior performance and scalability values compared to other mechanisms such as Hardware-Assisted Virtualization. It is currently making its way into cloud infrastructures, where infrastructure service providers such as Amazon already provide container-based services on virtual machines with solutions such as Docker or LXC-inspired proprietaries such as Kubernetes from the google container engine. Few, like Joyent, provide infrastructure as a service on a bare-metal container platform, on which the advantages of Operating-System-Level Virtualization can be exploited to the maximum.
However, in private clouds, infrastructure managers such as OpenStack and CloudStack, provide little support, null, or third parties. OpenNebula, has already been enriched with the integration of LXC. However, LXD is a very recent technology that acts as interface over LXC allowing greater functionality, usability and security. This is why the objective outlined in the present work was the development of a driver for OpenNebula, which would allow it to support LXD. The developed driver supports different functionalities like deploying containers on file systems and distributed storage; add / remove network interfaces and disks to conte