TB -> DF gRPC 호출 시, DF endpoint 설정 방법 관련 #671
jihoon-seo
started this conversation in
General
Replies: 1 comment 2 replies
-
@jihoon-seo |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
@powerkimhub @jmleefree 한번 검토 부탁드립니다 😊
[현황: TB -> SP gRPC 호출 시, DF endpoint 설정 방법]
cb-tumblebug/conf/grpc_conf.yaml
에 다음과 같이 기재되어 있습니다.즉,
cb-tumblebug/conf/grpc_conf.yaml
에grpc.spidercli.server_addr: 127.0.0.1:2048
이라고 기재합니다.err := ccm.SetConfigPath(os.Getenv("CBTUMBLEBUG_ROOT") + "/conf/grpc_conf.yaml")
와 같이 호출하는데,이
SetConfigPath
함수는cb-spider/interface/api/ccm.go
에func (ccm *CCMApi) SetConfigPath(configFile string) error
함수가,cb-spider/interface/api/cim.go
에func (cim *CIMApi) SetConfigPath(configFile string) error
함수가 정의되어 있습니다.즉,
cb-tumblebug/conf/grpc_conf.yaml
에 기재된 내용이"CB-TB 바이너리 내의 CB-SP gRPC 클라이언트 부분"에 적용됩니다.
[DF 현황]
cloud-barista/cb-dragonfly#110 를 살펴 보면,
cb-dragonfly/pkg/config/grpc.go
에func loadGrpcConfigFromYAML(config *GrpcConfig)
가 있는데,이는 "DF 바이너리 내의 DF gRPC 서버"가 listen할 IP주소와 포트를 설정하는 함수입니다.
"CB-TB 바이너리 내의 CB-DF gRPC 클라이언트 부분"과는 관계가 없습니다.
cb-dragonfly/pkg/api/grpc/request/
에는위의 2번에서 소개한
SetConfigPath
와 같은 함수는 없는 것으로 보입니다.대신,
cb-dragonfly/pkg/api/grpc/request/monitoring_api.go
에func (monApi *MonitoringAPI) SetServerAddr(addr string) error
함수는 있습니다.이를 CB-TB 에서 사용한다면 다음과 같을 것입니다.
[As-is]
cb-tumblebug/src/core/mcis/monitor.go
Lines 111 to 112 in a24db83
[To-be]
[요약]
CB-Spider, CB-Tumblebug의 gRPC request (client) 관련 코드에는
grpc_conf.yaml
파일을 읽고 처리하는 부분이 있음.예를 들어,
cb-tumblebug/conf/grpc_conf.yaml
에 SP gRPC 클라이언트 환경설정 사항을 적어 놓고,CB-TB 바이너리를 실행하면, "CB-TB 코드에서 import하여 사용한 CB-SP gRPC 클라이언트 코드"에서
cb-tumblebug/conf/grpc_conf.yaml
를 처리함CB-Dragonfly의 gRPC request (client) 관련 코드에는 그러한 부분이 없음.
[안]
(-> SP, TB와의 일관성이 좋아집니다.)
cb-tumblebug/conf/grpc_conf.yaml
안의 값을 읽고,monApi.SetServerAddr()
를 호출한다.(-> SP, TB와의 일관성은 다소 떨어지게 됩니다.)
Beta Was this translation helpful? Give feedback.
All reactions