In the WebUI, I see all 3 hosts marked as "up".
But when I run hosted-engine --vm-status (or migrate the hosted engine), only the first (original deployed) host is available.
I tried "reinstalling" (from the WebUI) the two hosts, no errors, no change.
I tried upgrading the cluster again, host 2 / 3 (the "missing" hosts) upgrade is successful; hosts1 fails (cannot migrate the hosted engine).

Start debugging from the hosts that are not seen via "hosted-engine --vm-status".
There are 2 log files to check: /var/log/ovirt-hosted-engine-ha/{broker,agent}.log

Just check what they are complaining about.
Also , you need both ovirt-ha-broker.service and ovirt-ha-agent.service up and running. If there is an issue, the ovirt-ha-agent is being restarted (so it's expected behaviour).

Usually the broker should stop complaining and then the agent will kick in.


Best Regards,
Strahil Nikolov