X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=NG-RO%2Fosm_ng_ro%2Fns_thread.py;h=dc1760084f7218fe73af06edc1241d189de0509b;hb=refs%2Fchanges%2F44%2F11944%2F2;hp=106830de3b5902d120c463ea4b7f04e3dad58f0c;hpb=7399321457dedb7ad2c40280cc5ff6f367d9b2ca;p=osm%2FRO.git diff --git a/NG-RO/osm_ng_ro/ns_thread.py b/NG-RO/osm_ng_ro/ns_thread.py index 106830de..dc176008 100644 --- a/NG-RO/osm_ng_ro/ns_thread.py +++ b/NG-RO/osm_ng_ro/ns_thread.py @@ -813,9 +813,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 )