[SEBA-884] read config from file
Change-Id: I09c24f5c9504a51d804e68a99a2ac3a02d730573
diff --git a/cmd/bbr/bbr.go b/cmd/bbr/bbr.go
index 7d01417..6ffcce6 100644
--- a/cmd/bbr/bbr.go
+++ b/cmd/bbr/bbr.go
@@ -36,7 +36,7 @@
func main() {
options := common.GetBBROpts()
- common.SetLogLevel(log.StandardLogger(), options.LogLevel, options.LogCaller)
+ common.SetLogLevel(log.StandardLogger(), options.BBR.LogLevel, options.BBR.LogCaller)
if options.LogFile != "" {
file, err := os.OpenFile(options.LogFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
@@ -47,10 +47,10 @@
}
}
- if *options.ProfileCpu != "" {
+ if *options.BBSim.CpuProfile != "" {
// start profiling
- log.Infof("Creating profile file at: %s", *options.ProfileCpu)
- f, err := os.Create(*options.ProfileCpu)
+ log.Infof("Creating profile file at: %s", *options.BBSim.CpuProfile)
+ f, err := os.Create(*options.BBSim.CpuProfile)
if err != nil {
log.Fatal(err)
}
@@ -58,22 +58,22 @@
}
log.WithFields(log.Fields{
- "OltID": options.OltID,
- "NumNniPerOlt": options.NumNniPerOlt,
- "NumPonPerOlt": options.NumPonPerOlt,
- "NumOnuPerPon": options.NumOnuPerPon,
+ "OltID": options.Olt.ID,
+ "NumNniPerOlt": options.Olt.NniPorts,
+ "NumPonPerOlt": options.Olt.PonPorts,
+ "NumOnuPerPon": options.Olt.OnusPonPort,
"BBSimIp": options.BBSimIp,
"BBSimPort": options.BBSimPort,
}).Info("BroadBand Reflector is on")
// create the OLT device
olt := devices.CreateOLT(
- options.OltID,
- options.NumNniPerOlt,
- options.NumPonPerOlt,
- options.NumOnuPerPon,
- options.STag,
- options.CTagInit,
+ options.Olt.ID,
+ int(options.Olt.NniPorts),
+ int(options.Olt.PonPorts),
+ int(options.Olt.OnusPonPort),
+ options.BBSim.STag,
+ options.BBSim.CTagInit,
true, // this parameter is not important in the BBR Case
true, // this parameter is not important in the BBR Case
0, // this parameter does not matter in the BBR case
@@ -81,7 +81,7 @@
)
oltMock := bbrdevices.OltMock{
Olt: olt,
- TargetOnus: options.NumPonPerOlt * options.NumOnuPerPon,
+ TargetOnus: int(options.Olt.PonPorts * options.Olt.OnusPonPort),
CompletedOnus: 0,
BBSimIp: options.BBSimIp,
BBSimPort: options.BBSimPort,
diff --git a/cmd/bbsim/bbsim.go b/cmd/bbsim/bbsim.go
index 23221c6..52d5772 100644
--- a/cmd/bbsim/bbsim.go
+++ b/cmd/bbsim/bbsim.go
@@ -38,8 +38,7 @@
)
func startApiServer(apiDoneChannel chan bool, group *sync.WaitGroup) {
- // TODO make configurable
- address := "0.0.0.0:50070"
+ address := common.Options.BBSim.ApiAddress
log.Debugf("APIServer listening on: %v", address)
lis, err := net.Listen("tcp", address)
if err != nil {
@@ -69,8 +68,7 @@
ctx, cancel := context.WithCancel(ctx)
defer cancel()
- // TODO make configurable
- address := "0.0.0.0:50071"
+ address := common.Options.BBSim.RestApiAddress
mux := runtime.NewServeMux()
opts := []grpc.DialOption{grpc.WithInsecure()}
@@ -101,9 +99,8 @@
// This server aims to provide compatibility with the previous BBSim version. It is deprecated and will be removed in the future.
func startLegacyApiServer(apiDoneChannel chan bool, group *sync.WaitGroup) {
- // TODO make configurable
- grpcAddress := "0.0.0.0:50072"
- restAddress := "0.0.0.0:50073"
+ grpcAddress := common.Options.BBSim.LegacyApiAddress
+ restAddress := common.Options.BBSim.LegacyRestApiAddress
log.Debugf("Legacy APIServer listening on: %v", grpcAddress)
listener, err := net.Listen("tcp", grpcAddress)
@@ -131,14 +128,16 @@
}
func main() {
+
options := common.GetBBSimOpts()
- common.SetLogLevel(log.StandardLogger(), options.LogLevel, options.LogCaller)
+ common.SetLogLevel(log.StandardLogger(), options.BBSim.LogLevel, options.BBSim.LogCaller)
+ log.Tracef("BBSim options: %+v", options)
- if *options.ProfileCpu != "" {
+ if *options.BBSim.CpuProfile != "" {
// start profiling
- log.Infof("Creating profile file at: %s", *options.ProfileCpu)
- f, err := os.Create(*options.ProfileCpu)
+ log.Infof("Creating profile file at: %s", *options.BBSim.CpuProfile)
+ f, err := os.Create(*options.BBSim.CpuProfile)
if err != nil {
log.Fatal(err)
}
@@ -146,33 +145,33 @@
}
log.WithFields(log.Fields{
- "OltID": options.OltID,
- "NumNniPerOlt": options.NumNniPerOlt,
- "NumPonPerOlt": options.NumPonPerOlt,
- "NumOnuPerPon": options.NumOnuPerPon,
- "TotalOnus": options.NumPonPerOlt * options.NumOnuPerPon,
- "Auth": options.Auth,
- "Dhcp": options.Dhcp,
- "Delay": options.Delay,
+ "OltID": options.Olt.ID,
+ "NumNniPerOlt": options.Olt.NniPorts,
+ "NumPonPerOlt": options.Olt.PonPorts,
+ "NumOnuPerPon": options.Olt.OnusPonPort,
+ "TotalOnus": options.Olt.PonPorts * options.Olt.OnusPonPort,
+ "EnableAuth": options.BBSim.EnableAuth,
+ "Dhcp": options.BBSim.EnableDhcp,
+ "Delay": options.BBSim.Delay,
}).Info("BroadBand Simulator is on")
// control channels, they are only closed when the goroutine needs to be terminated
apiDoneChannel := make(chan bool)
devices.CreateOLT(
- options.OltID,
- options.NumNniPerOlt,
- options.NumPonPerOlt,
- options.NumOnuPerPon,
- options.STag,
- options.CTagInit,
- options.Auth,
- options.Dhcp,
- options.Delay,
+ options.Olt.ID,
+ int(options.Olt.NniPorts),
+ int(options.Olt.PonPorts),
+ int(options.Olt.OnusPonPort),
+ options.BBSim.STag,
+ options.BBSim.CTagInit,
+ options.BBSim.EnableAuth,
+ options.BBSim.EnableDhcp,
+ options.BBSim.Delay,
false,
)
- log.Debugf("Created OLT with id: %d", options.OltID)
+ log.Debugf("Created OLT with id: %d", options.Olt.ID)
sigs := make(chan os.Signal, 1)
// stop API servers on SIGTERM
@@ -194,7 +193,7 @@
defer func() {
log.Info("BroadBand Simulator is off")
- if *options.ProfileCpu != "" {
+ if *options.BBSim.CpuProfile != "" {
log.Info("Stopping profiler")
pprof.StopCPUProfile()
}