Deployment failed when using 8021Q Vlan Network Driver

I think I found a workaround.
In case anyone else encounters this issue, modify /var/lib/one/remotes/vnm/vnm_driver.rb . Find this:

    def detect_hypervisor
        lsmod       = `#{VNMNetwork::COMMANDS[:lsmod]}`
        xen_file    = "/proc/xen/capabilities"
        kvm_dir     = "/sys/class/misc/kvm"

        if File.exists?(xen_file)
            "xen"
        elsif lsmod.match(/kvm/) || File.exists?(kvm_dir)
            "kvm"
        else
            nil
        end
    end

and replace it with this

    def detect_hypervisor
        lsmod       = `#{VNMNetwork::COMMANDS[:lsmod]}`
        xen_file    = "/proc/xen/capabilities"
        kvm_dir     = "/sys/class/misc/kvm"

        if File.exists?(xen_file)
            "xen"
        else
            "kvm"
        end
    end

Here @ruben already explained why this happened. In this case, I’m using nested virtualization (node is a KVM virtual machine instead of a physical machine), this could be the reason why lsmod | grep kvm comes out empty.