X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fclients%2Frouting_manager_client.go;h=5257d0437125cb6a22d0a5e2b27468055c7bdee0;hb=39dd2619102ed1819f57bd43fddca0947f68f5bf;hp=c584f5bac9c00527324d3b7ab5afb5ba1dd0c4eb;hpb=efcb4528362460aa2249d319c9752b63bb720fe2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/clients/routing_manager_client.go b/E2Manager/clients/routing_manager_client.go index c584f5b..5257d04 100644 --- a/E2Manager/clients/routing_manager_client.go +++ b/E2Manager/clients/routing_manager_client.go @@ -65,7 +65,7 @@ func (c *RoutingManagerClient) AddE2TInstance(e2tAddress string) error { func (c *RoutingManagerClient) AssociateRanToE2TInstance(e2tAddress string, ranName string) error { - data := models.NewRoutingManagerE2TData(e2tAddress, ranName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(e2tAddress, ranName)} url := c.config.RoutingManager.BaseUrl + AssociateRanToE2TInstanceApiSuffix return c.PostMessage(data, url) @@ -73,13 +73,21 @@ func (c *RoutingManagerClient) AssociateRanToE2TInstance(e2tAddress string, ranN func (c *RoutingManagerClient) DissociateRanE2TInstance(e2tAddress string, ranName string) error { - data := models.NewRoutingManagerE2TData(e2tAddress, ranName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(e2tAddress, ranName)} url := c.config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix return c.PostMessage(data, url) } -func (c *RoutingManagerClient) PostMessage(data *models.RoutingManagerE2TData, url string) error { +func (c *RoutingManagerClient) DissociateAllRans(e2tAddresses []string) error { + + data := mapE2TAddressesToE2DataList(e2tAddresses) + url := c.config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix + + return c.PostMessage(data, url) +} + +func (c *RoutingManagerClient) PostMessage(data interface{}, url string) error { marshaled, err := json.Marshal(data) if err != nil { @@ -87,7 +95,7 @@ func (c *RoutingManagerClient) PostMessage(data *models.RoutingManagerE2TData, u } body := bytes.NewBuffer(marshaled) - c.logger.Infof("[E2M -> Routing Manager] #RoutingManagerClient.PostMessage - url: %s, request body: %+v", url, body) + c.logger.Infof("[E2 Manager -> Routing Manager] #RoutingManagerClient.PostMessage - url: %s, request body: %+v", url, body) resp, err := c.httpClient.Post(url, "application/json", body) @@ -99,10 +107,20 @@ func (c *RoutingManagerClient) PostMessage(data *models.RoutingManagerE2TData, u defer resp.Body.Close() if resp.StatusCode >= http.StatusOK && resp.StatusCode < http.StatusMultipleChoices { - c.logger.Infof("[Routing Manager -> E2M] #RoutingManagerClient.PostMessage - success. http status code: %d", resp.StatusCode) + c.logger.Infof("[Routing Manager -> E2 Manager] #RoutingManagerClient.PostMessage - success. http status code: %d", resp.StatusCode) return nil } - c.logger.Errorf("[Routing Manager -> E2M] #RoutingManagerClient.PostMessage - failure. http status code: %d", resp.StatusCode) + c.logger.Errorf("[Routing Manager -> E2 Manager] #RoutingManagerClient.PostMessage - failure. http status code: %d", resp.StatusCode) return e2managererrors.NewRoutingManagerError() -} \ No newline at end of file +} + +func mapE2TAddressesToE2DataList(e2tAddresses []string) models.RoutingManagerE2TDataList { + e2tDataList := make(models.RoutingManagerE2TDataList, len(e2tAddresses)) + + for i, v := range e2tAddresses { + e2tDataList[i] = models.NewRoutingManagerE2TData(v) + } + + return e2tDataList +}