Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[+Price] Alibaba Cloud Driver Implementation #971 #1006

Merged

Conversation

raccoon-mh
Copy link
Member

Alibaba 드라이버 특이사항

  • 현재 Payasyougo 만 구현되어 있음
    • Subscription 관련하여 금주내로 개발 예정 (24.01.11 기준)
      • 호출방법이 상이함

ListProductFamily

  • 별도 컴퓨팅 인프라 환경만 쿼리할 수 있는 API 제공하지 않음 → 하드코딩

    familyList := []string{
    		"ecs",
    	}
  • 커먼핸들러에 전체 서비스 쿼리 이동

GetPriceInfo

  • QueryProductList를 통해 컴퓨팅 인프라에서 사용할 수 있는 SubscriptionType 쿼리
    • ProductType이 필수 옵션은 아님, 일부 필요할 수 있는 별도 서비스를 위해 구현
  • DescribePricingModule을 통해 사용가능한 인스턴스 목록 반환
    • InstanceType 키의 존재를 확인하고 Attr 에서 가용한 config 쿼리
    • 하지만, Alibaba 에서 특정 몇개의 인스턴스에 대해 500에러 반환 → 쿼타 제한 아님
  • DescribeInstanceTypes을 통해 각 인스턴스에 대한 Spec ingo 반환
    • ProductId를 포함한 OperatingSystem, PreInstalledSw 등 제공하지 않는 부분 다수. → NA로 표기

Alibaba Driver Specifics

  • Currently, only Payasyougo is implemented.
    • Subscription-related development is scheduled for this week (as of 24.01.11).
      • The invocation method differs.

ListProductFamily

  • No API is provided to query a separate computing infrastructure environment → hardcoded

    goCopy code
    familyList := []string{
    		"ecs",
    	}
  • Move to the common handler for querying the entire service.

GetPriceInfo

  • Query SubscriptionType available in the computing infrastructure through QueryProductList.
    • ProductType is not a mandatory option, implemented for some separate services that may be required.
  • Return the list of available instances through DescribePricingModule.
    • Confirm the presence of the InstanceType key and query the available config in Attr.
    • However, Alibaba returns a 500 error for specific instances, not related to quota limitations.
  • Return Spec info for each instance through DescribeInstanceTypes.
    • Many details are not provided, including OperatingSystem, PreInstalledSw, etc., with ProductId → Represented as NA.

@powerkimhub powerkimhub self-requested a review January 11, 2024 01:57
@raccoon-mh
Copy link
Member Author

  • 빌드 오류 확인했습니다.
  • 수정해서 다시 PR 드리겠습니다.

@raccoon-mh
Copy link
Member Author

  • 빌드 오류 확인했습니다.
  • 수정해서 다시 PR 드리겠습니다.

수정했습니다.

@powerkimhub
Copy link
Member

@raccoon-mh

  • 다음 오류는 무시해도 되는 오류인지 좀 더 확인 후 의견 부탁드립니다.
  • DescribePricingModule을 통해 사용가능한 인스턴스 목록 반환
    • InstanceType 키의 존재를 확인하고 Attr 에서 가용한 config 쿼리
    • 하지만, Alibaba 에서 특정 몇개의 인스턴스에 대해 500에러 반환 → 쿼타 제한 아님

@raccoon-mh
Copy link
Member Author

@raccoon-mh

  • 다음 오류는 무시해도 되는 오류인지 좀 더 확인 후 의견 부탁드립니다.
  • DescribePricingModule을 통해 사용가능한 인스턴스 목록 반환

    • InstanceType 키의 존재를 확인하고 Attr 에서 가용한 config 쿼리
    • 하지만, Alibaba 에서 특정 몇개의 인스턴스에 대해 500에러 반환 → 쿼타 제한 아님
  • 위 500 에러는 일부 제공되는 인스턴스 속성에 대해 쿼리하였을때 반환 정보에 대해서 Alibaba API가 정상적인 결과를 주지 않아 발생하는 오류 입니다.

  • 정확한 에러에 대한 사유 없이 500 에러 반환하여 우선 우회 하도록 구현하였습니다.

  • 또한 해당 인스턴스 속성값을 제공하지만, 정작 실제 인스턴스 배포시 찾을 수 없는 값으로

  • 속성값 반환하는 Alibaba API 문제로 추정됩니다.

  • 해당 오류나는 인스턴스 속성에 대하여 메타인포 구조에 추가 정보가 필요할까요?

  • 정확한 인스턴스 제공 종료 여부와 리전별 제공여부도 확인해봤지만,

  • 모든 리전에서 동일한 결과 값 주고 있습니다.

@powerkimhub
Copy link
Member

@raccoon-mh

  • 다음 오류는 무시해도 되는 오류인지 좀 더 확인 후 의견 부탁드립니다.
  • DescribePricingModule을 통해 사용가능한 인스턴스 목록 반환

    • InstanceType 키의 존재를 확인하고 Attr 에서 가용한 config 쿼리
    • 하지만, Alibaba 에서 특정 몇개의 인스턴스에 대해 500에러 반환 → 쿼타 제한 아님
  • 위 500 에러는 일부 제공되는 인스턴스 속성에 대해 쿼리하였을때 반환 정보에 대해서 Alibaba API가 정상적인 결과를 주지 않아 발생하는 오류 입니다.
  • 정확한 에러에 대한 사유 없이 500 에러 반환하여 우선 우회 하도록 구현하였습니다.
  • 또한 해당 인스턴스 속성값을 제공하지만, 정작 실제 인스턴스 배포시 찾을 수 없는 값으로
  • 속성값 반환하는 Alibaba API 문제로 추정됩니다.
  • 해당 오류나는 인스턴스 속성에 대하여 메타인포 구조에 추가 정보가 필요할까요?
  • 정확한 인스턴스 제공 종료 여부와 리전별 제공여부도 확인해봤지만,
  • 모든 리전에서 동일한 결과 값 주고 있습니다.

  • 확인 감사드립니다.
  • 모든 리전에서 동일한 결과라고 하니, 일단 현재대로 진행해도 좋을 것 같습니다.

@powerkimhub powerkimhub linked an issue Jan 11, 2024 that may be closed by this pull request
@powerkimhub powerkimhub merged commit 709fcaa into cloud-barista:master Jan 11, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[+Price] Alibaba Cloud Driver Implementation
4 participants