From 01dfa52c169aa902e2cd8f58b65daaaf3af5e8e8 Mon Sep 17 00:00:00 2001 From: emartin Date: Fri, 27 Mar 2020 16:31:48 +0000 Subject: Fix bug where PMSH pushes config to non-active pnf Issue-ID: DCAEGEN2-2173 Signed-off-by: emartin Change-Id: Ib93a71e825f621721b5acda059cadcb7824f997d --- .../pmsh_service/mod/network_function.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'components/pm-subscription-handler/pmsh_service/mod/network_function.py') diff --git a/components/pm-subscription-handler/pmsh_service/mod/network_function.py b/components/pm-subscription-handler/pmsh_service/mod/network_function.py index 1cdf57a0..bf223184 100755 --- a/components/pm-subscription-handler/pmsh_service/mod/network_function.py +++ b/components/pm-subscription-handler/pmsh_service/mod/network_function.py @@ -17,6 +17,8 @@ # ============LICENSE_END===================================================== import re +from enum import Enum + from mod import pmsh_logging as logger, db from mod.db_models import NetworkFunctionModel @@ -95,13 +97,20 @@ class NetworkFunctionFilter: self.nf_names = kwargs.get('nfNames') self.regex_matcher = re.compile('|'.join(raw_regex for raw_regex in self.nf_names)) - def is_nf_in_filter(self, nf_name): + def is_nf_in_filter(self, nf_name, orchestration_status): """Match the nf name against regex values in Subscription.nfFilter.nfNames Args: nf_name: the AAI nf name. + orchestration_status: orchestration status of the nf Returns: bool: True if matched, else False. """ - return self.regex_matcher.search(nf_name) + return self.regex_matcher.search(nf_name) and \ + orchestration_status == OrchestrationStatus.ACTIVE.value + + +class OrchestrationStatus(Enum): + ACTIVE = 'Active' + INVENTORIED = 'Inventoried' -- cgit 1.2.3-korg