This is expected, especially for e1000 and gigabit ethernet, I have seen it take 60-seconds for link to come up before depending on router type & size.  This is one of the few times I think it is okay to just hard-code in a 60-second wait per NIC.  Unless you're doing a reboot, then waiting for vm.is_alive(), where wait will already be built-in.