X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fe2t_association_manager.go;h=9988d01ee18cf4d442731dafdb44eb98b5cb0d3f;hb=f846c5987cd35da745534e26ac3a22bdcf8b030a;hp=9b0cadadb2b1d0b46b533164b0cd2b33d9312732;hpb=63249264955a37429a64ebfec7028c6a487bdf1e;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/e2t_association_manager.go b/E2Manager/managers/e2t_association_manager.go index 9b0cada..9988d01 100644 --- a/E2Manager/managers/e2t_association_manager.go +++ b/E2Manager/managers/e2t_association_manager.go @@ -100,3 +100,33 @@ func (m *E2TAssociationManager) DissociateRan(e2tAddress string, ranName string) } return nil } + +func (m *E2TAssociationManager) RemoveE2tInstance(e2tAddress string, ransToBeDissociated []string, ranAssociationList map[string][]string) error { + + err := m.rmClient.DeleteE2TInstance(e2tAddress, ransToBeDissociated, ranAssociationList) + if err != nil { + m.logger.Errorf("#E2TAssociationManager.RemoveE2tInstance - RoutingManager failure: Failed to delete E2T %s. Error: %s", e2tAddress, err) + _ = m.setStateToRoutingManagerFailure(e2tAddress) + return err + } + + err = m.e2tInstanceManager.RemoveE2TInstance(e2tAddress) + if err != nil { + m.logger.Errorf("#E2TAssociationManager.RemoveE2tInstance - Failed to remove E2T %s. Error: %s", e2tAddress, err) + return err + } + + return nil +} + +func (m *E2TAssociationManager) setStateToRoutingManagerFailure(e2tAddress string) error { + e2tInstance, err := m.e2tInstanceManager.GetE2TInstance(e2tAddress) + if err != nil { + return err + } + err = m.e2tInstanceManager.SetE2tInstanceState(e2tAddress, e2tInstance.State, entities.RoutingManagerFailure) + if err != nil { + return err + } + return nil +}