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))
}
}
+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!")
}
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
+ }
}
}
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