nova/nova/tests/unit/compute
Nikola Dipanov 4bd8a4bd8e Fix overloading of block device on boot by device name
Currently it is not possible to override an existing image block device
by supplying the device with the same name at boot (see also
Ib1ba130042aabbbe7bb8d60fc212c66e446c1d73). Even though we want to
discourage usage of device names as much as possible in the Nova API (as
not all hypervisors can honour them), EC2 API requires that this is possible.

While we want to make sure we document that supplying device names at
boot is only really desirable if you want to override some of the ones
contained in the image, introducing a different labeling system just so
that we don't use the device names seems like an overkill for a feature
that does not seem to be very used.

This patch adds a method that will do this deterministically when
compiling all the block device information for the request.

It is also worth noting that The EC2 API allows only subset of block
device attributes to be overridden in this way (see [1]). This limitation
did not exist previously in Nova, and there seems to be no reason why we
would need that complexity, so it would be up to the EC2 compatibility
code to deal with this.

[1] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM

Doc-Impact
Closes-bug: #1370250

Change-Id: I60ecdcae81ff5dec34f0fa0a39e0739759a6fa59
2015-07-29 18:34:41 +01:00
..
monitors Use stevedore for loading monitor extensions 2015-07-13 15:23:52 -04:00
__init__.py move all tests to nova/tests/unit 2014-11-12 15:31:08 -05:00
eventlet_utils.py move all tests to nova/tests/unit 2014-11-12 15:31:08 -05:00
fake_resource_tracker.py Use compute_node consistently in ResourceTracker 2015-05-12 10:09:54 +00:00
test_arch.py move all tests to nova/tests/unit 2014-11-12 15:31:08 -05:00
test_claims.py Merge "Use flavor object in compute manager" 2015-07-20 11:06:30 +00:00
test_compute.py Fix overloading of block device on boot by device name 2015-07-29 18:34:41 +01:00
test_compute_api.py Refactor test_servers to use instance objects 2015-07-27 12:03:06 -07:00
test_compute_cells.py Merge "Add the swap and ephemeral BDMs if needed" 2015-06-10 18:54:55 +00:00
test_compute_mgr.py Merge "rebuild: fix rebuild of server with volume attached" 2015-07-20 11:22:04 +00:00
test_compute_utils.py Convert test_compute_utils to use Instance object 2015-07-10 13:59:05 -07:00
test_compute_xen.py Switch to using oslo_* instead of oslo.* 2015-02-06 06:03:10 -05:00
test_flavors.py Make compute unit tests inherit from test.NoDBTestCase 2015-02-24 17:54:29 +02:00
test_host_api.py Code clean up db.instance_get_all_by_host() 2015-05-12 08:16:41 +00:00
test_hvtype.py Remove hv_type translation shim for powervm 2015-06-17 12:51:00 -07:00
test_keypairs.py Fixes X509 keypair creation failure 2015-04-28 12:21:53 +03:00
test_multiple_nodes.py Switch to using oslo_* instead of oslo.* 2015-02-06 06:03:10 -05:00
test_resource_tracker.py Merge "Use flavor object in compute manager" 2015-07-20 11:06:30 +00:00
test_resources.py Make compute unit tests inherit from test.NoDBTestCase 2015-02-24 17:54:29 +02:00
test_rpcapi.py Add MKS console support 2015-07-25 15:01:44 +03:00
test_shelve.py Execute _poll_shelved_instances only if shelved_offload_time is > 0 2015-07-23 01:08:50 -07:00
test_stats.py Convert nova.compute.* to use instance dot notation 2015-02-25 17:21:36 -05:00
test_tracker.py Merge "Use flavor object in compute manager" 2015-07-20 11:06:30 +00:00
test_virtapi.py Switch to moxstubout and mockpatch from oslotest 2014-12-02 08:03:42 -05:00
test_vmmode.py Convert nova.compute.* to use instance dot notation 2015-02-25 17:21:36 -05:00