Upgrading OpenStack without Complexity or Compromise