ghanshyam 2018-10-02 02:24:29 +00:00 committed by Ghanshyam Mann
parent d9237e159c
commit 47befda147
8 changed files with 8 additions and 63 deletions

View File

@ -222,10 +222,7 @@ keypairs_controller = functools.partial(
limits_controller = functools.partial(
_create_controller, limits.LimitsController,
[
],
[])
_create_controller, limits.LimitsController, [], [])
migrations_controller = functools.partial(_create_controller,

View File

@ -526,6 +526,7 @@ class ServersController(wsgi.Controller):
# Sets the legacy_bdm flag if we got a legacy block device mapping.
create_kwargs['legacy_bdm'] = True
elif block_device_mapping_v2:
# Have to check whether --image is given, see bug 1433609
image_href = server_dict.get('imageRef')
image_uuid_specified = image_href is not None
try:

View File

@ -210,10 +210,7 @@ class ViewBuilder(common.ViewBuilder):
show_extended_attr = context.can(
esa_policies.BASE_POLICY_NAME, fatal=False)
if show_extended_attr:
server["server"][
"OS-EXT-SRV-ATTR:hypervisor_hostname"] = instance.node
properties = ['host', 'name']
properties = ['host', 'name', 'node']
if api_version_request.is_supported(request, min_version='2.3'):
# NOTE(mriedem): These will use the OS-EXT-SRV-ATTR prefix
# below and that's OK for microversion 2.3 which is being
@ -226,11 +223,13 @@ class ViewBuilder(common.ViewBuilder):
for attr in properties:
if attr == 'name':
key = "OS-EXT-SRV-ATTR:instance_%s" % attr
elif attr == 'node':
key = "OS-EXT-SRV-ATTR:hypervisor_hostname"
else:
# NOTE(mriedem): Nothing after microversion 2.3 should use
# the OS-EXT-SRV-ATTR prefix for the attribute key name.
key = "OS-EXT-SRV-ATTR:%s" % attr
server["server"][key] = instance[attr]
server["server"][key] = getattr(instance, attr)
if show_extended_status:
# NOTE(gmann): Removed 'locked_by' from extended status
# to make it same as V2. If needed it can be added with
@ -290,16 +289,15 @@ class ViewBuilder(common.ViewBuilder):
def detail(self, request, instances):
"""Detailed view of a list of instance."""
coll_name = self._collection_name + '/detail'
context = request.environ['nova.context']
if api_version_request.is_supported(request, min_version='2.47'):
# Determine if we should show extra_specs in the inlined flavor
# once before we iterate the list of instances
context = request.environ['nova.context']
show_extra_specs = context.can(fes_policies.POLICY_ROOT % 'index',
fatal=False)
else:
show_extra_specs = False
context = request.environ['nova.context']
show_extended_attr = context.can(
esa_policies.BASE_POLICY_NAME, fatal=False)
show_host_status = False

View File

@ -67,7 +67,6 @@ def objectify(data):
class ApiSampleTestBase(integrated_helpers._IntegratedTestBase):
all_extensions = True
sample_dir = None
microversion = None
_use_common_server_api_samples = False

View File

@ -102,27 +102,6 @@ class MicroversionsExtendsBaseController(wsgi.Controller):
return {'base_param': 'base_val'}
class MicroversionsExtendsController1(wsgi.Controller):
@wsgi.Controller.api_version("2.3")
@wsgi.extends
def show(self, req, resp_obj, id):
resp_obj.obj['extend_ctrlr1'] = 'val_1'
class MicroversionsExtendsController2(wsgi.Controller):
@wsgi.Controller.api_version("2.4")
@wsgi.extends
def show(self, req, resp_obj, id):
resp_obj.obj['extend_ctrlr2'] = 'val_2'
class MicroversionsExtendsController3(wsgi.Controller):
@wsgi.Controller.api_version("2.2", "2.3")
@wsgi.extends
def show(self, req, resp_obj, id):
resp_obj.obj['extend_ctrlr3'] = 'val_3'
mv_controller = functools.partial(routes._create_controller,
MicroversionsController, [], [])
@ -140,12 +119,7 @@ mv4_controller = functools.partial(routes._create_controller,
mv5_controller = functools.partial(routes._create_controller,
MicroversionsExtendsBaseController,
[
MicroversionsExtendsController1,
MicroversionsExtendsController2,
MicroversionsExtendsController3
], [])
MicroversionsExtendsBaseController, [], [])
ROUTES = (

View File

@ -67,9 +67,6 @@ class FlavorsTestV21(test.TestCase):
self._prefix + url, version=self.microversion)
def _set_expected_body(self, expected, flavor):
# NOTE(oomichi): On v2.1 API, some extensions of v2.0 are merged
# as core features and we can get the following parameters as the
# default.
expected['OS-FLV-EXT-DATA:ephemeral'] = flavor.ephemeral_gb
expected['OS-FLV-DISABLED:disabled'] = flavor.disabled
expected['swap'] = flavor.swap

View File

@ -454,7 +454,6 @@ class LimitsControllerTestV236(BaseLimitTestSuite):
"totalRAMUsed": 256,
"totalCoresUsed": 10,
"totalInstancesUsed": 2,
},
},
}

View File

@ -262,26 +262,6 @@ class LegacyMicroversionsTest(test.NoDBTestCase):
def test_microversions_inner_function_v21(self):
self._test_microversions_inner_function('2.1', 'controller4_val1')
@mock.patch("nova.api.openstack.api_version_request.max_api_version")
def test_with_extends_decorator(self, mock_maxver):
mock_maxver.return_value = api_version.APIVersionRequest('2.4')
req = fakes.HTTPRequest.blank('/v2/fake/microversions5/item')
req.headers = {'X-OpenStack-Nova-API-Version': '2.4'}
res = req.get_response(self.app)
self.assertEqual(200, res.status_int)
expected_res = {
"extend_ctrlr2": "val_2",
"extend_ctrlr1": "val_1",
"base_param": "base_val"}
resp_json = jsonutils.loads(res.body)
for param in resp_json:
self.assertIn(param, expected_res)
self.assertEqual(expected_res[param], resp_json[param])
self.assertEqual(3, len(resp_json))
@mock.patch("nova.api.openstack.api_version_request.max_api_version")
def _test_microversions_actions(self, ret_code, ret_header, req_header,
mock_maxver):