cloud-barista / cb-tumblebug

Cloud-Barista Multi-Cloud Infra Management Framework
Apache License 2.0
48 stars 51 forks source link

I got an error that "nativeRegion 'kr1-kr-pub-a' not found in Provider 'nhncloud'" #1835

Closed sykim-etri closed 5 days ago

sykim-etri commented 6 days ago

What happened ConnectionName: nhncloud-kr1-kr-pub-a 에 대해서 아래와 같은 에러가 발생합니다.

6:50PM ERR src/core/resource/vnet.go:109 > error="nativeRegion 'kr1-kr-pub-a' not found in Provider 'nhncloud'"
6:50PM ERR src/api/rest/server/resource/vnet.go:62 > error="nativeRegion 'kr1-kr-pub-a' not found in Provider 'nhncloud'"

Simple Analysis 간단히 분석해본 결과 Region 값을 가져오는 부분에 오류가 있는 것으로 보입니다.

https://github.com/cloud-barista/cb-tumblebug/blob/8590b0a9126a1101fe2743220c11b4636f79ff72/src/core/resource/vnet.go#L98-L101

Environment

seokho-son commented 5 days ago

@yunkon-kim 살펴봐주시겠어요? 참고로, 현재 ConnectionName은 csp-region-zone 의 패턴을 가질 수 있습니다. 예를들면, 1) csp-region2) csp-region-`zone 등의 패턴이 있을 수 있으며, 크리덴셜홀더의 명칭이 다른 경우에는 앞에 크리덴셜홀더 명칭까지 포함하게 됩니다. (참고: connection 관련 사항은 추후에 전반적 개선 예정 사항. connectionName 등으로 입력값을 받지 않게 하며, 명시적으로 지정할 수 있도록 지원 예정)

일단 현재 코드상 zone명칭이 포함된 요청을 받게 되면, 오류가 발생할 소지가 있네요. ^^

yunkon-kim commented 5 days ago

Connection name의 pattern 상 다음과 같이 수정되었습니다.

  1. aws-ap-northeast-2-ap-northeast-2aawsap-northeast-2-ap-northeast-2a 로 분리 (이를 regionZone 이라함)
  2. aws로 RegionDetail list 획득 (RegionDetail.name 활용됨)
  3. Region list를 돌면서, RegionDetail.name (ap-northeast-2)을 Prefix로 갖는 regionZone ap-northeast-2-ap-northeast-2a 이 있는지 탐색
    • 없을 시 Error
  4. 이후 Zone validation 수행

테스트 결과는 PR을 참고하시기 바랍니다.