Merge "Fix field of LifecycleChangeNotificationsFilter"

This commit is contained in:
Zuul 2022-12-01 05:58:50 +00:00 committed by Gerrit Code Review
commit 46a3e3dcbe
3 changed files with 16 additions and 16 deletions

View File

@ -199,7 +199,7 @@ def get_lcmocc_subscs(context, lcmocc, inst):
lcmocc.operation, lcmocc.operationState) lcmocc.operation, lcmocc.operationState)
def get_matched_subscs(context, inst, notif_type, op_type, op_status): def get_matched_subscs(context, inst, notif_type, op_type, op_state):
subscs = [] subscs = []
for subsc in get_subsc_all(context): for subsc in get_subsc_all(context):
# subsc: LccnSubscription # subsc: LccnSubscription
@ -209,11 +209,11 @@ def get_matched_subscs(context, inst, notif_type, op_type, op_status):
subscs.append(subsc) subscs.append(subsc)
continue continue
# subsc.fulter: LifecycleChangeNotificationsFilter # subsc.filter: LifecycleChangeNotificationsFilter
# - vnfInstanceSubscriptionFilter 0..1 # - vnfInstanceSubscriptionFilter 0..1
# - notificationTypes 0..N # - notificationTypes 0..N
# - operationTypes 0..N # - operationTypes 0..N
# - operationStatus 0..N # - operationStates 0..N
if subsc.filter.obj_attr_is_set('vnfInstanceSubscriptionFilter'): if subsc.filter.obj_attr_is_set('vnfInstanceSubscriptionFilter'):
inst_filter = subsc.filter.vnfInstanceSubscriptionFilter inst_filter = subsc.filter.vnfInstanceSubscriptionFilter
if not match_inst_subsc_filter(inst_filter, inst): if not match_inst_subsc_filter(inst_filter, inst):
@ -228,9 +228,9 @@ def get_matched_subscs(context, inst, notif_type, op_type, op_status):
if op_type not in subsc.filter.operationTypes: if op_type not in subsc.filter.operationTypes:
continue continue
if (op_status is not None and if (op_state is not None and
subsc.filter.obj_attr_is_set('operationStatus')): subsc.filter.obj_attr_is_set('operationStates')):
if op_status not in subsc.filter.operationStatus: if op_state not in subsc.filter.operationStates:
continue continue
# OK, matched # OK, matched

View File

@ -40,6 +40,6 @@ class LifecycleChangeNotificationsFilterV2(base.TackerObject,
), ),
'operationTypes': fields.Field(fields.List( 'operationTypes': fields.Field(fields.List(
v2fields.LcmOperationTypeField(), nullable=True)), v2fields.LcmOperationTypeField(), nullable=True)),
'operationStatus': fields.Field(fields.List( 'operationStates': fields.Field(fields.List(
v2fields.LcmOperationStateTypeField(), nullable=True)), v2fields.LcmOperationStateTypeField(), nullable=True)),
} }

View File

@ -313,9 +313,9 @@ class TestSubscriptionUtils(base.BaseTestCase):
inst = objects.VnfInstanceV2(id='test-instance', vnfProvider='company') inst = objects.VnfInstanceV2(id='test-instance', vnfProvider='company')
notif_type = 'VnfLcmOperationOccurrenceNotification' notif_type = 'VnfLcmOperationOccurrenceNotification'
op_type = 'INSTANTIATE' op_type = 'INSTANTIATE'
op_status = 'COMPLETED' op_state = 'COMPLETED'
subscs_no_fileter = objects.LccnSubscriptionV2(id='subsc-1') subscs_no_filter = objects.LccnSubscriptionV2(id='subsc-1')
products_vnfproducts_no_exist = objects._VnfProductsFromProviders( products_vnfproducts_no_exist = objects._VnfProductsFromProviders(
vnfProvider='company') vnfProvider='company')
@ -349,21 +349,21 @@ class TestSubscriptionUtils(base.BaseTestCase):
id='subsc-7', filter=objects.LifecycleChangeNotificationsFilterV2( id='subsc-7', filter=objects.LifecycleChangeNotificationsFilterV2(
operationTypes=['TERMINATE'])) operationTypes=['TERMINATE']))
subscs_op_status_match = objects.LccnSubscriptionV2( subscs_op_state_match = objects.LccnSubscriptionV2(
id='subsc-8', filter=objects.LifecycleChangeNotificationsFilterV2( id='subsc-8', filter=objects.LifecycleChangeNotificationsFilterV2(
operationStatus=['COMPLETED'])) operationStates=['COMPLETED']))
subscs_op_status_mismatch = objects.LccnSubscriptionV2( subscs_op_state_mismatch = objects.LccnSubscriptionV2(
id='subsc-9', filter=objects.LifecycleChangeNotificationsFilterV2( id='subsc-9', filter=objects.LifecycleChangeNotificationsFilterV2(
operationStatus=['FAILED_TEMP'])) operationStates=['FAILED_TEMP']))
mock_subscs.return_value = [ mock_subscs.return_value = [
subscs_no_fileter, subscs_filter_match, subscs_filter_mismatch, subscs_no_filter, subscs_filter_match, subscs_filter_mismatch,
subscs_noti_type_match, subscs_noti_type_mismatch, subscs_noti_type_match, subscs_noti_type_mismatch,
subscs_op_type_match, subscs_op_type_mismatch, subscs_op_type_match, subscs_op_type_mismatch,
subscs_op_status_match, subscs_op_status_mismatch] subscs_op_state_match, subscs_op_state_mismatch]
result = subsc_utils.get_matched_subscs( result = subsc_utils.get_matched_subscs(
context, inst, notif_type, op_type, op_status) context, inst, notif_type, op_type, op_state)
expected_ids = ['subsc-1', 'subsc-2', 'subsc-4', 'subsc-6', 'subsc-8'] expected_ids = ['subsc-1', 'subsc-2', 'subsc-4', 'subsc-6', 'subsc-8']