From: ToineSiebelink Date: Wed, 24 Sep 2025 08:31:45 +0000 (+0100) Subject: Control Model loader execution Order X-Git-Tag: 3.7.1~4^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=4055fd5f9510adda1d8f0bc26e863b9c48fd1c0d;p=cps.git Control Model loader execution Order - Use @Order annotation to execute model loader sequentially instead of parallel - Removed duplicated steps between model loaders (just one) - Improved and consistent logging for each model loader starting and stopping Issue-ID: CPS-2988 Change-Id: Icd1bb365a65831fbef52f6d9881d8d23dbb3c8aa Signed-off-by: ToineSiebelink --- diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/CmDataSubscriptionModelLoader.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/CmDataSubscriptionModelLoader.java index 14776e0367..99a2829335 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/CmDataSubscriptionModelLoader.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/CmDataSubscriptionModelLoader.java @@ -29,10 +29,12 @@ import org.onap.cps.api.CpsDataspaceService; import org.onap.cps.api.CpsModuleService; import org.onap.cps.init.AbstractModelLoader; import org.onap.cps.init.actuator.ReadinessManager; +import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; @Slf4j @Service +@Order(3) public class CmDataSubscriptionModelLoader extends AbstractModelLoader { private static final String MODEL_FILE_NAME = "cm-data-job-subscriptions@2025-09-03.yang"; @@ -50,15 +52,16 @@ public class CmDataSubscriptionModelLoader extends AbstractModelLoader { @Override public void onboardOrUpgradeModel() { + log.info("Model Loader #3 Started: NCMP CM Data Notification Subscription Models"); onboardSubscriptionModels(); - log.info("Subscription Models onboarded successfully"); + log.info("Model Loader #3 Completed"); } private void onboardSubscriptionModels() { - createDataspace(NCMP_DATASPACE_NAME); createSchemaSet(NCMP_DATASPACE_NAME, SCHEMA_SET_NAME, MODEL_FILE_NAME); createAnchor(NCMP_DATASPACE_NAME, SCHEMA_SET_NAME, ANCHOR_NAME); createTopLevelDataNode(NCMP_DATASPACE_NAME, ANCHOR_NAME, REGISTRY_DATA_NODE_NAME); + log.info("NCMP CM Data Notification Subscription Models onboarded successfully"); } } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/InventoryModelLoader.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/InventoryModelLoader.java index fe8e10ae86..f1d89a0cc2 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/InventoryModelLoader.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/InventoryModelLoader.java @@ -34,10 +34,12 @@ import org.onap.cps.init.actuator.ReadinessManager; import org.onap.cps.ncmp.utils.events.NcmpInventoryModelOnboardingFinishedEvent; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationEventPublisher; +import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; @Slf4j @Service +@Order(2) public class InventoryModelLoader extends AbstractModelLoader { private final ApplicationEventPublisher applicationEventPublisher; @@ -65,6 +67,7 @@ public class InventoryModelLoader extends AbstractModelLoader { @Override public void onboardOrUpgradeModel() { + log.info("Model Loader #2 Started: NCMP Inventory Models"); final String schemaToInstall = newRevisionEnabled ? NEW_INVENTORY_SCHEMA_SET_NAME : PREVIOUS_SCHEMA_SET_NAME; final String moduleRevision = getModuleRevision(schemaToInstall); @@ -76,8 +79,8 @@ public class InventoryModelLoader extends AbstractModelLoader { } else { installInventoryModel(schemaToInstall); } - applicationEventPublisher.publishEvent(new NcmpInventoryModelOnboardingFinishedEvent(this)); + log.info("Model Loader #2 Completed"); } private void installInventoryModel(final String schemaSetName) { diff --git a/cps-service/src/main/java/org/onap/cps/init/CpsNotificationSubscriptionModelLoader.java b/cps-service/src/main/java/org/onap/cps/init/CpsNotificationSubscriptionModelLoader.java index 415dcce8fa..f8c8591e96 100644 --- a/cps-service/src/main/java/org/onap/cps/init/CpsNotificationSubscriptionModelLoader.java +++ b/cps-service/src/main/java/org/onap/cps/init/CpsNotificationSubscriptionModelLoader.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2024-2025 TechMahindra Ltd. + * Modifications Copyright (C) 2025 OpenInfra Foundation Europe. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,10 +27,12 @@ import org.onap.cps.api.CpsDataService; import org.onap.cps.api.CpsDataspaceService; import org.onap.cps.api.CpsModuleService; import org.onap.cps.init.actuator.ReadinessManager; +import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; @Slf4j @Service +@Order(1) public class CpsNotificationSubscriptionModelLoader extends AbstractModelLoader { private static final String MODEL_FILENAME = "cps-notification-subscriptions@2024-07-03.yang"; @@ -48,8 +51,9 @@ public class CpsNotificationSubscriptionModelLoader extends AbstractModelLoader @Override public void onboardOrUpgradeModel() { + log.info("Model Loader #1 Started: CPS Data Notification Subscription Models"); onboardSubscriptionModels(); - log.info("Subscription models onboarded successfully"); + log.info("Model Loader #1 Completed"); } private void onboardSubscriptionModels() { @@ -57,6 +61,7 @@ public class CpsNotificationSubscriptionModelLoader extends AbstractModelLoader createSchemaSet(CPS_DATASPACE_NAME, SCHEMA_SET_NAME, MODEL_FILENAME); createAnchor(CPS_DATASPACE_NAME, SCHEMA_SET_NAME, ANCHOR_NAME); createTopLevelDataNode(CPS_DATASPACE_NAME, ANCHOR_NAME, REGISTRY_DATANODE_NAME); + log.info("CPS Data Notification Subscription models onboarded successfully"); } }