for list_candidate in candidates_list:
if list_candidate \
and list_candidate.get('inventory_type') \
- == candidate.get('inventory_type') \
- and list_candidate.get('candidate_id') \
- == candidate.get('candidate_id'):
- has_candidate = True
- break
+ == candidate.get('inventory_type'):
+ if isinstance(list_candidate.get('candidate_id'), list):
+ for candidate_id in list_candidate.get('candidate_id'):
+ if candidate_id == candidate.get('candidate_id'):
+ has_candidate = True
+ break
+ else:
+ raise Exception("Invalid candidate id list format")
+ if has_candidate:
+ break
if not exclude:
if not has_candidate:
"vlan_key": "vlan_key",
"port_key": "vlan_port",
"excluded_candidates": [{
- "candidate_id": "e765d576-8755-4145-8536-0bb6d9b1dc9a",
+ "candidate_id": ["e765d576-8755-4145-8536-0bb6d9b1dc9a"],
"inventory_type": "vfmodule"
}],
"attributes": {
candidate_list_empty = list()
candidate_list = list()
- candidate_list.append(candidate)
+ candidate_info = copy.deepcopy(candidate)
+ candidate_info['candidate_id'] = list()
+ candidate_info['candidate_id'].append(candidate['candidate_id'])
+ candidate_list.append(candidate_info)
self.assertFalse(self.aai_ep.match_candidate_by_list(candidate, candidate_list_empty, True, 'demand',
triage_translator_data)),
"cloud-region-id": "RegionOne",
"service_instance_id": "3e8d118c-10ca-4b4b-b3db-089b5e9e6a1c"
},
- "service_type": "vPGN-XX"
+ "service_type": "vPGN-XX",
+ "excluded_candidates": [{
+ "inventory_type": "vfmodule",
+ "candidate_id": ["e765d576-8755-4145-8536-0bb6d9b1dc9a"]
+ }]
}]
}
\ No newline at end of file
'resolved_demands': [{'service_resource_id': 'vFW-SINK-XX', 'vlan_key': 'vlan_key',
'inventory_provider': 'aai', 'inventory_type': 'vfmodule',
'excluded_candidates': [
- {'candidate_id': 'e765d576-8755-4145-8536-0bb6d9b1dc9a',
+ {'candidate_id': ['e765d576-8755-4145-8536-0bb6d9b1dc9a'],
'inventory_type': 'vfmodule'
}], 'port_key': 'vlan_port', 'service_type': 'vFW-SINK-XX',
'attributes': {'global-customer-id': 'Demonstration',