Open seokho-son opened 5 months ago
GCP 콘솔에서는 해당 이미지를 활용한 VM 구동을 확인하였습니다.
@MZC-CSC @CliffSynn @hippo-an (cc: @seokho-son )
[Image 목록 관련]
Image Project List
는 다음과 같습니다.
Image Project List
현황은 다음과 같습니다.
[제안]
Image Project List
를 API로 획득@seokho-son
deeplearning-vm
이 잘못 포함되어 제공Spider가 Image List로 제공하는
url 형식의 name을 사용해야 합니다.
curl -sX GET http://localhost:1024/spider/vmimage/https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/tf-2-15-cu121-v20240417-debian-11 -H 'Content-Type: application/json' -d '{"ConnectionName": "gcp-iowa-config"}' |json_pp
{
"GuestOS" : "tf-2-15-cu121-debian-11",
"IId" : {
"NameId" : "https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/tf-2-15-cu121-v20240417-debian-11",
"SystemId" : "https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/tf-2-15-cu121-v20240417-debian-11"
},
"KeyValueList" : [
{
"Key" : "Name",
"Value" : "tf-2-15-cu121-v20240417-debian-11"
},
{
"Key" : "SourceImage",
"Value" : ""
},
{
"Key" : "SourceType",
"Value" : "RAW"
},
{
"Key" : "SelfLink",
"Value" : "https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/tf-2-15-cu121-v20240417-debian-11"
},
{
"Key" : "Family",
"Value" : "tf-2-15-cu121-debian-11"
},
{
"Key" : "DiskSizeGb",
"Value" : "50"
}
],
"Status" : "READY"
}
curl -sX POST http://localhost:1024/spider/vm -H 'Content-Type: application/json' -d '{
"ConnectionName": "gcp-iowa-config",
"ReqInfo": {
"Name": "deeplearning-vm-test",
"ImageType": "PublicImage",
"ImageName": "https://www.googleapis.com/compute/v1/projects/deeplearning-platform-release/global/images/tf-2-15-cu121-v20240417-debian-11",
"VMSpecName": "a2-highgpu-1g",
"VPCName": "vpc-01",
"SubnetName": "subnet-01",
"SecurityGroupNames": ["sg-01"],
"RootDiskType": "default",
"DataDiskNames": [],
"KeyPairName": "keypair-01",
"VMUserId": "Administrator",
"VMUserPasswd": "cloudbarista123^"
}
}'
@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
말씀하신 내용과 관련하여 image list 를 조회하기 위한 api 를 호출시 사용되는 image project id list 를 조회할 수 있는 api 를 찾아보았지만 찾지 못하였습니다. 지원하는 모든 image project id list 를 확인할 수 있는 문서도 찾지 못했습니다. 일단 Google Cloud Support 에 문의를 남겨두었습니다.
문의에 대한 답변이 오면 답변 남겨드리도록 하겠습니다.
드라이버 내 image project id list 를 업데이트를 하는 방식에 대해서 조사한 내용에 대해 공유드리겠습니다.
image project id
리스트업을 위한 레퍼런스는 다음과 같습니다.
gcloud compute images list
다음 단계를 따라서 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
@hippo-an
추가 가능한 항목
반영 부탁 드립니다. ListImage() ([]*ImageInfo, error)
GetImage(imageIID IID) (ImageInfo, error)
CheckWindowsImage(imageIID IID) (bool, error)
@powerkimhub 안녕하세요. 로컬에서 해당 리스트 반영 및 api 점검 결과 입니다.
참고 - image 조회에서 사용되는
project id
란 Public Image 가 속한 Image Family 의 개념입니다.
zone: us-central1-a
기준 2만건이 넘으며GCP ImageHandler 에서 ImageList 를 조회 시
ImageInfo 라는 struct 의 ImageIID 에 속한 NameId 와 SystemId 를 응답값의 image selflink 로 설정하게 됩니다.
"ImageIId": {
"NameId": "https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-minimal-1804-bionic-v20191024",
"SystemId": "https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-minimal-1804-bionic-v20191024"
},
selflink 에 포함된 project id
(url 경로의 /projects 다음 인덱스로 위 예시의 경우 ubuntu-os-cloud입니다.) 와 image name
(예시의 경우 ubuntu-minimal-1804-bionic-v20191024) 은
GCP 의 이미지 단건 조회 시 반드시 필요한 값입니다.
적절한 format 으로 image IID 를 채우는 경우
오류 없이 이미지 정보 조회가 가능합니다.
추가적으로 GCP ImageHandler 내부의 두 메서드
FindImageInfoByName
과 FindImageInfo
에서도 Image project id list 를 사용하지만,
실제로는 해당 함수를 사용하는 곳은 테스트 코드에서만 사용하거나, 참조가 없는 것으로 확인했습니다.
리스트 추가는 바로 반영 가능하나, 사용 측면에서 고려가 필요해 보입니다.
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)