I have serious doubts that we can run "legacy VNF-s" (let's assume, that these are legacy because of their need for CPU pinning, NUMA alignement, SR-IOV or even PCI passthrough) using KubeVirt or Virtlet. It is possible to run these with OpenStack and yes it is possible to run these with an OpenStack on top of Kubernetes, but I think it is a too big simplification to say that OpenStack is an abstraction layer. It is an other orchestrator layer for "legacy VNF-s" on top of the orchestration layer for CNF-s.
I have serious doubts that we can run "legacy VNF-s" (let's assume, that these are legacy because of their need for CPU pinning, NUMA alignement, SR-IOV or even PCI passthrough) using KubeVirt or Virtlet. It is possible to run these with OpenStack and yes it is possible to run these with an OpenStack on top of Kubernetes, but I think it is a too big simplification to say that OpenStack is an abstraction layer. It is an other orchestrator layer for "legacy VNF-s" on top of the orchestration layer for CNF-s.