aboutsummaryrefslogtreecommitdiffstats
path: root/osdf/adapters/policy/interface.py
diff options
context:
space:
mode:
authorLukasz Rajewski <lukasz.rajewski@orange.com>2020-05-11 17:38:06 +0200
committerLukasz Rajewski <lukasz.rajewski@orange.com>2020-05-11 20:03:16 +0200
commit76efb65c4fffbd5b940a75c36329a2e0409be382 (patch)
treed8185fa040174641728c1dbbdd66085733c736dd /osdf/adapters/policy/interface.py
parent1b493a741b87880181a027fe102d295fcbd6f7cb (diff)
Fix for remote policy filtering
Changed a way of processing policies by scope. Before filtering was resulting with None type access exception. Change-Id: Ide6515b4b18a2dc7344e92b32a76d00ba48d4301 Issue-ID: OPTFRA-755 Signed-off-by: Lukasz Rajewski <lukasz.rajewski@orange.com>
Diffstat (limited to 'osdf/adapters/policy/interface.py')
-rw-r--r--osdf/adapters/policy/interface.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/osdf/adapters/policy/interface.py b/osdf/adapters/policy/interface.py
index ccbd3dc..1e7d2cd 100644
--- a/osdf/adapters/policy/interface.py
+++ b/osdf/adapters/policy/interface.py
@@ -76,9 +76,10 @@ def get_by_scope(rest_client, req, config_local, type_service):
keys = scope_fields.keys() & policies[policyName]['properties'].keys()
policy = {}
policy[policyName] = policies[policyName]
- scope_policies.append(policy for k in keys
- if set(policies.get(policyName, {}).get('properties',{}).get(k)) >= set(scope_fields[k])
- and policy not in scope_policies)
+ for k in keys:
+ if set(policies.get(policyName, {}).get('properties',{}).get(k)) >= set(scope_fields[k])\
+ and policy not in scope_policies:
+ scope_policies.append(policy)
return scope_policies
@@ -146,7 +147,7 @@ def remote_api(req_json, osdf_config, service_type="placement"):
policies = get_by_scope(rc, req_json, osdf_config.core, service_type)
formatted_policies = []
- for x in itertools.chain(*policies):
+ for x in policies:
if x[list(x.keys())[0]].get('properties') is None:
raise BusinessException("Properties not found for policy with name %s" % x[list(x.keys()[0])])
else: