Anyway I found this thread from a couple years ago and it talks about
it
being an ARP issue (
https://www.redhat.com/archives/libvirt-users/2010-March/msg00038.html). I
enabled portfast on my switch ports that connects to my hosts and this
solved it. I guess my servers can restart faster than my switch ports.
Nice find. I learned that storage pools that do not see their LUNs cannot be started.
So, I cooked up a different approach. The dependency for me was that Red Hat does not
automatically instantiate virtual HBAs upon reboot, so I had to accomplish it via a shell
script in rc.local. The overview for me was:
1. Host boots, libvirt starts normally and fails to start the storage pools because the
storage paths don't yet exist.
2. rc.local script runs, performing the following actions:
- build virtual HBAs (one pair per VM)
- stop libvirt
- start libvirt
After that point, the storage pools start correctly and the VMs associated with those
storage pools start automatically. In essence, I'm able to "automatically"
start VMs when the host reboots.