This document discusses several approaches for upgrading OpenStack deployments from one version to another, including: upgrading all nodes at once in a short time window; migrating nodes in staged groups; and upgrading nodes individually using system-wide orchestration that supports components of multiple versions simultaneously. It emphasizes that orchestration is key, and that the physical layout, networking transitions, collaboration with developers, and high availability requirements all complicate the upgrade process. The document advocates for sharing best practices, coding for upgradeability, and collaborating with tools like Crowbar that integrate orchestration and Chef to automate upgrades while maintaining features like discovery, networking configuration and operating system installation.