Patent attributes
In one embodiment, a system for managing a virtualization environment includes a set of host machines, each of which includes a hypervisor, virtual machines, and a virtual machine controller, one or more virtual disks comprising a plurality of storage devices and accessible by the virtual machine controllers, and a deployment system configured to receive a request to upgrade a virtualized file server on a plurality of host machines from a first program code version to a second program code version, and, for each host machine, request an upgrade token. When the host machine acquires the upgrade token, the deployment system is configured to generate a snapshot of a code image associated with the second program code version, and provide the snapshot to the host machine via the virtual disk. The virtual machine controller located on the host machine stores the snapshot on a storage device associated with the host machine.