X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fvesmgr%2Fvesmgr.go;h=508609849afb822e9ccf16166b1fca8448c5748b;hb=280b4eb6efbe989f79ee5bf816b9fb970d5121e9;hp=e29230709c473161b2ec2ce79b4ce97700be9e93;hpb=cbfed3ce369167cbe07db1486deec5505289932a;p=ric-plt%2Fvespamgr.git diff --git a/cmd/vesmgr/vesmgr.go b/cmd/vesmgr/vesmgr.go index e292307..5086098 100755 --- a/cmd/vesmgr/vesmgr.go +++ b/cmd/vesmgr/vesmgr.go @@ -23,6 +23,7 @@ package main import ( "errors" + "fmt" "io/ioutil" "net" "net/http" @@ -125,7 +126,11 @@ func (vesmgr *VesMgr) Init(listenPort string) *VesMgr { if ok { logger.Info("Using appmgrdomain %s", appmgrDomain) } else { - appmgrDomain = "service-ricplt-appmgr-http.ricplt.svc.cluster.local" + pltnamespace := os.Getenv("PLT_NAMESPACE") + if pltnamespace == "" { + pltnamespace = "ricplt" + } + appmgrDomain = fmt.Sprintf("service-%s-appmgr-http.%s.svc.cluster.local", pltnamespace, pltnamespace) logger.Info("Using default appmgrdomain %s", appmgrDomain) } vesmgr.chXAppSubscriptions = make(chan subscriptionNotification) @@ -187,9 +192,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() { @@ -250,11 +261,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()