From 0a358ab8f3f546f11c36f913018edef63ff17ed3 Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Tue, 23 Apr 2019 16:27:02 +0200 Subject: Fix for required/excluded candidates The fix changes how required and excluded candiates list is generated for HAS request by OSDF. After the change it is now alligned with request format of HAS. Change-Id: I6c4a88c3672971e53b996d416caeda63771e08c1 Issue-ID: OPTFRA-483 Signed-off-by: Lukasz Rajewski --- osdf/optimizers/placementopt/conductor/translation.py | 5 ++++- test/placement-tests/request_placement_vfmod.json | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/osdf/optimizers/placementopt/conductor/translation.py b/osdf/optimizers/placementopt/conductor/translation.py index d14f3e1..e09ecd3 100644 --- a/osdf/optimizers/placementopt/conductor/translation.py +++ b/osdf/optimizers/placementopt/conductor/translation.py @@ -206,7 +206,10 @@ def get_candidates_demands(demand): for k, v in policy_config_mapping['candidates'].items(): if k not in demand: continue - res[v] = [{'inventory_type': x['identifierType'], 'candidate_id': x['identifiers']} for x in demand[k]] + res[v] = list() + for x in demand[k]: + for candidate_id in x['identifiers']: + res[v].append({'inventory_type': x['identifierType'], 'candidate_id': candidate_id}) return res diff --git a/test/placement-tests/request_placement_vfmod.json b/test/placement-tests/request_placement_vfmod.json index 4233416..9e85e74 100644 --- a/test/placement-tests/request_placement_vfmod.json +++ b/test/placement-tests/request_placement_vfmod.json @@ -51,7 +51,7 @@ "service_type": "vFW-SINK-XX", "excluded_candidates": [{ "inventory_type": "vfmodule", - "candidate_id": ["e765d576-8755-4145-8536-0bb6d9b1dc9a"] + "candidate_id": "e765d576-8755-4145-8536-0bb6d9b1dc9a" }] }], "vPGN": [{ -- cgit 1.2.3-korg