flow provision status api fix
Change-Id: If40b2a1ab6a87e1857d9ad6dc27034b0f99fcab0
diff --git a/internal/pkg/application/service.go b/internal/pkg/application/service.go
index ebbeef0..532ff62 100644
--- a/internal/pkg/application/service.go
+++ b/internal/pkg/application/service.go
@@ -2047,34 +2047,30 @@
}
// GetFlowProvisionStatus to get status of the subscriber and flow provisioned in controller
-func (va *VoltApplication) GetFlowProvisionStatus(cntx context.Context, portNo string) FlowProvisionStatus {
+func (va *VoltApplication) GetFlowProvisionStatus(portNo string) FlowProvisionStatus {
logger.Infow(ctx, "GetFlowProvisionStatus Request ", log.Fields{"Port": portNo})
flowProvisionStatus := FlowProvisionStatus{}
- serviceCount := 0
+ flowProvisionStatus.FlowProvisionStatus = SUBSCRIBER_NOT_IN_CONTROLLER
va.ServiceByName.Range(func(key, value interface{}) bool {
vs := value.(*VoltService)
logger.Debugw(ctx, "Volt Service ", log.Fields{"VS": vs})
- serviceCount++
- if len(portNo) > 0 {
- if portNo == vs.Port {
- if vs.DsHSIAFlowsApplied && vs.UsHSIAFlowsApplied && vs.LenOfPendingFlows() == 0 {
- flowProvisionStatus.FlowProvisionStatus = ALL_FLOWS_PROVISIONED
- } else if !vs.IsActivated {
- flowProvisionStatus.FlowProvisionStatus = SUBSCRIBER_DISABLED_IN_CONTROLLER
- } else if !vs.DsHSIAFlowsApplied && !vs.UsHSIAFlowsApplied {
- flowProvisionStatus.FlowProvisionStatus = NO_FLOWS_PROVISIONED
- } else if vs.LenOfPendingFlows() > 0 {
- flowProvisionStatus.FlowProvisionStatus = FLOWS_PROVISIONED_PARTIALLY
- }
- } else {
- flowProvisionStatus.FlowProvisionStatus = SUBSCRIBER_NOT_IN_CONTROLLER
+ if portNo == vs.Port {
+ if vs.DsHSIAFlowsApplied && vs.UsHSIAFlowsApplied && vs.LenOfPendingFlows() == 0 {
+ flowProvisionStatus.FlowProvisionStatus = ALL_FLOWS_PROVISIONED
+ return false
+ } else if !vs.IsActivated {
+ flowProvisionStatus.FlowProvisionStatus = SUBSCRIBER_DISABLED_IN_CONTROLLER
+ return false
+ } else if !vs.DsHSIAFlowsApplied && !vs.UsHSIAFlowsApplied {
+ flowProvisionStatus.FlowProvisionStatus = NO_FLOWS_PROVISIONED
+ return false
+ } else if vs.LenOfPendingFlows() > 0 {
+ flowProvisionStatus.FlowProvisionStatus = FLOWS_PROVISIONED_PARTIALLY
+ return false
}
}
return true
})
- if serviceCount == 0 {
- flowProvisionStatus.FlowProvisionStatus = SUBSCRIBER_NOT_IN_CONTROLLER
- }
return flowProvisionStatus
}