From fc3ead31e631f69fabf0baaa20c10bf955ce374b Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Mon, 8 Apr 2019 15:05:22 +0200 Subject: Traffic Distributtion support added * New local polcies for vFW TD use case * Fixed encoding for conductor_request template and parameters section modified to accept all requestParameters * Conductor request can have many attributes in the 'attributes' section - all that are defined in the vnf policy file * Conductor request can have many request parameters in the 'requestParameters' section. The parameters come from QueryPolicies. Before list of suppoted parameters was hardcoded * Optional 'unique' parameter added to the placementDemand section. It is already supported by conductor for all inventory types * Improved debug logs for local policies * Unit tests added for expanded request format Change-Id: I41f219c366a3a77881c7096e64a6272edbada23b Issue-ID: OPTFRA-443 Signed-off-by: Lukasz Rajewski --- osdf/adapters/policy/interface.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'osdf/adapters/policy/interface.py') diff --git a/osdf/adapters/policy/interface.py b/osdf/adapters/policy/interface.py index 95bfacc..a7839c6 100644 --- a/osdf/adapters/policy/interface.py +++ b/osdf/adapters/policy/interface.py @@ -157,10 +157,12 @@ def local_policies_location(req_json, osdf_config, service_type): if lp.get('global_disabled'): return None # short-circuit to disable all local policies if lp.get('local_{}_policies_enabled'.format(service_type)): + debug_log.debug('Loading local policies for service type: {}'.format(service_type)) if service_type == "scheduling": return lp.get('{}_policy_dir'.format(service_type)), lp.get('{}_policy_files'.format(service_type)) else: service_name = req_json['serviceInfo']['serviceName'] # TODO: data_mapping.get_service_type(model_name) + debug_log.debug('Loading local policies for service name: {}'.format(service_name)) return lp.get('{}_policy_dir_{}'.format(service_type, service_name.lower())), \ lp.get('{}_policy_files_{}'.format(service_type, service_name.lower())) return None @@ -178,6 +180,8 @@ def get_policies(request_json, service_type): local_info = local_policies_location(request_json, osdf_config, service_type) if local_info: # tuple containing location and list of files + if local_info[0] is None or local_info[1] is None: + raise ValueError("Error fetching local policy info") to_filter = None if osdf_config.core['policy_info'][service_type]['policy_fetch'] == "by_name": to_filter = request_json[service_type + "Info"]['policyId'] -- cgit 1.2.3-korg