Feature 10906: Support for Anti-Affinity groups
Change-Id: Ibea6072b6907815d8be80ccb532e17221503f71a
Signed-off-by: Alexis Romero <garomero@indra.es>
diff --git a/osm_lcm/ns.py b/osm_lcm/ns.py
index 33e5aa1..9800f9e 100644
--- a/osm_lcm/ns.py
+++ b/osm_lcm/ns.py
@@ -867,6 +867,10 @@
image["vim_info"] = {}
for flavor in target["flavor"]:
flavor["vim_info"] = {}
+ if db_nsr.get("affinity-or-anti-affinity-group"):
+ target["affinity-or-anti-affinity-group"] = deepcopy(db_nsr["affinity-or-anti-affinity-group"])
+ for affinity_or_anti_affinity_group in target["affinity-or-anti-affinity-group"]:
+ affinity_or_anti_affinity_group["vim_info"] = {}
if db_nslcmop.get("lcmOperationType") != "instantiate":
# get parameters of instantiation:
@@ -1159,6 +1163,13 @@
if target_vim not in ns_image["vim_info"]:
ns_image["vim_info"][target_vim] = {}
+ # Affinity groups
+ if vdur.get("affinity-or-anti-affinity-group-id"):
+ for ags_id in vdur["affinity-or-anti-affinity-group-id"]:
+ ns_ags = target["affinity-or-anti-affinity-group"][int(ags_id)]
+ if target_vim not in ns_ags["vim_info"]:
+ ns_ags["vim_info"][target_vim] = {}
+
vdur["vim_info"] = {target_vim: {}}
# instantiation parameters
# if vnf_params: