SelectE2TInstance() (string, error)
AssociateRan(ranName string, e2tAddress string) error
DissociateRan(ranName string, e2tAddress string) error
+ ActivateE2TInstance(e2tInstance *entities.E2TInstance) error
ResetKeepAliveTimestamp(e2tAddress string) error
}
if !ok {
m.logger.Errorf("#E2TInstancesManager.GetE2TInstancesNoLogs - Failed retrieving E2T addresses. error: %s", err)
+ return nil, e2managererrors.NewRnibDbError()
}
- return nil, err
+
+ return []*entities.E2TInstance{}, nil
}
if len(e2tAddresses) == 0 {
e2tAddresses, err := m.rnibDataService.GetE2TAddresses()
if err != nil {
- m.logger.Errorf("#E2TInstancesManager.GetE2TInstances - Failed retrieving E2T addresses. error: %s", err)
- return nil, err
+
+ _, ok := err.(*common.ResourceNotFoundError)
+
+ if !ok {
+ m.logger.Errorf("#E2TInstancesManager.GetE2TInstances - Failed retrieving E2T addresses. error: %s", err)
+ return nil, e2managererrors.NewRnibDbError()
+ }
+
+ m.logger.Infof("#E2TInstancesManager.GetE2TInstances - Empty E2T addresses list")
+ return []*entities.E2TInstance{}, nil
}
if len(e2tAddresses) == 0 {
if err != nil {
m.logger.Errorf("#E2TInstancesManager.GetE2TInstances - Failed retrieving E2T instances list. error: %s", err)
- return e2tInstances, err
+ return e2tInstances, e2managererrors.NewRnibDbError()
}
if len(e2tInstances) == 0 {
e2tInstances, err := m.GetE2TInstances()
if err != nil {
- return "", e2managererrors.NewRnibDbError()
+ return "", err
}
if len(e2tInstances) == 0 {
return nil
}
+func (h E2TInstancesManager) ActivateE2TInstance(e2tInstance *entities.E2TInstance) error{
+
+ if e2tInstance == nil {
+ h.logger.Errorf("#E2TInstancesManager.ActivateE2TInstance - e2tInstance empty")
+ return e2managererrors.NewInternalError()
+ }
+
+ h.logger.Infof("#E2TInstancesManager.ActivateE2TInstance - E2T Address: %s - activate E2T instance", e2tInstance.Address)
+
+ e2tInstance.State = entities.Active
+ e2tInstance.KeepAliveTimestamp = time.Now().UnixNano()
+
+ err := h.rnibDataService.SaveE2TInstance(e2tInstance)
+ if err != nil {
+ h.logger.Errorf("#E2TInstancesManager.ActivateE2TInstance - E2T Instance address: %s - Failed saving E2TInstance. error: %s", e2tInstance.Address, err)
+ return err
+ }
+ return nil
+}
+
func (m *E2TInstancesManager) ResetKeepAliveTimestamp(e2tAddress string) error {
m.mux.Lock()