Switch to Nova v2.32 API

At v2.33 new bdm field 'tag' was introduced. This field is automatically
created by snapshot operation for volume backed instance (ebs). The
result of the operation - bdm - is stored in metadata of the snapshot
image. When ec2api user requires to run an instance with this image
changing some attributes of the attached volume (e.g.
delete_on_termination), this bdm is merged with user defined parameters
and sent to Nova. As the result the new 'tag' field is sent to Nova
since v2.32.

However the used API version is v2.10, which does not support 'tag'
field. This did not lead to faults (until I56348dc2) because Nova
verified the first bdm only, but the first bdm for ebs instances was a
bdm for the image. With the noted fix this no more works.

This patch swithes ec2api to use v2.32 to get 'tag' field supported.

Change-Id: I68329bbffeeff5d460f3fca1a212ba20b35fc284
(cherry picked from commit 480dc02de0)
This commit is contained in:
Feodor Tersin 2016-12-28 18:03:00 +03:00
parent ad4978738a
commit 15947e2e2e
2 changed files with 5 additions and 2 deletions

View File

@ -91,7 +91,10 @@ LEGACY_NOVA_API_VERSION = '2'
# properties
# Nova API's 2.10 microversion provides admin access to users keypairs,
# which allows metadata service to expose openssh part of an instance key
REQUIRED_NOVA_API_MICROVERSION = '2.10'
# Nova API's 2.32 microversion allows 'tag' field of bdm v2, which may be
# contained in image bdms, defined by users or autocreated with instance
# snapshot
REQUIRED_NOVA_API_MICROVERSION = '2.32'
_nova_api_version = None

View File

@ -54,7 +54,7 @@ class ClientsTestCase(base.BaseTestCase):
links=[{'href': 'http://host:port/path/v2/'}])
v2_1 = mock.NonCallableMock()
v2_1.configure_mock(id='v2.1',
version='2.11',
version='2.40',
links=[{'href': 'http://host:port/path/v2.1/'}])
# test normal flow