X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=cmd%2Fvespamgr%2Fvespamgr.go;h=84c2bb409ce3fd950209beab97b6d12b89dfef88;hb=79c0ee65a3ff0ab62b1bbc7bc9be4fa510062313;hp=1a5246f2d6f427d0612313334ecfd655dab1622c;hpb=2bfaef02e6141e5870ee0fca20b428223d00d8e9;p=ric-plt%2Fvespamgr.git diff --git a/cmd/vespamgr/vespamgr.go b/cmd/vespamgr/vespamgr.go index 1a5246f..84c2bb4 100755 --- a/cmd/vespamgr/vespamgr.go +++ b/cmd/vespamgr/vespamgr.go @@ -59,6 +59,7 @@ func (v *VespaMgr) Run(sdlcheck, runXapp bool) { app.Resource.InjectRoute(v.appmgrNotifUrl, v.HandlexAppNotification, "POST") app.Resource.InjectRoute(measUrl, v.HandleMeasurements, "POST") app.Resource.InjectRoute("/supervision", v.HandleSupervision, "GET") // @todo: remove this + app.Resource.InjectRoute("/ric/v1/symptomdata", v.SymptomDataHandler, "GET") go v.SubscribeXappNotif(fmt.Sprintf("%s%s", v.appmgrHost, v.appmgrSubsUrl)) @@ -67,6 +68,19 @@ func (v *VespaMgr) Run(sdlcheck, runXapp bool) { } } +func (v *VespaMgr) SymptomDataHandler(w http.ResponseWriter, r *http.Request) { + appConfig, err := ioutil.ReadFile(app.Config.GetString("controls.vesagent.configFile")) + if err != nil { + app.Logger.Error("Unable to read config file: %v", err) + } + app.Logger.Info("SymptomDataHandler: appConfig=%+v", string(appConfig)) + + baseDir := app.Resource.CollectDefaultSymptomData("app-config.json", appConfig) + if baseDir != "" { + app.Resource.SendSymptomDataFile(w, r, baseDir, "symptomdata.zip") + } +} + func (v *VespaMgr) Consume(rp *app.RMRParams) (err error) { app.Logger.Info("Message received!") @@ -144,9 +158,11 @@ func (v *VespaMgr) HandleSupervision(w http.ResponseWriter, r *http.Request) { } func (v *VespaMgr) HandleMeasurements(w http.ResponseWriter, r *http.Request) { - app.Logger.Info("HandleMeasurements called!") if appConfig, err := v.ReadPayload(w, r); err == nil { - v.CreateConf(app.Config.GetString("controls.vesagent.configFile"), appConfig) + filePath := app.Config.GetString("controls.pltFile") + if err := ioutil.WriteFile(filePath, appConfig, 0666); err == nil { + v.pltFileCreated = true + } } } @@ -190,9 +206,8 @@ func (v *VespaMgr) SubscribeXappNotif(appmgrUrl string) { targetUrl := fmt.Sprintf("%s%s", app.Config.GetString("controls.host"), v.appmgrNotifUrl) subscriptionData := []byte(fmt.Sprintf(`{"Data": {"maxRetries": 5, "retryTimer": 5, "eventType":"all", "targetUrl": "%v"}}`, targetUrl)) - for { + for i := 0; i < v.appmgrRetry; i++ { app.Logger.Info("Subscribing xApp notification from: %v", appmgrUrl) - if id := v.DoSubscribe(appmgrUrl, subscriptionData); id != "" { app.Logger.Info("Subscription done, id=%s", id) break