package main
import (
+ "fmt"
"os"
- "os/signal"
- "syscall"
+ "os/signal"
+ "syscall"
- "github.com/spf13/viper"
"gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
- "gerrit.oran-osc.org/r/ric-plt/o1mediator/pkg/sbi"
"gerrit.oran-osc.org/r/ric-plt/o1mediator/pkg/nbi"
+ "gerrit.oran-osc.org/r/ric-plt/o1mediator/pkg/sbi"
+ "github.com/spf13/viper"
)
+var Version string
+var Hash string
+var osExit = os.Exit
+
type O1Agent struct {
- rmrReady bool
- nbiClient *nbi.Nbi
- sigChan chan os.Signal
+ rmrReady bool
+ nbiClient *nbi.Nbi
+ sigChan chan os.Signal
}
func (o O1Agent) Consume(rp *xapp.RMRParams) (err error) {
}
func (o *O1Agent) Run() {
- xapp.Logger.SetMdc("o1agent", "0.3.1")
+ xapp.Logger.SetMdc("o1agent", fmt.Sprintf("%s:%s", Version, Hash))
xapp.SetReadyCB(func(d interface{}) { o.rmrReady = true }, true)
xapp.AddConfigChangeListener(o.ConfigChangeHandler)
xapp.Resource.InjectStatusCb(o.StatusCB)
func (o *O1Agent) Sighandler() {
xapp.Logger.Info("Signal handler installed!")
- <- o.sigChan
+ <-o.sigChan
o.nbiClient.Stop()
- os.Exit(1)
+ osExit(1)
}
func NewO1Agent() *O1Agent {
- host := viper.GetString("sbi.appmgrService")
- baseUrl := viper.GetString("sbi.baseUrl")
- prot := viper.GetString("sbi.proto")
+ appmgrAddr := viper.GetString("sbi.appmgrAddr")
+ alertmgrAddr := viper.GetString("sbi.alertmgrAddr")
timeout := viper.GetInt("sbi.timeout")
- sbiClient := sbi.NewSBIClient(host, baseUrl, []string{prot}, timeout)
+ sbiClient := sbi.NewSBIClient(appmgrAddr, alertmgrAddr, timeout)
return &O1Agent{
- rmrReady: false,
+ rmrReady: false,
nbiClient: nbi.NewNbi(sbiClient),
- sigChan: make(chan os.Signal, 1),
+ sigChan: make(chan os.Signal, 1),
}
}
xapp.Logger.Error("NBI initialization failed!")
return
}
-
+
o1Agent.Run()
}