ResourceResolution should fail if required resource did not resolve -edge case 68/116468/1 frankfurt
authorkuldipr <kuldip.rai@amdocs.com>
Wed, 9 Dec 2020 00:30:52 +0000 (19:30 -0500)
committerkuldipr <kuldip.rai@amdocs.com>
Thu, 17 Dec 2020 19:45:15 +0000 (14:45 -0500)
Issue-ID: CCSDK-3022
Signed-off-by: kuldipr <kuldip.rai@amdocs.com>
Change-Id: Ia88a86f13c693a7bcd2d61cdfb5c2e39041b5a31
Signed-off-by: kuldipr <kuldip.rai@amdocs.com>
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt

index 3b0eda0..f9dfd86 100644 (file)
@@ -150,8 +150,11 @@ open class ResourceResolutionServiceImpl(
 
             val failedResolution = resourceAssignmentList.filter { it.status != "success" && it.property?.required == true }.map { it.name }
             if (failedResolution.isNotEmpty()) {
-                log.error("Failed to resolve required resources($failedResolution)")
-                bluePrintRuntimeService.setBluePrintError(resourceAssignmentRuntimeService.getBluePrintError())
+                // The following error message is returned by default to handle a scenario when
+                // error message comes empty even when resolution has actually failed.
+                // Example: input-source type resolution seems to fail with no error code.
+                bluePrintRuntimeService.getBluePrintError().errors.add("Failed to resolve required resources($failedResolution)")
+                bluePrintRuntimeService.getBluePrintError().errors.addAll(resourceAssignmentRuntimeService.getBluePrintError().errors)
             }
         }
         return ResourceResolutionResult(templateMap, assignmentMap)