aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2020-05-04 17:22:50 +0300
committerEylon Malin <eylon.malin@intl.att.com>2020-05-05 20:07:50 +0000
commit03e4ae0e29eff5bbcc65020f383762af9e3fd5cc (patch)
tree0067c6585215f883059557f87c545adb5806efcc /vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt
parent048bd5e527128ab84a2725cd39761648b8ec9c62 (diff)
Add pause after completion for vfModule
Issue-ID: VID-821 Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Change-Id: Ie3088cd2795c94121c45874d15c319151a10cc95 Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt7
1 files changed, 7 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt b/vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt
index 9023682f6..016c66cca 100644
--- a/vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt
+++ b/vid-app-common/src/main/java/org/onap/vid/job/command/VnfCommand.kt
@@ -8,10 +8,12 @@ import org.onap.vid.job.impl.JobSharedData
import org.onap.vid.model.Action
import org.onap.vid.model.serviceInstantiation.BaseResource
import org.onap.vid.model.serviceInstantiation.VfModule
+import org.onap.vid.model.serviceInstantiation.VfModule.PauseInstantiation
import org.onap.vid.model.serviceInstantiation.Vnf
import org.onap.vid.mso.RestMsoImplementation
import org.onap.vid.properties.Features
import org.onap.vid.services.AsyncInstantiationBusinessLogic
+import org.onap.vid.utils.takeUntilIncluding
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.config.ConfigurableBeanFactory
import org.springframework.context.annotation.Scope
@@ -71,9 +73,14 @@ class VnfCommand @Autowired constructor(
private fun vfModulesForChildrenJobs(vfModules: List<VfModule>): List<VfModule> =
vfModules
+ .takeUntilIncluding { shoudlPauseAfterInstantiation(it) }
.filter { filterModuleByNeedToCreateBase(it) }
.map { childVfModuleWithVnfRegionAndTenant(it) }
+ fun shoudlPauseAfterInstantiation(vfModule: VfModule) =
+ (vfModule.action == Action.Create && vfModule.pauseInstantiation == PauseInstantiation.afterCompletion
+ && featureManager.isActive(Features.FLAG_2006_PAUSE_VFMODULE_INSTANTIATION_CREATION))
+
internal fun childVfModuleWithVnfRegionAndTenant(vfModule: VfModule): VfModule {
if (!shouldEntailRegionAndTenantToVfModule(vfModule)) {
return vfModule