Adds a simple caching mechanism for resource class string and integer codes. The cache is initialized with a RequestContext in order to fetch a DB connection but only uses the DB connection to look up string names or integer IDs if the requested key (string or integer) isn't either in the fields.ResourceClass.ALL collection or not already looked up in the DB. The next patch in this series adds code to the resource_providers.py module that changes all occurrences of fields.ResourceClass.index() and fields.ResourceClass.from_index() to utilize the resource class cache. In this way, we will transparently move from a situation with resource classes represented only as Enum-based constants to a DB-backed solution where custom resource classes can co-exist with the standardized Enum constants. Change-Id: I9b5b59a1e9715d61f55dc0f6189bcf8596052e2c blueprint: custom-resource-classes
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: