[RIC-587] Update E2 Setup existing nodeb behavior
[ric-plt/e2mgr.git] / E2Manager / managers / e2t_shutdown_manager.go
index 6287547..3c88dbd 100644 (file)
@@ -34,22 +34,22 @@ type IE2TShutdownManager interface {
 }
 
 type E2TShutdownManager struct {
-       logger                *logger.Logger
-       config                *configuration.Configuration
-       rnibDataService       services.RNibDataService
-       e2TInstancesManager   IE2TInstancesManager
-       e2tAssociationManager *E2TAssociationManager
-       kubernetesManager     *KubernetesManager
+       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, kubernetes *KubernetesManager) *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,
-               kubernetesManager:     kubernetes,
+               logger:                        logger,
+               config:                        config,
+               rnibDataService:               rnibDataService,
+               e2TInstancesManager:           e2TInstancesManager,
+               e2tAssociationManager:         e2tAssociationManager,
+               ranConnectStatusChangeManager: ranConnectStatusChangeManager,
        }
 }
 
@@ -62,8 +62,6 @@ func (m E2TShutdownManager) Shutdown(e2tInstance *entities.E2TInstance) error {
                return nil
        }
 
-       //go m.kubernetesManager.DeletePod(e2tInstance.PodName)
-
        err := m.markE2tInstanceToBeDeleted(e2tInstance)
        if err != nil {
                m.logger.Errorf("#E2TShutdownManager.Shutdown - Failed to mark E2T %s as 'ToBeDeleted'.", e2tInstance.Address)
@@ -97,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
                }
        }