![Matt Riedemann](/assets/img/avatar_default.png)
If the source compute service is down when a resize or cold migrate is initiated the prep_resize cast from the selected destination compute service to the source will fail/hang. The API can validate the source compute service is up or fail the operation with a 409 response if the source service is down. Note that a host status of "MAINTENANCE" means the service is up but disabled by an administrator which is OK for resize/cold migrate. The solution here works the validation into the check_instance_host decorator which surprisingly isn't used in more places where the source host is involved like reboot, rebuild, snapshot, etc. This change just handles the resize method but is done in such a way that the check_instance_host decorator could be applied to those other methods and perform the is-up check as well. The decorator is made backward compatible by default. Note that Instance._save_services is added because during resize the Instance is updated and the services field is set but not actually changed, but Instance.save() handles object fields differently so we need to implement the no-op _save_services method to avoid a failure. Change-Id: I85423c7bcacff3bc465c22686d0675529d211b59 Closes-Bug: #1856925
OpenStack Nova
OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of compute technologies, including: libvirt (KVM, Xen, LXC and more), Hyper-V, VMware, XenServer, OpenStack Ironic and PowerVM.
Use the following resources to learn more.
API
To learn how to use Nova's API, consult the documentation available online at:
For more information on OpenStack APIs, SDKs and CLIs in general, refer to:
Operators
To learn how to deploy and configure OpenStack Nova, consult the documentation available online at:
In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at:
Developers
For information on how to contribute to Nova, please see the contents of the CONTRIBUTING.rst.
Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all unit tests.
Further developer focused documentation is available at:
Other Information
During each Summit and Project Team Gathering, we agree on what the whole community wants to focus on for the upcoming release. The plans for nova can be found at: