Skip to content

Commit c587a85

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Remove the deprecated API extensions policies"
2 parents 3e6ca7d + f72fa9a commit c587a85

25 files changed

+90
-741
lines changed

nova/api/openstack/compute/config_drive.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"""Config Drive extension."""
1717

1818
from nova.api.openstack import wsgi
19-
from nova.policies import config_drive as cd_policies
2019

2120
ATTRIBUTE_NAME = "config_drive"
2221

@@ -37,14 +36,10 @@ def _show(self, req, resp_obj):
3736

3837
@wsgi.extends
3938
def show(self, req, resp_obj, id):
40-
context = req.environ['nova.context']
41-
if context.can(cd_policies.BASE_POLICY_NAME, fatal=False):
42-
self._show(req, resp_obj)
39+
self._show(req, resp_obj)
4340

4441
@wsgi.extends
4542
def detail(self, req, resp_obj):
46-
context = req.environ['nova.context']
47-
if 'servers' in resp_obj.obj and context.can(
48-
cd_policies.BASE_POLICY_NAME, fatal=False):
43+
if 'servers' in resp_obj.obj:
4944
servers = resp_obj.obj['servers']
5045
self._add_config_drive(req, servers)

nova/api/openstack/compute/extended_availability_zone.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
from nova.api.openstack import wsgi
1919
from nova import availability_zones as avail_zone
20-
from nova.policies import extended_availability_zone as eaz_policies
2120

2221
PREFIX = "OS-EXT-AZ"
2322

@@ -34,16 +33,14 @@ def _extend_server(self, context, server, instance):
3433
@wsgi.extends
3534
def show(self, req, resp_obj, id):
3635
context = req.environ['nova.context']
37-
if context.can(eaz_policies.BASE_POLICY_NAME, fatal=False):
38-
server = resp_obj.obj['server']
39-
db_instance = req.get_db_instance(server['id'])
40-
self._extend_server(context, server, db_instance)
36+
server = resp_obj.obj['server']
37+
db_instance = req.get_db_instance(server['id'])
38+
self._extend_server(context, server, db_instance)
4139

4240
@wsgi.extends
4341
def detail(self, req, resp_obj):
4442
context = req.environ['nova.context']
45-
if context.can(eaz_policies.BASE_POLICY_NAME, fatal=False):
46-
servers = list(resp_obj.obj['servers'])
47-
for server in servers:
48-
db_instance = req.get_db_instance(server['id'])
49-
self._extend_server(context, server, db_instance)
43+
servers = list(resp_obj.obj['servers'])
44+
for server in servers:
45+
db_instance = req.get_db_instance(server['id'])
46+
self._extend_server(context, server, db_instance)

nova/api/openstack/compute/extended_status.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"""The Extended Status Admin API extension."""
1616

1717
from nova.api.openstack import wsgi
18-
from nova.policies import extended_status as es_policies
1918

2019

2120
class ExtendedStatusController(wsgi.Controller):
@@ -32,21 +31,17 @@ def _extend_server(self, server, instance):
3231

3332
@wsgi.extends
3433
def show(self, req, resp_obj, id):
35-
context = req.environ['nova.context']
36-
if context.can(es_policies.BASE_POLICY_NAME, fatal=False):
37-
server = resp_obj.obj['server']
38-
db_instance = req.get_db_instance(server['id'])
39-
# server['id'] is guaranteed to be in the cache due to
40-
# the core API adding it in its 'show' method.
41-
self._extend_server(server, db_instance)
34+
server = resp_obj.obj['server']
35+
db_instance = req.get_db_instance(server['id'])
36+
# server['id'] is guaranteed to be in the cache due to
37+
# the core API adding it in its 'show' method.
38+
self._extend_server(server, db_instance)
4239

4340
@wsgi.extends
4441
def detail(self, req, resp_obj):
45-
context = req.environ['nova.context']
46-
if context.can(es_policies.BASE_POLICY_NAME, fatal=False):
47-
servers = list(resp_obj.obj['servers'])
48-
for server in servers:
49-
db_instance = req.get_db_instance(server['id'])
50-
# server['id'] is guaranteed to be in the cache due to
51-
# the core API adding it in its 'detail' method.
52-
self._extend_server(server, db_instance)
42+
servers = list(resp_obj.obj['servers'])
43+
for server in servers:
44+
db_instance = req.get_db_instance(server['id'])
45+
# server['id'] is guaranteed to be in the cache due to
46+
# the core API adding it in its 'detail' method.
47+
self._extend_server(server, db_instance)

nova/api/openstack/compute/extended_volumes.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@
1919
from nova.api.openstack import wsgi
2020
from nova import context
2121
from nova import objects
22-
from nova.policies import extended_volumes as ev_policies
2322

2423
LOG = logging.getLogger(__name__)
2524

2625

2726
class ExtendedVolumesController(wsgi.Controller):
28-
def _extend_server(self, context, server, req, bdms):
27+
def _extend_server(self, server, req, bdms):
2928
volumes_attached = []
3029
for bdm in bdms:
3130
if bdm.get('volume_id'):
@@ -43,12 +42,11 @@ def _extend_server(self, context, server, req, bdms):
4342
@wsgi.extends
4443
def show(self, req, resp_obj, id):
4544
context = req.environ['nova.context']
46-
if context.can(ev_policies.BASE_POLICY_NAME, fatal=False):
47-
server = resp_obj.obj['server']
48-
bdms = objects.BlockDeviceMappingList.bdms_by_instance_uuid(
49-
context, [server['id']])
50-
instance_bdms = self._get_instance_bdms(bdms, server)
51-
self._extend_server(context, server, req, instance_bdms)
45+
server = resp_obj.obj['server']
46+
bdms = objects.BlockDeviceMappingList.bdms_by_instance_uuid(
47+
context, [server['id']])
48+
instance_bdms = self._get_instance_bdms(bdms, server)
49+
self._extend_server(server, req, instance_bdms)
5250

5351
@staticmethod
5452
def _get_instance_bdms_in_multiple_cells(ctxt, servers):
@@ -82,12 +80,11 @@ def _get_instance_bdms_in_multiple_cells(ctxt, servers):
8280
@wsgi.extends
8381
def detail(self, req, resp_obj):
8482
context = req.environ['nova.context']
85-
if context.can(ev_policies.BASE_POLICY_NAME, fatal=False):
86-
servers = list(resp_obj.obj['servers'])
87-
bdms = self._get_instance_bdms_in_multiple_cells(context, servers)
88-
for server in servers:
89-
instance_bdms = self._get_instance_bdms(bdms, server)
90-
self._extend_server(context, server, req, instance_bdms)
83+
servers = list(resp_obj.obj['servers'])
84+
bdms = self._get_instance_bdms_in_multiple_cells(context, servers)
85+
for server in servers:
86+
instance_bdms = self._get_instance_bdms(bdms, server)
87+
self._extend_server(server, req, instance_bdms)
9188

9289
def _get_instance_bdms(self, bdms, server):
9390
# server['id'] is guaranteed to be in the cache due to

nova/api/openstack/compute/image_size.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
# under the License.
1515

1616
from nova.api.openstack import wsgi
17-
from nova.policies import image_size as is_policies
1817

1918

2019
class ImageSizeController(wsgi.Controller):
@@ -28,21 +27,17 @@ def _extend_image(self, image, image_cache):
2827

2928
@wsgi.extends
3029
def show(self, req, resp_obj, id):
31-
context = req.environ["nova.context"]
32-
if context.can(is_policies.BASE_POLICY_NAME, fatal=False):
33-
image_resp = resp_obj.obj['image']
34-
# image guaranteed to be in the cache due to the core API adding
35-
# it in its 'show' method
36-
image_cached = req.get_db_item('images', image_resp['id'])
37-
self._extend_image(image_resp, image_cached)
30+
image_resp = resp_obj.obj['image']
31+
# image guaranteed to be in the cache due to the core API adding
32+
# it in its 'show' method
33+
image_cached = req.get_db_item('images', image_resp['id'])
34+
self._extend_image(image_resp, image_cached)
3835

3936
@wsgi.extends
4037
def detail(self, req, resp_obj):
41-
context = req.environ['nova.context']
42-
if context.can(is_policies.BASE_POLICY_NAME, fatal=False):
43-
images_resp = list(resp_obj.obj['images'])
44-
# images guaranteed to be in the cache due to the core API adding
45-
# it in its 'detail' method
46-
for image in images_resp:
47-
image_cached = req.get_db_item('images', image['id'])
48-
self._extend_image(image, image_cached)
38+
images_resp = list(resp_obj.obj['images'])
39+
# images guaranteed to be in the cache due to the core API adding
40+
# it in its 'detail' method
41+
for image in images_resp:
42+
image_cached = req.get_db_item('images', image['id'])
43+
self._extend_image(image, image_cached)

nova/api/openstack/compute/keypairs.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -306,14 +306,10 @@ def _show(self, req, resp_obj):
306306

307307
@wsgi.extends
308308
def show(self, req, resp_obj, id):
309-
context = req.environ['nova.context']
310-
if context.can(kp_policies.BASE_POLICY_NAME, fatal=False):
311-
self._show(req, resp_obj)
309+
self._show(req, resp_obj)
312310

313311
@wsgi.extends
314312
def detail(self, req, resp_obj):
315-
context = req.environ['nova.context']
316-
if 'servers' in resp_obj.obj and context.can(
317-
kp_policies.BASE_POLICY_NAME, fatal=False):
313+
if 'servers' in resp_obj.obj:
318314
servers = resp_obj.obj['servers']
319315
self._add_key_name(req, servers)

nova/api/openstack/compute/security_groups.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -490,9 +490,6 @@ def _extend_servers(self, req, servers):
490490
return
491491
key = "security_groups"
492492
context = req.environ['nova.context']
493-
if not context.can(sg_policies.BASE_POLICY_NAME, fatal=False):
494-
return
495-
496493
if not openstack_driver.is_neutron_security_groups():
497494
for server in servers:
498495
instance = req.get_db_instance(server['id'])

nova/api/openstack/compute/server_usage.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# under the License.
1414

1515
from nova.api.openstack import wsgi
16-
from nova.policies import server_usage as su_policies
1716

1817

1918
resp_topic = "OS-SRV-USG"
@@ -33,21 +32,17 @@ def _extend_server(self, server, instance):
3332

3433
@wsgi.extends
3534
def show(self, req, resp_obj, id):
36-
context = req.environ['nova.context']
37-
if context.can(su_policies.BASE_POLICY_NAME, fatal=False):
38-
server = resp_obj.obj['server']
39-
db_instance = req.get_db_instance(server['id'])
40-
# server['id'] is guaranteed to be in the cache due to
41-
# the core API adding it in its 'show' method.
42-
self._extend_server(server, db_instance)
35+
server = resp_obj.obj['server']
36+
db_instance = req.get_db_instance(server['id'])
37+
# server['id'] is guaranteed to be in the cache due to
38+
# the core API adding it in its 'show' method.
39+
self._extend_server(server, db_instance)
4340

4441
@wsgi.extends
4542
def detail(self, req, resp_obj):
46-
context = req.environ['nova.context']
47-
if context.can(su_policies.BASE_POLICY_NAME, fatal=False):
48-
servers = list(resp_obj.obj['servers'])
49-
for server in servers:
50-
db_instance = req.get_db_instance(server['id'])
51-
# server['id'] is guaranteed to be in the cache due to
52-
# the core API adding it in its 'detail' method.
53-
self._extend_server(server, db_instance)
43+
servers = list(resp_obj.obj['servers'])
44+
for server in servers:
45+
db_instance = req.get_db_instance(server['id'])
46+
# server['id'] is guaranteed to be in the cache due to
47+
# the core API adding it in its 'detail' method.
48+
self._extend_server(server, db_instance)

nova/api/openstack/compute/views/flavors.py

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515

1616
from nova.api.openstack import api_version_request
1717
from nova.api.openstack import common
18-
from nova.policies import flavor_access as fa_policies
19-
from nova.policies import flavor_rxtx as fr_policies
2018

2119
FLAVOR_DESCRIPTION_MICROVERSION = '2.55'
2220
FLAVOR_EXTRA_SPECS_MICROVERSION = '2.61'
@@ -27,12 +25,10 @@ class ViewBuilder(common.ViewBuilder):
2725
_collection_name = "flavors"
2826

2927
def basic(self, request, flavor, include_description=False,
30-
update_is_public=None, update_rxtx_factor=None,
3128
include_extra_specs=False):
32-
# include_extra_specs & update_is_public & update_rxtx_factor are
33-
# placeholder param which are not used in this method as basic() method
34-
# is used by index() (GET /flavors) which does not return those keys in
35-
# response.
29+
# include_extra_specs is placeholder param which is not used in
30+
# this method as basic() method is used by index() (GET /flavors)
31+
# which does not return those keys in response.
3632
flavor_dict = {
3733
"flavor": {
3834
"id": flavor["flavorid"],
@@ -49,7 +45,6 @@ def basic(self, request, flavor, include_description=False,
4945
return flavor_dict
5046

5147
def show(self, request, flavor, include_description=False,
52-
update_is_public=None, update_rxtx_factor=None,
5348
include_extra_specs=False):
5449
flavor_dict = {
5550
"flavor": {
@@ -61,6 +56,8 @@ def show(self, request, flavor, include_description=False,
6156
"OS-FLV-EXT-DATA:ephemeral": flavor["ephemeral_gb"],
6257
"OS-FLV-DISABLED:disabled": flavor["disabled"],
6358
"vcpus": flavor["vcpus"],
59+
"os-flavor-access:is_public": flavor['is_public'],
60+
"rxtx_factor": flavor['rxtx_factor'] or "",
6461
"links": self._get_links(request,
6562
flavor["flavorid"],
6663
self._collection_name),
@@ -73,26 +70,6 @@ def show(self, request, flavor, include_description=False,
7370
if include_extra_specs:
7471
flavor_dict['flavor']['extra_specs'] = flavor.extra_specs
7572

76-
# TODO(gmann): 'update_is_public' & 'update_rxtx_factor' are policies
77-
# checks. Once os-flavor-access & os-flavor-rxtx policies are
78-
# removed, 'os-flavor-access:is_public' and 'rxtx_factor' need to be
79-
# added in response without any check.
80-
81-
# Evaluate the policies when using show method directly.
82-
context = request.environ['nova.context']
83-
if update_is_public is None:
84-
update_is_public = context.can(fa_policies.BASE_POLICY_NAME,
85-
fatal=False)
86-
if update_rxtx_factor is None:
87-
update_rxtx_factor = context.can(fr_policies.BASE_POLICY_NAME,
88-
fatal=False)
89-
if update_is_public:
90-
flavor_dict['flavor'].update({
91-
"os-flavor-access:is_public": flavor['is_public']})
92-
if update_rxtx_factor:
93-
flavor_dict['flavor'].update(
94-
{"rxtx_factor": flavor['rxtx_factor'] or ""})
95-
9673
return flavor_dict
9774

9875
def index(self, request, flavors):
@@ -108,20 +85,12 @@ def detail(self, request, flavors, include_extra_specs=False):
10885
coll_name = self._collection_name + '/detail'
10986
include_description = api_version_request.is_supported(
11087
request, FLAVOR_DESCRIPTION_MICROVERSION)
111-
context = request.environ['nova.context']
112-
update_is_public = context.can(fa_policies.BASE_POLICY_NAME,
113-
fatal=False)
114-
update_rxtx_factor = context.can(fr_policies.BASE_POLICY_NAME,
115-
fatal=False)
11688
return self._list_view(self.show, request, flavors, coll_name,
11789
include_description=include_description,
118-
update_is_public=update_is_public,
119-
update_rxtx_factor=update_rxtx_factor,
12090
include_extra_specs=include_extra_specs)
12191

12292
def _list_view(self, func, request, flavors, coll_name,
123-
include_description=False, update_is_public=None,
124-
update_rxtx_factor=None, include_extra_specs=False):
93+
include_description=False, include_extra_specs=False):
12594
"""Provide a view for a list of flavors.
12695
12796
:param func: Function used to format the flavor data
@@ -131,17 +100,12 @@ def _list_view(self, func, request, flavors, coll_name,
131100
for a pagination query
132101
:param include_description: If the flavor.description should be
133102
included in the response dict.
134-
:param update_is_public: If the flavor.is_public field should be
135-
included in the response dict.
136-
:param update_rxtx_factor: If the flavor.rxtx_factor field should be
137-
included in the response dict.
138103
:param include_extra_specs: If the flavor.extra_specs should be
139104
included in the response dict.
140105
141106
:returns: Flavor reply data in dictionary format
142107
"""
143108
flavor_list = [func(request, flavor, include_description,
144-
update_is_public, update_rxtx_factor,
145109
include_extra_specs)["flavor"]
146110
for flavor in flavors]
147111
flavors_links = self._get_collection_links(request,

0 commit comments

Comments
 (0)