The VIM won't initiate any action to rebalance the routers/networks to a newly available host until all agents are alive, so the focus should be on why the neutron-l3-agent pod did not recover after the force reboot, not the VIM. Taking a second look however, I do see logs from a neutron-l3-agent pod on compute-3 after the reboot, so it appears the pod did come up (my mistake). The logs indicate that the l3 agent was unable to contact the neutron server so that is why it likely showed as dead (Only logs present are like those below, as timeout is incremented until 10 minutes, after which the logs appear every 10 minutes):
{"log":"2019-07-07 05:04:02.143 20 WARNING neutron_lib.rpc [req-fe11a876-7c24-4cc3-a33d-8d41545f1ed0 - - - - -] Increasing timeout for get_host_ha_router_count calls to 240 seconds. Restart the agent to restore it to the default value.: MessagingTimeout: Timed out waiting for a reply to message ID 94c490c3248c4457af27c0cf5bc75537\n","stream":"stdout","time":"2019-07-07T05:04:02.14397681Z"}
{"log":"2019-07-07 05:04:03.708 20 WARNING neutron.agent.l3.agent [req-fe11a876-7c24-4cc3-a33d-8d41545f1ed0 - - - - -] l3-agent cannot contact neutron server to retrieve HA router count. Check connectivity to neutron server. Retrying... Detailed message: Timed out waiting for a reply to message ID 94c490c3248c4457af27c0cf5bc75537.: MessagingTimeout: Timed out waiting for a reply to message ID 94c490c3248c4457af27c0cf5bc75537\n","stream":"stdout","time":"2019-07-07T05:04:03.708695183Z"}
The VIM won't initiate any action to rebalance the routers/networks to a newly available host until all agents are alive, so the focus should be on why the neutron-l3-agent pod did not recover after the force reboot, not the VIM. Taking a second look however, I do see logs from a neutron-l3-agent pod on compute-3 after the reboot, so it appears the pod did come up (my mistake). The logs indicate that the l3 agent was unable to contact the neutron server so that is why it likely showed as dead (Only logs present are like those below, as timeout is incremented until 10 minutes, after which the logs appear every 10 minutes):
{"log":"2019-07-07 05:04:02.143 20 WARNING neutron_lib.rpc [req-fe11a876- 7c24-4cc3- a33d-8d41545f1e d0 - - - - -] Increasing timeout for get_host_ ha_router_ count calls to 240 seconds. Restart the agent to restore it to the default value.: MessagingTimeout: Timed out waiting for a reply to message ID 94c490c3248c445 7af27c0cf5bc755 37\n"," stream" :"stdout" ,"time" :"2019- 07-07T05: 04:02.14397681Z "} agent.l3. agent [req-fe11a876- 7c24-4cc3- a33d-8d41545f1e d0 - - - - -] l3-agent cannot contact neutron server to retrieve HA router count. Check connectivity to neutron server. Retrying... Detailed message: Timed out waiting for a reply to message ID 94c490c3248c445 7af27c0cf5bc755 37.: MessagingTimeout: Timed out waiting for a reply to message ID 94c490c3248c445 7af27c0cf5bc755 37\n"," stream" :"stdout" ,"time" :"2019- 07-07T05: 04:03.708695183 Z"}
{"log":"2019-07-07 05:04:03.708 20 WARNING neutron.