I tried to instantiate a VM using virt-install command with few interfaces as needed. The exact command is as follows:
virt-install \
--name VM \
--noautoconsole \
--input keyboard \
--os-variant rhel7.0 \
--memory 8192 \
--vcpus 4 \
--boot hd \
--sound none \
--disk "vol=default,boot_order=1,bus=sata" \
--disk sda6 \
--network bridge=eth0
Immediately after this, I tried to attach an interface using virsh attach-interface
command as follows:
virsh attach-interface --domain VM --type direct --source eth1 --model virtio
I was happy with the XML configuration of the VM as the interfaces showed up correctly.
$ virsh domiflist VM
Interface Type Source Model MAC
-------------------------------------------------------
vnet16 bridge eth0 virtio 52:54:00:e9:d5:4c
macvtap0 direct eth1 virtio 52:54:00:70:be:74
But when a virsh shutdown
was issued and later the VM was started, somehow the interface which was attached did not show up in the XML. I was left with only the eth0 interface. Not sure how/why the eth1 vanished.
$ virsh domiflist VM
Interface Type Source Model MAC
-------------------------------------------------------
vnet16 bridge eth0 virtio 52:54:00:e9:d5:4c
Please let me know what can be done to avoid this situation such that the interfaces are preserved as-is like before the VM was shutdown.