blob: b36d7c1ca610c387b6e7e977ae691d94b65b6a5c [file] [log] [blame] [edit]
{
"Name": "gpu-vm-workflow",
"Vars": {
"cloud_config_data": {
"Required": true,
"Description": "Configuration data for the cloud environment to use for the test."
},
"build_gcr": {
"Required": true,
"Description": "container image gcr location"
},
"container_image_tag": {
"Required": true,
"Description": "The tag of the container image."
},
"vm_name": {
"Required": true,
"Description": "The name of the virtual machine instance."
},
"vm_project": {
"Required": true,
"Description": "The project ID where the VM will be created."
},
"machine_type": {
"Required": true,
"Description": "Specifies the machine type."
},
"accelerator_type": {
"Required": true,
"Description": "The resource name of the GPU accelerator. List of supported accelerators [here](https:\/\/cloud.google.com\/compute\/docs\/gpus)"
},
"image_project": {
"Required": true,
"Description": "The project ID for the VM image."
},
"image_family": {
"Required": true,
"Description": "The image family for the VM image."
},
"daisy_gcs_bucket": {
"Required": true,
"Description": "Daisy bucket to be used for the test"
}
},
"Sources": {
"${vm_name}_cloud-config": "${cloud_config_data}"
},
"GCSPath": "gs://${daisy_gcs_bucket}/",
"Steps": {
"create-gpu-vm": {
"CreateInstances": [
{
"Name": "${vm_name}",
"Disks": [
{
"InitializeParams": {
"SourceImage": "projects/${image_project}/global/images/family/${image_family}",
"diskSizeGb": "50"
}
}
],
"Metadata": {
"build-gcr": "${build_gcr}",
"tag": "${container_image_tag}",
"user-data": "${SOURCE:${vm_name}_cloud-config}",
"block-project-ssh-keys": "TRUE",
"cos-update-strategy": "update_disabled",
"google-logging-enabled": "false"
},
"guestAccelerators": [
{
"acceleratorCount": 1,
"acceleratorType": "${accelerator_type}"
}
],
"Project": "${vm_project}",
"machineType": "${machine_type}",
"scheduling": {
"onHostMaintenance": "TERMINATE"
}
}
],
"Timeout": "20m"
},
"wait-for-instance": {
"WaitForInstancesSignal": [
{
"Name": "${vm_name}",
"SerialOutput": {
"Port": 1,
"SuccessMatch": "TestPass:",
"FailureMatch": "TestFail:",
"StatusMatch": "TestStatus:"
}
}
],
"Timeout": "20m"
},
"delete-instance": {
"DeleteResources": {
"Instances":["${vm_name}"]
}
}
},
"Dependencies": {
"wait-for-instance": [
"create-gpu-vm"
],
"delete-instance": ["wait-for-instance"]
}
}