cloud-barista / cb-spider

CB-Spider offers a unified view and interface for multi-cloud management.
https://github.com/cloud-barista/cb-spider/wiki
Apache License 2.0
32 stars 48 forks source link

[GCP] How can a user lookup a vm image which is not in the image list #1184

Open seokho-son opened 5 months ago

seokho-son commented 5 months ago

GCP에서 하기 딥러닝 관련 이미지를 활용하고 싶은데, 현재는 CB-SP를 통한 이미지 정보 조회에서 오류가 발생합니다.

이미지 조회시 오류: cp-asia-northeast2[Error from: http://localhost:1024/spider/vmimage/c1-deeplearning-tf-2-15-cu121-v20240417-debian-11] Status code: 500 Internal Server Error, Message: {"message":"ProjectId information not found in URL."} ProjectId information not found in URL.

해당 이미지는 CB-SP에서 리턴하는 GCP 이미지 리스트(8921개 중)에도 포함되어 있지 않습니다. 이 리스트에는 특정 패턴의 이미지만 포함되어 있는 것 같긴하네요. (이미지 아이디 패턴: https://www.googleapis.com/compute/v1/projects/windows-sql-cloud/global/images/sql-server-2014-standard-windows-server-2012-r2-dc-v20160520)

아마도, GCP 드라이버의 경우, 특정 패턴의 이미지 명칭만 수용하는 것으로 보이는데, 처리 방안을 문의 드립니다.

(참고: https://cloud.google.com/deep-learning-vm/docs/images?hl=ko)

seokho-son commented 5 months ago

GCP 콘솔에서는 해당 이미지를 활용한 VM 구동을 확인하였습니다.

powerkimhub commented 5 months ago

@MZC-CSC @CliffSynn @hippo-an (cc: @seokho-son )


[Image 목록 관련]



[제안]

powerkimhub commented 5 months ago

@seokho-son



[Image Name 형식]



seokho-son commented 5 months ago

@powerkimhub 확인 감사합니다.

https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/tf-2-15-cu121-v20240417-debian-11

https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/ 는 임의로 찾아서 붙여넣기 하면 되는 상황일까요? (tf-2-15-cu121-v20240417-debian-11 이미지 말고도 테스트해봐야 할 이미지가 더 있습니다.)

powerkimhub commented 5 months ago
hippo-an commented 5 months ago

안녕하세요. @powerkimhub

말씀하신 내용과 관련하여 image list 를 조회하기 위한 api 를 호출시 사용되는 image project id list 를 조회할 수 있는 api 를 찾아보았지만 찾지 못하였습니다. 지원하는 모든 image project id list 를 확인할 수 있는 문서도 찾지 못했습니다. 일단 Google Cloud Support 에 문의를 남겨두었습니다.

문의에 대한 답변이 오면 답변 남겨드리도록 하겠습니다.


드라이버 내 image project id list 를 업데이트를 하는 방식에 대해서 조사한 내용에 대해 공유드리겠습니다.

image project id 리스트업을 위한 레퍼런스는 다음과 같습니다.


다음 단계를 따라서 image project id 리스트를 추출했습니다.

  1. 각 레퍼런스에서 추출 가능한 image project id 를 리스트업
  2. 중복 제거 및 모든 리스트를 순회하여 gcloud command 호출
  3. 지원하지 않거나 에러를 발생하는 image project id 를 제거

참고로 호출한 gcloud command 는 다음과 같습니다.

    gcloud compute images list --project "${item}" --no-standard-images

추출된 image project id list 는 다음과 같습니다.

## 기존 spider list 에 존재하는 목록
gce-uefi-images

centos-cloud
cos-cloud
coreos-cloud
debian-cloud
rhel-cloud
rhel-sap-cloud
suse-cloud
suse-sap-cloud
ubuntu-os-cloud
windows-cloud
windows-sql-cloud

## 추가 가능한 항목
almalinux-cloud
cloud-hpc-image-public
deeplearning-platform-release
fedora-cloud
fedora-coreos-cloud
freebsd-org-cloud-dev
ml-images
opensuse-cloud
rocky-linux-cloud
ubuntu-os-pro-cloud
suse-byos-cloud

powerkimhub commented 4 months ago

@hippo-an

hippo-an commented 3 months ago

@powerkimhub 안녕하세요. 로컬에서 해당 리스트 반영 및 api 점검 결과 입니다.

참고 - image 조회에서 사용되는 project id 란 Public Image 가 속한 Image Family 의 개념입니다.

ListImage() ([]*ImageInfo, error)


GetImage(imageIID IID) (ImageInfo, error), CheckWindowsImage(imageIID IID) (bool, error)

리스트 추가는 바로 반영 가능하나, 사용 측면에서 고려가 필요해 보입니다.