[RIC-587] Update E2 Setup existing nodeb behavior
[ric-plt/e2mgr.git] / E2Manager / managers / e2t_shutdown_manager.go
index 2bb5d0f..3c88dbd 100644 (file)
@@ -34,20 +34,22 @@ type IE2TShutdownManager interface {
 }
 
 type E2TShutdownManager struct {
-       logger                *logger.Logger
-       config                *configuration.Configuration
-       rnibDataService       services.RNibDataService
-       e2TInstancesManager   IE2TInstancesManager
-       e2tAssociationManager *E2TAssociationManager
+       logger                        *logger.Logger
+       config                        *configuration.Configuration
+       rnibDataService               services.RNibDataService
+       e2TInstancesManager           IE2TInstancesManager
+       e2tAssociationManager         *E2TAssociationManager
+       ranConnectStatusChangeManager IRanConnectStatusChangeManager
 }
 
-func NewE2TShutdownManager(logger *logger.Logger, config *configuration.Configuration, rnibDataService services.RNibDataService, e2TInstancesManager IE2TInstancesManager, e2tAssociationManager *E2TAssociationManager) *E2TShutdownManager {
+func NewE2TShutdownManager(logger *logger.Logger, config *configuration.Configuration, rnibDataService services.RNibDataService, e2TInstancesManager IE2TInstancesManager, e2tAssociationManager *E2TAssociationManager, ranConnectStatusChangeManager IRanConnectStatusChangeManager) *E2TShutdownManager {
        return &E2TShutdownManager{
-               logger:                logger,
-               config:                config,
-               rnibDataService:       rnibDataService,
-               e2TInstancesManager:   e2TInstancesManager,
-               e2tAssociationManager: e2tAssociationManager,
+               logger:                        logger,
+               config:                        config,
+               rnibDataService:               rnibDataService,
+               e2TInstancesManager:           e2TInstancesManager,
+               e2tAssociationManager:         e2tAssociationManager,
+               ranConnectStatusChangeManager: ranConnectStatusChangeManager,
        }
 }
 
@@ -78,7 +80,6 @@ func (m E2TShutdownManager) Shutdown(e2tInstance *entities.E2TInstance) error {
                return err
        }
 
-
        m.logger.Infof("#E2TShutdownManager.Shutdown - E2T %s was shutdown successfully.", e2tInstance.Address)
        return nil
 }
@@ -94,12 +95,16 @@ func (m E2TShutdownManager) clearNodebsAssociation(ranNamesToBeDissociated []str
                        }
                        return err
                }
-               nodeb.AssociatedE2TInstanceAddress = ""
-               nodeb.ConnectionStatus = entities.ConnectionStatus_DISCONNECTED
 
+               _, err = m.ranConnectStatusChangeManager.ChangeStatus(nodeb, entities.ConnectionStatus_DISCONNECTED)
+               if err != nil {
+                       return err
+               }
+
+               nodeb.AssociatedE2TInstanceAddress = ""
                err = m.rnibDataService.UpdateNodebInfo(nodeb)
                if err != nil {
-                       m.logger.Errorf("#E2TShutdownManager.associateAndSetupNodebs - Failed to save nodeb %s from db.", ranName)
+                       m.logger.Errorf("#E2TShutdownManager.clearNodebsAssociation - Failed to save nodeb %s to db.", ranName)
                        return err
                }
        }