
Provide a decorator that allows Placement API handlers to express a microversion window within which that method should be used. This makes it possible to define N different methods (with the same name) to present different behaviors dependent on what microversion is requested by the user-agent. If there is no match between a valid requested microversion and available versioned handlers a 404 response is returned. The mechanism for managing the versioned handlers is borrowed from the compute api but adjusted to allow for the fact that placement handlers are module level functions. Some code is borrowed from twisted to get fully qualified names of methods for the VERSION_METHODS dictionary. Tests are added which validate that versioned handlers do not intersect. In the rest of nova this is done at runtime, but in the placement context this isn't necessary. Doing it at testime is sufficient. Since there are currently no versioned handlers in addition to the faked tests of the intersection handling I also manually forced some tests with real handlers, just to be sure. Change-Id: I713c139ee12bb7f5301edd85951f8960fda84ac3
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 and OpenStack Ironic.
OpenStack Nova is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.
API
To learn how to use Nova's API, consult the documentation available online at:
http://developer.openstack.org/api-guide/compute/ http://developer.openstack.org/api-ref/compute/
For more information on OpenStack APIs, SDKs and CLIs, please see:
http://www.openstack.org/appdev/ http://developer.openstack.org/
Operators
To learn how to deploy and configure OpenStack Nova, consult the documentation available online at:
For information about the different compute (hypervisor) drivers supported by Nova, please read:
http://docs.openstack.org/developer/nova/feature_classification.html
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: