Arik can you check target milestone? This bug is referenced in 4.0.3 changelog.
Verified with rhevm-4.0.3-0.1.el7ev.noarch. Had a cluster with 144 Vms running. Set the cluster to InClusterUpgrade - this change didn't invoke update of vm's configuration. Then changed cluster compatibility version from 3.6 to 4.0 (hosts were 4.0 all the time) and monitored the updateVm calls with tail on engine log and after it's done check in DB that indeed all the vms were updated. Repeated this several times (each time setting the cluster compatibility back to 3.6 via DB and the vm's custom compatibility version in vm_static from '3.6' to null - a bit "cheating there"). Ran the upgrade for 5 times, no race has occurred. Please advise if this test isn't sufficient.
Didn't mention in comment 3 - but all the vms had rhevm-guest-agent running.
(In reply to sefi litmanovich from comment #3) This test is good.