cb-spider icon indicating copy to clipboard operation
cb-spider copied to clipboard

"[KTCLOUDVPC:Subnet] Error with residual resources

Open powerkimhub opened this issue 10 months ago • 0 comments

[subnet이 생성되어 dangling 되는 경우가 있습니다.]

  • 예를 들면,
  • VPCHandler:AddSubnet()에서
  • (1) subnet을 생성하는 다음 코드 블록은 성공을 하여 CSP에 subnet이 생성이 되어 있습니다.
    • https://github.com/cloud-barista/cb-spider/blob/f7e1ab21082e40001346f20fa040ac0163738886/cloud-control-manager/cloud-driver/drivers/ktcloudvpc/resources/VPCHandler.go#L310
  • (2) AddSubnet() 함수 마지막 부분인 다음 코드 블록에서 VPC 정보를 얻기 위해서 다시 CSP를 API를 호출합니다.
    • https://github.com/cloud-barista/cb-spider/blob/f7e1ab21082e40001346f20fa040ac0163738886/cloud-control-manager/cloud-driver/drivers/ktcloudvpc/resources/VPCHandler.go#L310
    • KTVPC의 경우 network 정보 제공이 간혹 오류가 발생하고 있습니다.
  • (3) 에러가 발생하면, 서버에서는 AddSubnet() 함수가 에러를 반환함으로
    • subnet이 생성 실패 한 걸로 판단하고 메타DB에 추가하지 못하고 종료합니다.
  • (4) 결과적으로 CSP에 생성된 subnet이 관리되지 못하는 상태가 됩니다.

  • 가능하시면,
    • CSP를 두번 호출하기 보다는 (1)에서 CSP가 subnet 생성을 성공한 후 정상 반환한 정보를 활용하여 마무리 하는 부분 확인 부탁 드립니다.
  • 이 방법이 정보가 부족하여 불가능하다면,
    • (2)에서 에러가 발생했을 때는 드라이버에서는 CSP에 subnet 생성이 성공한 상태임을 알고 있으므로
    • 몇차례 GetVPC()를 재시도한 후 생성한 subnet을 삭제 처리하는 로직을 고려 부탁 드립니다.
  • VPC 정보 획득 부분이 불안하니 이와 같이 하나의 API 내부에서 생성 호출 -> 확인 호출 형태의 생성 API 부분 전반적인 검토 부탁드립니다.

powerkimhub avatar Apr 24 '24 08:04 powerkimhub