Closed sykim-etri closed 1 month ago
@sykim-etri 다른 리전의 값이라고 말씀하신 값이 어느 항목에 대한것일까요? assets 에 있는 내용과 다른 값이 나오고 있나요? 아니면 assets 상에 정보가 잘못기입되어 있나요?
@seokho-son
azure-westus2에 대한 ConnConfig.RegionDetail 값이 {westus westus West US {West US 37.783 -122.417} []}
와 같이 westus의 값으로 저장되어 있습니다.
assets/cloudinfo.yaml의 westus2 항목 값에는 이상이 없었습니다.
ConnConfig.RegionDetail 값을 설정할 때 먼가 오류가 있는 것이 아닐까 하고 추측하고 있는데, 관련 코드를 바로 찾을 수 없었습니다.--;
아래 코드로 인해 버그가 발생하는 것으로 파악되었습니다. HasPrefix()를 사용하신 의도가 있으실 것 같아서.. 수정 방안에 대한 의견 부탁드립니다. @seokho-son
for key, regionDetail := range cspDetail.Regions {
if strings.HasPrefix(RegionName, key) {
log.Info().Msgf("RegionName: %s, key: %s, regionDetail: %v\n", RegionName, key, regionDetail)
return regionDetail, nil
}
}
* 출력 로그
7:11PM INF core/common/utility.go:1034 > RegionName: westus2, key: westus, regionDetail: {westus westus West US {West US 37.783 -122.417} []} 2
@sykim-etri 오류 발생 지점이 맞는 것 같습니다. 기존에 비교시 HasPrefix를 사용한 이유가 있으나, 리전 관련된 코드들(변수 명칭 등)이 여러 기능과 다소 복잡하게 꼬여 있어서, 추가적으로 살펴보고 다시 정정하도록 하겠습니다. ^^
@sykim-etri 해당 비교 구분 수정시에도 내부 동작에 큰 영향이 없는 것을 확인하고~ 수정 완료하였습니다. 다시 확인 부탁드립니다.
azure-westus2에 대해 GetConnConfig()를 통해 얻은 값을 출력했을 때 아래와 같이 ConnConfig.RegionDetail에 다른 리전(westus)의 값을 포함하고 있는 것으로 추정됩니다.