RIC-208 - KA Decision: ask K8S to restart E2T instance
[ric-plt/e2mgr.git] / E2Manager / managers / e2t_shutdown_manager.go
index 2bb5d0f..bb89e3b 100644 (file)
@@ -39,15 +39,17 @@ type E2TShutdownManager struct {
        rnibDataService       services.RNibDataService
        e2TInstancesManager   IE2TInstancesManager
        e2tAssociationManager *E2TAssociationManager
+       kubernetesManager     *KubernetesManager
 }
 
-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, kubernetes *KubernetesManager) *E2TShutdownManager {
        return &E2TShutdownManager{
                logger:                logger,
                config:                config,
                rnibDataService:       rnibDataService,
                e2TInstancesManager:   e2TInstancesManager,
                e2tAssociationManager: e2tAssociationManager,
+               kubernetesManager:     kubernetes,
        }
 }
 
@@ -60,6 +62,8 @@ 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)
@@ -78,7 +82,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
 }