TripleO supports configuring instance HA, which uses pacemaker + pacemaker-remote to detect
unreachable compute nodes, reboot them and evacuate instances in the unreachable compute nodes.
I've never tried this actually but fence_evacuate agent supports disabling evacuation so you can
use this to only reboot nodes, I guess.
By the way I'm not really aware of the feature to recover unavailable instances within OpenStack.
In the past Masakari had the instance monitor which checks status of instances via libvirt interface
and reboots the instances without responses, but afaik that is no longer supported, afair.