summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorericxiett <eric_xiett@163.com>2020-09-11 02:03:47 +0000
committerStephen Finucane <stephenfin@redhat.com>2021-07-26 09:34:46 +0100
commit35ec9357a1f249cc1309c92006a5a1f48a8ff025 (patch)
treee647c0ad325fb817f019166ed123e61c03b0d5c7
parent264429032152335855552dfcc9ea23e45b1b655d (diff)
downloadnova-35ec9357a1f249cc1309c92006a5a1f48a8ff025.tar.gz
Fix error that cannot overwrite policy rule for 'forced_host'
When configure 'os_compute_api:servers:create:forced_host' to 'rule:admin_or_owner', but still doesn't allow. In nova/api/openstack/compute/servers.py#L669, the target is set to '{}' that is not equal None, so then it will not be set in nova/policy.py#L205. This patch configures the target param. Change-Id: I7a563386bd2f5d1930b5eb2cfc00425a19747e24 Closes-Bug: #1894975 (cherry picked from commit fd99a7ca0f56223d878142a58525d9ed64c84ed1)
-rw-r--r--nova/api/openstack/compute/servers.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index 3b7b7e9057..5acfd10596 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -660,7 +660,8 @@ class ServersController(wsgi.Controller):
except exception.InvalidInput as err:
raise exc.HTTPBadRequest(explanation=six.text_type(err))
if host or node:
- context.can(server_policies.SERVERS % 'create:forced_host', {})
+ context.can(server_policies.SERVERS % 'create:forced_host',
+ target=target)
if api_version_request.is_supported(req, min_version='2.74'):
self._process_hosts_for_create(context, target, server_dict,