From fbdde668094202d97518569f32c38fe37480956e Mon Sep 17 00:00:00 2001 From: gatici Date: Tue, 22 Oct 2024 23:49:33 +0300 Subject: [PATCH] fix: rename and organize a method Signed-off-by: gatici --- factory/factory.go | 42 ++++++++++++++++++++++-------------------- go.mod | 2 +- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/factory/factory.go b/factory/factory.go index 4f9711b..a075e60 100644 --- a/factory/factory.go +++ b/factory/factory.go @@ -19,6 +19,7 @@ import ( protos "github.com/omec-project/config5g/proto/sdcoreConfig" "github.com/omec-project/udr/logger" "go.uber.org/zap" + "google.golang.org/grpc/connectivity" "gopkg.in/yaml.v2" ) @@ -69,7 +70,7 @@ func InitConfigFactory(f string) error { initLog.Infoln("MANAGED_BY_CONFIG_POD is true") client, err := grpcClient.ConnectToConfigServer(UdrConfig.Configuration.WebuiUri) if err != nil { - go updateConfig(client) + go manageGrpcClient(client) } return err } else { @@ -83,9 +84,9 @@ func InitConfigFactory(f string) error { return nil } -// updateConfig connects the config pod GRPC server and subscribes the config changes +// manageGrpcClient connects the config pod GRPC server and subscribes the config changes // then updates UDR configuration -func updateConfig(client grpcClient.ConfClient) { +func manageGrpcClient(client grpcClient.ConfClient) { var stream protos.ConfigService_NetworkSliceSubscribeClient var err error var configChannel chan *protos.NetworkSliceResponse @@ -93,30 +94,31 @@ func updateConfig(client grpcClient.ConfClient) { if client != nil { stream, err = client.CheckGrpcConnectivity() if err != nil { - initLog.Errorf("%v", err) - if stream != nil { - time.Sleep(time.Second * 30) - continue - } else { - err = client.GetConfigClientConn().Close() - if err != nil { - initLog.Debugf("failing ConfigClient is not closed properly: %+v", err) - } - client = nil - continue + logger.InitLog.Errorf("%v", err) + } + if stream == nil { + time.Sleep(time.Second * 30) + continue + } + if client.GetConfigClientConn().GetState() != connectivity.Ready { + err = client.GetConfigClientConn().Close() + if err != nil { + logger.InitLog.Debugf("failing ConfigClient is not closed properly: %+v", err) } + client = nil + continue } if configChannel == nil { configChannel = client.PublishOnConfigChange(true, stream) ConfigUpdateDbTrigger = make(chan *UpdateDb, 10) go UdrConfig.updateConfig(configChannel, ConfigUpdateDbTrigger) + } else { + client, err = grpcClient.ConnectToConfigServer(UdrConfig.Configuration.WebuiUri) + if err != nil { + logger.InitLog.Errorf("%+v", err) + } + continue } - } else { - client, err = grpcClient.ConnectToConfigServer(UdrConfig.Configuration.WebuiUri) - if err != nil { - initLog.Errorf("%+v", err) - } - continue } } } diff --git a/go.mod b/go.mod index 1ae710b..5d23aac 100644 --- a/go.mod +++ b/go.mod @@ -15,6 +15,7 @@ require ( github.com/urfave/cli v1.22.16 go.mongodb.org/mongo-driver v1.17.1 go.uber.org/zap v1.27.0 + google.golang.org/grpc v1.67.1 gopkg.in/yaml.v2 v2.4.0 ) @@ -69,7 +70,6 @@ require ( golang.org/x/sys v0.26.0 // indirect golang.org/x/text v0.19.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect - google.golang.org/grpc v1.67.1 // indirect google.golang.org/protobuf v1.35.1 // indirect gopkg.in/h2non/gock.v1 v1.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect