Does OpenNebula plan an official support for a Packer plugin? I think that would be great to ease migrations from existing infrastructure. In fact one of the reasons to choose packer in the first place is that moving from one provider to other should be easy.
In addition it would also be quite useful to have a vagrant plugin to instantiate VMs from existing images.
OpenNebula is based on libvirt and, for most of the marketplace-provided images, currently Packer is being used. OpenNebula images are KVM images with the context packages installed. The marketplace images are created with the files in
About Vagrant plugin, I personally consider the Terraform provider a better alternative. Vagrant is really good on local resources (i.e. networking is easier to manage with Vagrant) but, IMHO, virtual testing infra in OpenNebula is well managed with Terraform. Is there any testing use case so specific to Vagrant that cannot be covered with Terraform?
It is great that you can use the qemu packer plugin. However I could not see how the lxc images are created. Do you also use packer for those ones?
About vagrant: terraform is also great, but we use vagrant to spawn virtual machines on demand as part of one of our procedures. The good thing about it is that you just spawn a VM (or container) without the need to keep the terraform state around. For machines that are spawn for 10 minutes and then destroyed this is quite useful. On top of that, our infrastructure currently relies on vagrant, so it is quite some effort for us to move now to something else.
About LXC images, as they are mostly a filesystem, they can be mounted with fuse2fs and later modified with chroot or a similar tool (bubblewrap, proot, etc). Check the file /var/lib/one/remotes/create_container_image.sh for more info