Created attachment 912077 [details]
vdsm faild to restart- Running restore_nets (unknown nic ethx)
Description of problem:
VDSM trying to restore saved network rollback.
network rollbak failed if saved configuration have missing nic.
vm with vdsm installed on it (nested vm).
nic2(of the vm) attached to net1
if shutting down the vm, removing nic2 and then running the vm and restarting vdsmd.
When trying to restart the vdsm, he is trying to restore saved network setup,vdsm use /var/lib/vdsm/persistent/netconf/eth1 to restore netconf.
Version-Release number of selected component (if applicable):
oVirt Engine Version: 3.5.0-0.0.master.20140605145557.git3ddd2de.el6
Steps to Reproduce:
1. create new vm,nested vm(vdsm on it). (for nested vm installation see additional info down below).
4. create nic2 on the vm attached to net1
5. shut down the vm and remove nic2
6. run the vm and restart vdsmd on the vm
when trying to restart vdsm, vdsm use /var/lib/vdsm/persistent/netconf/eth1 to restore netconf. he fails. "unknown nic eth1"
vdsm restarts with no problem.
I could use some clarification:
Is this right?
1. Create a VM
2. install vdsm on the VM
3. attach a vnic (nic2 named eth1 in the guest OS) to the VM that runs vdsm.
4. configure VM's vdsm to use eth1 for net1
5. save the network configuration for the VM host. ?
6. Shutdown the VM
7. Detach/unconfigure nic2 so that it is no longer one of the vnics in the VM.
8. Start the VM vdsmd being enabled
What after start? If using unified persistence, as it is the default in vdsm for oVirt-3.5, The networks will be read from /var/lib/vdsm/persistence/netconf/nets/
(in this case I guess it would be the net1 file). It would try to setup the network and it would fail due to the nic being missing. Is that what happened?
yes, it is right. steps 1-8
Yes, that what happened.
Thanks for the clarification Michael. I'll change the behavior so that on restoring the networks at boot:
- networks that depend on a non-existing nic are filtered out (and an error to set them up is logged).
- networks that depened on a bond that referes to a non-existing nic are filtered out (and an error to set them up is logged).
MainThread::ERROR::2014-07-17 13:47:47,812::vdsm-restore-net-config::100::root::(_filter_nets_bonds) Nic "eth1" required by network net1 is missing. The network will not be configured
oVirt 3.5 has been released and should include the fix for this issue.