eda54b1ed7
In python 2.7 you can't cast unicode to str and you'll get a UnicodeEncodeError if you try. Since our exception messages are translated, they can contain unicode and if we hit a duplicate flavor exception while performing online flavor migrations it will break the migration and block any further migrations until resolved - which would require manual intervention. This patch fixes the bug so that we use six.text_type instead of str for logging the duplicate exception and adds a test to exhibit the bug and prove it's fixed. On a side note, it's curious that we don't delete the duplicate flavor from the main database during the online data migration, but it's also strange that you'd have duplicates in the API database because the Flavor.create() checks to see if all flavors have been migrated from the main DB to the API DB and if not you can't create new flavors in the API DB - so the only way to get the duplicates is either by inserting them into the API DB manually or perhaps some other kind of race issue. Anyway, that's not dealt with here. Change-Id: I3bdb1a8ca72c3e72ddc3bc5102cff8df18148617 Partial-Bug: #1653261 |
||
---|---|---|
api-guide/source | ||
api-ref/source | ||
contrib | ||
devstack | ||
doc | ||
etc/nova | ||
nova | ||
plugins/xenserver | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MAINTAINERS | ||
README.rst | ||
babel.cfg | ||
bindep.txt | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tests-functional-py3.txt | ||
tests-py3.txt | ||
tox.ini |
README.rst
Team and repository tags
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: