X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fvesmgr%2Fvesmgr.go;h=c093359bc7f6ccd30ec03621746d493b562933f6;hb=refs%2Fchanges%2F22%2F4922%2F2;hp=dfe9864cd1c3d8588c7dc6245487f0b7d35fcab7;hpb=6ffba08cc1c469c1ae04a6819445760ec75653b1;p=ric-plt%2Fvespamgr.git diff --git a/cmd/vesmgr/vesmgr.go b/cmd/vesmgr/vesmgr.go index dfe9864..c093359 100755 --- a/cmd/vesmgr/vesmgr.go +++ b/cmd/vesmgr/vesmgr.go @@ -112,11 +112,11 @@ func (vesmgr *VesMgr) subscribeXAppNotifications() { // Init initializes the vesmgr func (vesmgr *VesMgr) Init(listenPort string) *VesMgr { logger.Info("vesmgrInit") - logger.Info("version %s (%s)", Version, Hash) + logger.Info("version: %s (%s)", Version, Hash) var err error if vesmgr.myIPAddress, err = getMyIP(); err != nil || vesmgr.myIPAddress == "" { - logger.Error("Cannot get myIPAddress: IP %s, err %s", vesmgr.myIPAddress, err.Error()) + logger.Error("Cannot get myIPAddress: IP %s", vesmgr.myIPAddress) panic("Cannot get my IP address") } @@ -138,7 +138,8 @@ func (vesmgr *VesMgr) Init(listenPort string) *VesMgr { vesmgr.httpServer.init(vesmgr.myIPAddress + ":" + listenPort) vesmgr.vesagent = makeRunner("ves-agent", "-i", os.Getenv("VESMGR_HB_INTERVAL"), "-m", os.Getenv("VESMGR_MEAS_INTERVAL"), "--Measurement.Prometheus.Address", - os.Getenv("VESMGR_PROMETHEUS_ADDR")) + os.Getenv("VESMGR_PROMETHEUS_ADDR"), "--AlertManager.Bind", os.Getenv("VESMGR_ALERTMANAGER_BIND_ADDR"), + "--Debug") return vesmgr } @@ -186,9 +187,15 @@ func queryXAppsConfig(appmgrURL string, timeout time.Duration) ([]byte, error) { return emptyConfig, errors.New(resp.Status) } -func queryConf() ([]byte, error) { - return queryXAppsConfig("http://"+appmgrDomain+":"+appmgrPort+appmgrXAppConfigPath, - 10*time.Second) +func queryConf() (appConfig []byte, err error) { + for i := 0; i < 10; i++ { + appConfig, err = queryXAppsConfig("http://"+appmgrDomain+":"+appmgrPort+appmgrXAppConfigPath, 10*time.Second) + if len(appConfig) > 0 { + break + } + time.Sleep(5 * time.Second) + } + return appConfig, err } func (vesmgr *VesMgr) emptyNotificationsChannel() { @@ -249,11 +256,17 @@ func (vesmgr *VesMgr) waitSubscriptionLoop() { // Run the vesmgr process main loop func (vesmgr *VesMgr) Run() { logger.Info("vesmgr main loop ready") + vesmgr.httpServer.start(vesmgrXappNotifPath, vesmgr.chXAppNotifications, vesmgr.chSupervision) + vesmgr.subscribeXAppNotifications() + vesmgr.waitSubscriptionLoop() + xappConfig, _ := queryConf() + createConf(vespaConfigFile, xappConfig) + vesmgr.startVesagent() for { vesmgr.servRequest()