OpenStack Compute (Nova)
Go to file
Matt Riedemann 9b3c4736a3 Allow None for block_device_mapping_v2.boot_index
The legacy v2 API allowed None for the boot_index [1]. It
allowed this implicitly because the API code would convert
the block_device_mapping_v2 dict from the request into a
BlockDeviceMapping object, which has a boot_index field that
is nullable (allows None).

The API reference documentation [2] also says:

"To disable a device from booting, set the boot index
to a negative value or use the default boot index value,
which is None."

It appears that with the move to v2.1 and request schema
validation, the boot_index schema was erroneously set to
not allow None for a value, which is not backward compatible
with the v2 API behavior.

This change fixes the schema to allow boot_index=None again
and adds a test to show it working.

This should not require a microversion bump since it's fixing
a regression in the v2.1 API which worked in the v2 API and
is already handled throughout Nova's block device code.

Closes-Bug: #1662699

[1] https://github.com/openstack/nova/blob/13.0.0/nova/compute/api.py#L1268
[2] http://developer.openstack.org/api-ref/compute/#create-server

Change-Id: Ice78a0982bcce491f0c9690903ed2c6b6aaab1be
(cherry picked from commit e34f05edb2)
(cherry picked from commit ff1925ae47)
(cherry picked from commit dce8618166)
2017-02-09 10:56:38 -05:00
api-guide/source fixed typo in word "OpenStack" 2016-03-13 00:31:32 +00:00
contrib Merge "changed quantum to neutron in vif-openstack" 2014-03-05 10:45:05 +00:00
devstack Update cells blacklist regex for test_server_basic_ops 2016-03-27 20:29:37 -04:00
doc Typo fix in documentation 2016-03-14 15:08:31 -07:00
etc/nova Abort an ongoing live migration 2016-02-26 15:11:41 +00:00
nova Allow None for block_device_mapping_v2.boot_index 2017-02-09 10:56:38 -05:00
plugins/xenserver Merge "plugins/xenserver: Resolve PEP8 issues" 2016-03-10 14:27:09 +00:00
releasenotes Allow None for block_device_mapping_v2.boot_index 2017-02-09 10:56:38 -05:00
tools Merge "Add a tool for reserving migration placeholders during release time" 2016-02-10 19:48:44 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:34:39 +00:00
.gitignore Merge "Add reno for release notes management" 2015-11-13 16:24:51 +00:00
.gitreview Update .gitreview for stable/mitaka 2016-03-16 19:16:46 +01:00
.mailmap Add mailmap entry 2014-05-07 12:14:26 -07:00
.testr.conf Add tox -e functional 2014-11-12 15:31:06 -05:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Hacking: check for deprecated os.popen() 2016-02-19 21:55:20 -02:00
LICENSE initial commit 2010-05-27 23:05:26 -07:00
MAINTAINERS Add a maintainers file 2015-05-23 03:22:07 +10:00
README.rst Update links in README 2014-05-07 16:06:24 -07:00
babel.cfg Get rid of distutils.extra. 2012-02-08 19:30:39 -08:00
bandit.yaml Add bandit for security static analysis testing 2015-07-02 09:17:48 -07:00
openstack-common.conf Use imageutils from oslo.utils 2016-02-16 18:34:43 +08:00
requirements.txt Updated from global requirements 2016-07-20 18:43:59 +00:00
run_tests.sh Add description on how to run ./run_test.sh -8 2016-01-11 13:17:04 +00:00
setup.cfg register the config generator default hook with the right name 2016-03-11 16:02:05 -05:00
setup.py Updated from global requirements 2015-09-17 16:41:48 +00:00
test-requirements.txt Updated from global requirements 2016-09-06 09:20:28 +00:00
tests-py3.txt XenAPI: introduce unit test for XenAPI plugins 2016-03-02 06:54:06 +00:00
tox.ini Use constraints for all tox environments 2016-12-12 10:17:50 +00:00

README.rst

OpenStack Nova README

OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of virtualization technologies, including KVM, Xen, LXC, VMware, and more. In addition to its native API, it includes compatibility with the commonly encountered Amazon EC2 and S3 APIs.

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.

Nova primarily consists of a set of Python daemons, though it requires and integrates with a number of native system components for databases, messaging and virtualization capabilities.

To keep updated with new developments in the OpenStack project follow @openstack on Twitter.

To learn how to deploy OpenStack Nova, consult the documentation available online at:

http://docs.openstack.org

For information about the different compute (hypervisor) drivers supported by Nova, read this page on the wiki:

https://wiki.openstack.org/wiki/HypervisorSupportMatrix

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:

http://bugs.launchpad.net/nova

Developers wishing to work on the OpenStack Nova project should always base their work on the latest Nova code, available from the master GIT repository at:

https://git.openstack.org/cgit/openstack/nova

Developers should also join the discussion on the mailing list, at:

http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

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:

http://docs.openstack.org/developer/nova/

For information on how to contribute to Nova, please see the contents of the CONTRIBUTING.rst file.

-- End of broadcast