Matt Riedemann e34f05edb2 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
2017-02-08 17:08:07 -05:00
2017-01-04 11:05:16 +00:00
2017-01-10 17:26:23 -08:00
2014-05-07 12:14:26 -07:00
2012-02-08 19:30:39 -08:00
2015-05-23 03:22:07 +10:00
2016-11-25 13:55:29 +01:00
2017-01-20 19:43:54 +00:00
2015-09-17 16:41:48 +00:00
2017-01-18 15:00:14 +07:00

========================
Team and repository tags
========================

.. image:: http://governance.openstack.org/badges/nova.svg
    :target: http://governance.openstack.org/reference/tags/index.html

.. Change things from this point on

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:

    http://docs.openstack.org

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:

   http://bugs.launchpad.net/nova

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:

   http://docs.openstack.org/developer/nova/
S
Description
No description provided
Readme 258 MiB
Languages
Python 97.5%
Smarty 2.3%
Shell 0.2%