X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fconfiguration%2Fconfiguration.go;h=4e8883edec1cca241c89e982e8dffc4d96e4e966;hb=a1b1a899ec6ff0c97726a5e64a1ec584e687e6b2;hp=d37c4975445e937d75400d342152b63b743e27d8;hpb=efcb4528362460aa2249d319c9752b63bb720fe2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/configuration/configuration.go b/E2Manager/configuration/configuration.go index d37c497..4e8883e 100644 --- a/E2Manager/configuration/configuration.go +++ b/E2Manager/configuration/configuration.go @@ -17,7 +17,6 @@ // This source code is part of the near-RT RIC (RAN Intelligent Controller) // platform project (RICP). - package configuration import ( @@ -37,15 +36,23 @@ type Configuration struct { MaxMsgSize int } RoutingManager struct { - BaseUrl string + BaseUrl string + } + Kubernetes struct { + ConfigPath string + KubeNamespace string } NotificationResponseBuffer int BigRedButtonTimeoutSec int - MaxConnectionAttempts int MaxRnibConnectionAttempts int RnibRetryIntervalMs int - KeepAliveResponseTimeoutMs int + KeepAliveResponseTimeoutMs int KeepAliveDelayMs int + E2TInstanceDeletionTimeoutMs int + GlobalRicId struct { + PlmnId string + RicNearRtId string + } } func ParseConfiguration() *Configuration { @@ -65,13 +72,15 @@ func ParseConfiguration() *Configuration { config.populateHttpConfig(viper.Sub("http")) config.populateLoggingConfig(viper.Sub("logging")) config.populateRoutingManagerConfig(viper.Sub("routingManager")) + config.populateKubernetesConfig(viper.Sub("kubernetes")) config.NotificationResponseBuffer = viper.GetInt("notificationResponseBuffer") config.BigRedButtonTimeoutSec = viper.GetInt("bigRedButtonTimeoutSec") - config.MaxConnectionAttempts = viper.GetInt("maxConnectionAttempts") config.MaxRnibConnectionAttempts = viper.GetInt("maxRnibConnectionAttempts") config.RnibRetryIntervalMs = viper.GetInt("rnibRetryIntervalMs") config.KeepAliveResponseTimeoutMs = viper.GetInt("keepAliveResponseTimeoutMs") config.KeepAliveDelayMs = viper.GetInt("KeepAliveDelayMs") + config.E2TInstanceDeletionTimeoutMs = viper.GetInt("e2tInstanceDeletionTimeoutMs") + config.populateGlobalRicIdConfig(viper.Sub("globalRicId")) return &config } @@ -103,3 +112,43 @@ func (c *Configuration) populateRoutingManagerConfig(rmConfig *viper.Viper) { } c.RoutingManager.BaseUrl = rmConfig.GetString("baseUrl") } + +func (c *Configuration) populateKubernetesConfig(rmConfig *viper.Viper) { + if rmConfig == nil { + panic(fmt.Sprintf("#configuration.populateKubernetesConfig - failed to populate Kubernetes configuration: The entry 'kubernetes' not found\n")) + } + c.Kubernetes.ConfigPath = rmConfig.GetString("configPath") + c.Kubernetes.KubeNamespace = rmConfig.GetString("kubeNamespace") +} + +func (c *Configuration) populateGlobalRicIdConfig(globalRicIdConfig *viper.Viper) { + if globalRicIdConfig == nil { + panic(fmt.Sprintf("#configuration.populateGlobalRicIdConfig - failed to populate Global RicId configuration: The entry 'globalRicId' not found\n")) + } + c.GlobalRicId.PlmnId = globalRicIdConfig.GetString("plmnId") + c.GlobalRicId.RicNearRtId = globalRicIdConfig.GetString("ricNearRtId") +} + +func (c *Configuration) String() string { + return fmt.Sprintf("{logging.logLevel: %s, http.port: %d, rmr: { port: %d, maxMsgSize: %d}, routingManager.baseUrl: %s, "+ + "notificationResponseBuffer: %d, bigRedButtonTimeoutSec: %d, maxRnibConnectionAttempts: %d, "+ + "rnibRetryIntervalMs: %d, keepAliveResponseTimeoutMs: %d, keepAliveDelayMs: %d, e2tInstanceDeletionTimeoutMs: %d, "+ + "globalRicId: { plmnId: %s, ricNearRtId: %s, kubernetes: {configPath: %s, kubeNamespace: %s}}", + c.Logging.LogLevel, + c.Http.Port, + c.Rmr.Port, + c.Rmr.MaxMsgSize, + c.RoutingManager.BaseUrl, + c.NotificationResponseBuffer, + c.BigRedButtonTimeoutSec, + c.MaxRnibConnectionAttempts, + c.RnibRetryIntervalMs, + c.KeepAliveResponseTimeoutMs, + c.KeepAliveDelayMs, + c.E2TInstanceDeletionTimeoutMs, + c.GlobalRicId.PlmnId, + c.GlobalRicId.RicNearRtId, + c.Kubernetes.ConfigPath, + c.Kubernetes.KubeNamespace, + ) +}