X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=blobdiff_plain;f=NG-RO%2Fosm_ng_ro%2Fns_thread.py;h=ab58a1f290d9be8f975fe5c1c06aaaaff3c049d2;hp=5c3bb5d51efb1ed8f2dd3ff1012b86ec70b2d283;hb=123de18fe672551ac782aec4188150d3fe76c961;hpb=179e00207688285e282103994967b22f3b5852ca diff --git a/NG-RO/osm_ng_ro/ns_thread.py b/NG-RO/osm_ng_ro/ns_thread.py index 5c3bb5d5..ab58a1f2 100644 --- a/NG-RO/osm_ng_ro/ns_thread.py +++ b/NG-RO/osm_ng_ro/ns_thread.py @@ -812,9 +812,28 @@ class VimInteractionAffinityGroup(VimInteractionBase): try: affinity_group_vim_id = None + affinity_group_data = None if task.get("params"): - affinity_group_data = task["params"]["affinity_group_data"] + affinity_group_data = task["params"].get("affinity_group_data") + + if affinity_group_data and affinity_group_data.get("vim-affinity-group-id"): + try: + param_affinity_group_id = task["params"]["affinity_group_data"].get( + "vim-affinity-group-id" + ) + affinity_group_vim_id = target_vim.get_affinity_group( + param_affinity_group_id + ).get("id") + except vimconn.VimConnNotFoundException: + self.logger.error( + "task={} {} new-affinity-or-anti-affinity-group. Provided VIM Affinity Group ID {}" + "could not be found at VIM. Creating a new one.".format( + task_id, ro_task["target_id"], param_affinity_group_id + ) + ) + + if not affinity_group_vim_id and affinity_group_data: affinity_group_vim_id = target_vim.new_affinity_group( affinity_group_data )