Possibly caused by
Upgrades are failing because of a VERSION_MISMATCH between all components of the upgrade. Initially, on restart, the version comes back correct and the host component transitions into COMPLETED.
However, the following status command returns the old version, forcing the component back into the VERSION_MISMATCH state.
What's odd is that no status commands should be returning the component version. It seems like what's happening is that /var/lib/ambari-agent/data/structured-out-status.json is being read even if the status command did not update the file.