skypilot-nightly 1.0.0.dev20250514__tar.gz → 1.0.0.dev20250515__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {skypilot_nightly-1.0.0.dev20250514/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250515}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/backend.py +3 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/backend_utils.py +19 -17
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/cloud_vm_ray_backend.py +30 -11
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/aws.py +11 -9
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/azure.py +16 -13
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/cloud.py +4 -3
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/cudo.py +3 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/do.py +3 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/fluidstack.py +3 -3
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/gcp.py +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/ibm.py +12 -10
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/kubernetes.py +3 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/lambda_cloud.py +6 -6
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/nebius.py +6 -5
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/oci.py +9 -7
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/paperspace.py +3 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/runpod.py +9 -9
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/scp.py +5 -3
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/vast.py +8 -7
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/vsphere.py +4 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/core.py +18 -12
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/404.html +1 -1
- skypilot_nightly-1.0.0.dev20250515/sky/dashboard/out/_next/static/chunks/pages/index-6b0d9e5031b70c58.js +1 -0
- {skypilot_nightly-1.0.0.dev20250514/sky/dashboard/out/_next/static/tdxxQrPV6NW90a983oHXe → skypilot_nightly-1.0.0.dev20250515/sky/dashboard/out/_next/static/jFI0Y-uJZ_XDK5IGJpKFU}/_buildManifest.js +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/clusters/[cluster].html +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/jobs/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/execution.py +33 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/global_user_state.py +2 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/recovery_strategy.py +4 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/server/core.py +6 -12
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/optimizer.py +19 -13
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/utils.py +26 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/resources.py +203 -44
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/server/core.py +0 -5
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/spot_placer.py +3 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/executor.py +114 -22
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/requests.py +15 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/server.py +63 -20
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/uvicorn.py +12 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/sky_logging.py +40 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/log_lib.py +60 -11
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/log_lib.pyi +5 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/task.py +8 -6
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/cli_utils/status_utils.py +6 -5
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/command_runner.py +3 -0
- skypilot_nightly-1.0.0.dev20250515/sky/utils/context.py +264 -0
- skypilot_nightly-1.0.0.dev20250515/sky/utils/context_utils.py +172 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/controller_utils.py +39 -43
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/dag_utils.py +4 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/resources_utils.py +3 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/rich_utils.py +81 -37
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/schemas.py +33 -24
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/subprocess_utils.py +8 -2
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515/skypilot_nightly.egg-info}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/skypilot_nightly.egg-info/SOURCES.txt +5 -3
- skypilot_nightly-1.0.0.dev20250514/sky/dashboard/out/_next/static/chunks/pages/index-f9f039532ca8cbc4.js +0 -1
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/benchmark/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/benchmark/benchmark_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/benchmark/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/client/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/236-f49500b82ad5392d.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/37-0a572fe0dbb89c4d.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/678-206dddca808e6d16.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/845-0ca6f2c1ba667c3b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/979-7bf73a4c7cea0f5c.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/_app-e6b013bc3f77ad60.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-e15db85d0ea1fbe1.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-f383db7389368ea7.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/clusters-a93b93e10b8b074e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-03f279c6741fb48b.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/pages/jobs-a75029b67aab6a2e.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/chunks/webpack-830f59b8404e96b8.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/_next/static/css/c6933bbb2ce7f4dd.css +0 -0
- {skypilot_nightly-1.0.0.dev20250514/sky/dashboard/out/_next/static/tdxxQrPV6NW90a983oHXe → skypilot_nightly-1.0.0.dev20250515/sky/dashboard/out/_next/static/jFI0Y-uJZ_XDK5IGJpKFU}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/dashboard/dashboard.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/dashboard/static/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/dashboard/templates/index.html +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/scheduler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/server/dashboard_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/nebius/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/payloads.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/preconditions.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/serializers/decoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/requests/serializers/encoders.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/providers/scp/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/annotations.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/tests/test_yaml_parser.py +0 -0
@@ -5,7 +5,7 @@ from typing import Optional
|
|
5
5
|
import urllib.request
|
6
6
|
|
7
7
|
# Replaced with the current commit when building the wheels.
|
8
|
-
_SKYPILOT_COMMIT_SHA = '
|
8
|
+
_SKYPILOT_COMMIT_SHA = 'c7068a2c749d03a06ecc8940d34a4911ac9391bc'
|
9
9
|
|
10
10
|
|
11
11
|
def _get_git_commit():
|
@@ -35,7 +35,7 @@ def _get_git_commit():
|
|
35
35
|
|
36
36
|
|
37
37
|
__commit__ = _get_git_commit()
|
38
|
-
__version__ = '1.0.0.
|
38
|
+
__version__ = '1.0.0.dev20250515'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/backends/backend.py
RENAMED
@@ -37,8 +37,9 @@ class Backend(Generic[_ResourceHandleType]):
|
|
37
37
|
ResourceHandle = ResourceHandle # pylint: disable=invalid-name
|
38
38
|
|
39
39
|
# --- APIs ---
|
40
|
-
def check_resources_fit_cluster(
|
41
|
-
|
40
|
+
def check_resources_fit_cluster(
|
41
|
+
self, handle: _ResourceHandleType,
|
42
|
+
task: 'task_lib.Task') -> Optional['resources.Resources']:
|
42
43
|
"""Check whether resources of the task are satisfied by cluster."""
|
43
44
|
raise NotImplementedError
|
44
45
|
|
@@ -40,6 +40,7 @@ from sky.utils import cluster_utils
|
|
40
40
|
from sky.utils import command_runner
|
41
41
|
from sky.utils import common
|
42
42
|
from sky.utils import common_utils
|
43
|
+
from sky.utils import context_utils
|
43
44
|
from sky.utils import controller_utils
|
44
45
|
from sky.utils import env_options
|
45
46
|
from sky.utils import registry
|
@@ -605,7 +606,7 @@ def write_cluster_config(
|
|
605
606
|
# other cases, we exclude the cloud from credential file uploads after
|
606
607
|
# running required checks.
|
607
608
|
assert cluster_name is not None
|
608
|
-
excluded_clouds = set()
|
609
|
+
excluded_clouds: Set[clouds.Cloud] = set()
|
609
610
|
remote_identity_config = skypilot_config.get_nested(
|
610
611
|
(str(cloud).lower(), 'remote_identity'), None)
|
611
612
|
remote_identity = schemas.get_default_remote_identity(str(cloud).lower())
|
@@ -1556,7 +1557,8 @@ def check_owner_identity(cluster_name: str) -> None:
|
|
1556
1557
|
if not isinstance(handle, backends.CloudVmRayResourceHandle):
|
1557
1558
|
return
|
1558
1559
|
|
1559
|
-
|
1560
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
1561
|
+
cloud = launched_resources.cloud
|
1560
1562
|
user_identities = cloud.get_user_identities()
|
1561
1563
|
owner_identity = record['owner']
|
1562
1564
|
if user_identities is None:
|
@@ -1720,12 +1722,12 @@ def check_can_clone_disk_and_override_task(
|
|
1720
1722
|
'a new target cluster name.')
|
1721
1723
|
|
1722
1724
|
new_task_resources = []
|
1723
|
-
|
1725
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
1726
|
+
original_cloud = launched_resources.cloud
|
1724
1727
|
original_cloud.check_features_are_supported(
|
1725
|
-
|
1728
|
+
launched_resources,
|
1726
1729
|
{clouds.CloudImplementationFeatures.CLONE_DISK_FROM_CLUSTER})
|
1727
1730
|
|
1728
|
-
assert original_cloud is not None, handle.launched_resources
|
1729
1731
|
has_override = False
|
1730
1732
|
has_disk_size_met = False
|
1731
1733
|
has_cloud_met = False
|
@@ -1739,7 +1741,7 @@ def check_can_clone_disk_and_override_task(
|
|
1739
1741
|
continue
|
1740
1742
|
has_cloud_met = True
|
1741
1743
|
|
1742
|
-
override_param = {}
|
1744
|
+
override_param: Dict[str, Any] = {}
|
1743
1745
|
if task_resources.cloud is None:
|
1744
1746
|
override_param['cloud'] = original_cloud
|
1745
1747
|
if task_resources.region is None:
|
@@ -1933,8 +1935,8 @@ def _update_cluster_status(cluster_name: str) -> Optional[Dict[str, Any]]:
|
|
1933
1935
|
return global_user_state.get_cluster_from_name(cluster_name)
|
1934
1936
|
|
1935
1937
|
# All cases below are transitioning the cluster to non-UP states.
|
1936
|
-
|
1937
|
-
if (not node_statuses and
|
1938
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
1939
|
+
if (not node_statuses and launched_resources.cloud.STATUS_VERSION >=
|
1938
1940
|
clouds.StatusVersion.SKYPILOT):
|
1939
1941
|
# Note: launched_at is set during sky launch, even on an existing
|
1940
1942
|
# cluster. This will catch the case where the cluster was terminated on
|
@@ -2204,6 +2206,7 @@ def refresh_cluster_record(
|
|
2204
2206
|
|
2205
2207
|
|
2206
2208
|
@timeline.event
|
2209
|
+
@context_utils.cancellation_guard
|
2207
2210
|
def refresh_cluster_status_handle(
|
2208
2211
|
cluster_name: str,
|
2209
2212
|
*,
|
@@ -2253,6 +2256,7 @@ def check_cluster_available(
|
|
2253
2256
|
...
|
2254
2257
|
|
2255
2258
|
|
2259
|
+
@context_utils.cancellation_guard
|
2256
2260
|
def check_cluster_available(
|
2257
2261
|
cluster_name: str,
|
2258
2262
|
*,
|
@@ -2467,7 +2471,7 @@ def is_controller_accessible(
|
|
2467
2471
|
need_connection_check):
|
2468
2472
|
# Check ssh connection if (1) controller is in INIT state, or (2) we failed to fetch the
|
2469
2473
|
# status, both of which can happen when controller's status lock is held by another `sky jobs launch` or
|
2470
|
-
# `sky serve up`. If we have
|
2474
|
+
# `sky serve up`. If we have controller's head_ip available and it is ssh-reachable,
|
2471
2475
|
# we can allow access to the controller.
|
2472
2476
|
ssh_credentials = ssh_credential_from_yaml(handle.cluster_yaml,
|
2473
2477
|
handle.docker_user,
|
@@ -2965,7 +2969,7 @@ def get_endpoints(cluster: str,
|
|
2965
2969
|
f'for cluster {cluster!r} with backend '
|
2966
2970
|
f'{get_backend_from_handle(handle).NAME}.')
|
2967
2971
|
|
2968
|
-
launched_resources = handle.launched_resources
|
2972
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
2969
2973
|
cloud = launched_resources.cloud
|
2970
2974
|
try:
|
2971
2975
|
cloud.check_features_are_supported(
|
@@ -2982,11 +2986,11 @@ def get_endpoints(cluster: str,
|
|
2982
2986
|
head_ip=handle.head_ip,
|
2983
2987
|
provider_config=config['provider'])
|
2984
2988
|
|
2989
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
2985
2990
|
# Validation before returning the endpoints
|
2986
2991
|
if port is not None:
|
2987
2992
|
# If the requested endpoint was not to be exposed
|
2988
|
-
port_set = resources_utils.port_ranges_to_set(
|
2989
|
-
handle.launched_resources.ports)
|
2993
|
+
port_set = resources_utils.port_ranges_to_set(launched_resources.ports)
|
2990
2994
|
if port not in port_set:
|
2991
2995
|
logger.warning(f'Port {port} is not exposed on '
|
2992
2996
|
f'cluster {cluster!r}.')
|
@@ -2995,8 +2999,7 @@ def get_endpoints(cluster: str,
|
|
2995
2999
|
if port not in port_details:
|
2996
3000
|
error_msg = (f'Port {port} not exposed yet. '
|
2997
3001
|
f'{_ENDPOINTS_RETRY_MESSAGE} ')
|
2998
|
-
if
|
2999
|
-
clouds.Kubernetes()):
|
3002
|
+
if launched_resources.cloud.is_same_cloud(clouds.Kubernetes()):
|
3000
3003
|
# Add Kubernetes specific debugging info
|
3001
3004
|
error_msg += (kubernetes_utils.get_endpoint_debug_message())
|
3002
3005
|
logger.warning(error_msg)
|
@@ -3005,7 +3008,7 @@ def get_endpoints(cluster: str,
|
|
3005
3008
|
else:
|
3006
3009
|
if not port_details:
|
3007
3010
|
# If cluster had no ports to be exposed
|
3008
|
-
if
|
3011
|
+
if launched_resources.ports is None:
|
3009
3012
|
logger.warning(f'Cluster {cluster!r} does not have any '
|
3010
3013
|
'ports to be exposed.')
|
3011
3014
|
return {}
|
@@ -3014,8 +3017,7 @@ def get_endpoints(cluster: str,
|
|
3014
3017
|
else:
|
3015
3018
|
error_msg = (f'No endpoints exposed yet. '
|
3016
3019
|
f'{_ENDPOINTS_RETRY_MESSAGE} ')
|
3017
|
-
if
|
3018
|
-
clouds.Kubernetes()):
|
3020
|
+
if launched_resources.cloud.is_same_cloud(clouds.Kubernetes()):
|
3019
3021
|
# Add Kubernetes specific debugging info
|
3020
3022
|
error_msg += \
|
3021
3023
|
kubernetes_utils.get_endpoint_debug_message()
|
@@ -61,6 +61,7 @@ from sky.utils import cluster_utils
|
|
61
61
|
from sky.utils import command_runner
|
62
62
|
from sky.utils import common
|
63
63
|
from sky.utils import common_utils
|
64
|
+
from sky.utils import context_utils
|
64
65
|
from sky.utils import controller_utils
|
65
66
|
from sky.utils import env_options
|
66
67
|
from sky.utils import log_utils
|
@@ -274,6 +275,7 @@ class RayCodeGen:
|
|
274
275
|
ray_address = 'auto'
|
275
276
|
self._code = [
|
276
277
|
textwrap.dedent(f"""\
|
278
|
+
import functools
|
277
279
|
import getpass
|
278
280
|
import hashlib
|
279
281
|
import io
|
@@ -363,6 +365,7 @@ class RayCodeGen:
|
|
363
365
|
# by ray.remote. This should be removed once we have a better way to
|
364
366
|
# specify dependencies for ray.
|
365
367
|
inspect.getsource(log_lib._ProcessingArgs), # pylint: disable=protected-access
|
368
|
+
inspect.getsource(log_lib._get_context), # pylint: disable=protected-access
|
366
369
|
inspect.getsource(log_lib._handle_io_stream), # pylint: disable=protected-access
|
367
370
|
inspect.getsource(log_lib.process_subprocess_stream),
|
368
371
|
inspect.getsource(log_lib.run_with_log),
|
@@ -1355,6 +1358,8 @@ class RetryingVmProvisioner(object):
|
|
1355
1358
|
# Get previous cluster status
|
1356
1359
|
cluster_exists = prev_cluster_status is not None
|
1357
1360
|
|
1361
|
+
to_provision = to_provision.assert_launchable()
|
1362
|
+
|
1358
1363
|
assert to_provision.region is not None, (
|
1359
1364
|
to_provision, 'region should have been set by the optimizer.')
|
1360
1365
|
region = clouds.Region(to_provision.region)
|
@@ -2030,6 +2035,7 @@ class RetryingVmProvisioner(object):
|
|
2030
2035
|
f' that never expire or a service account.\033[0m')
|
2031
2036
|
logger.warning(warnings)
|
2032
2037
|
|
2038
|
+
to_provision = to_provision.assert_launchable()
|
2033
2039
|
# Retrying launchable resources.
|
2034
2040
|
while True:
|
2035
2041
|
try:
|
@@ -2159,9 +2165,10 @@ class RetryingVmProvisioner(object):
|
|
2159
2165
|
raise exceptions.ResourcesUnavailableError(
|
2160
2166
|
_RESOURCES_UNAVAILABLE_LOG + '\n' + table.get_string(),
|
2161
2167
|
failover_history=failover_history)
|
2162
|
-
|
2168
|
+
best_resources = task.best_resources
|
2163
2169
|
assert task in self._dag.tasks, 'Internal logic error.'
|
2164
|
-
assert
|
2170
|
+
assert best_resources is not None, task
|
2171
|
+
to_provision = best_resources
|
2165
2172
|
return config_dict
|
2166
2173
|
|
2167
2174
|
|
@@ -2415,6 +2422,7 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
|
|
2415
2422
|
internal_external_ips[1:], key=lambda x: x[1])
|
2416
2423
|
self.stable_internal_external_ips = stable_internal_external_ips
|
2417
2424
|
|
2425
|
+
@context_utils.cancellation_guard
|
2418
2426
|
@annotations.lru_cache(scope='global')
|
2419
2427
|
@timeline.event
|
2420
2428
|
def get_command_runners(self,
|
@@ -2426,19 +2434,21 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
|
|
2426
2434
|
self.cluster_yaml, self.docker_user, self.ssh_user)
|
2427
2435
|
if avoid_ssh_control:
|
2428
2436
|
ssh_credentials.pop('ssh_control_name', None)
|
2437
|
+
|
2438
|
+
launched_resources = self.launched_resources.assert_launchable()
|
2429
2439
|
updated_to_skypilot_provisioner_after_provisioned = (
|
2430
|
-
|
2440
|
+
launched_resources.cloud.PROVISIONER_VERSION >=
|
2431
2441
|
clouds.ProvisionerVersion.SKYPILOT and
|
2432
2442
|
self.cached_external_ips is not None and
|
2433
2443
|
self.cached_cluster_info is None)
|
2434
2444
|
if updated_to_skypilot_provisioner_after_provisioned:
|
2435
2445
|
logger.debug(
|
2436
|
-
f'{
|
2446
|
+
f'{launched_resources.cloud} has been updated to the new '
|
2437
2447
|
f'provisioner after cluster {self.cluster_name} was '
|
2438
2448
|
f'provisioned. Cached IPs are used for connecting to the '
|
2439
2449
|
'cluster.')
|
2440
2450
|
if (clouds.ProvisionerVersion.RAY_PROVISIONER_SKYPILOT_TERMINATOR >=
|
2441
|
-
|
2451
|
+
launched_resources.cloud.PROVISIONER_VERSION or
|
2442
2452
|
updated_to_skypilot_provisioner_after_provisioned):
|
2443
2453
|
ip_list = (self.cached_external_ips
|
2444
2454
|
if force_cached else self.external_ips())
|
@@ -3142,8 +3152,8 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
3142
3152
|
resources_utils.port_ranges_to_set(current_ports) -
|
3143
3153
|
resources_utils.port_ranges_to_set(prev_ports))
|
3144
3154
|
if open_new_ports:
|
3145
|
-
|
3146
|
-
if not (cloud.OPEN_PORTS_VERSION <=
|
3155
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
3156
|
+
if not (launched_resources.cloud.OPEN_PORTS_VERSION <=
|
3147
3157
|
clouds.OpenPortsVersion.LAUNCH_ONLY):
|
3148
3158
|
with rich_utils.safe_status(
|
3149
3159
|
ux_utils.spinner_message(
|
@@ -3247,9 +3257,10 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
3247
3257
|
TODO: Delete COPY storage_mounts in task.sync_storage_mounts(), and
|
3248
3258
|
assert here that all storage_mounts are MOUNT mode.
|
3249
3259
|
"""
|
3260
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
3250
3261
|
with rich_utils.safe_status(ux_utils.spinner_message('Syncing files')):
|
3251
3262
|
controller_utils.replace_skypilot_config_path_in_file_mounts(
|
3252
|
-
|
3263
|
+
launched_resources.cloud, all_file_mounts)
|
3253
3264
|
self._execute_file_mounts(handle, all_file_mounts)
|
3254
3265
|
self._execute_storage_mounts(handle, storage_mounts)
|
3255
3266
|
self._set_storage_mounts_metadata(handle.cluster_name,
|
@@ -3842,6 +3853,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
3842
3853
|
subprocess_utils.run_in_parallel(_rsync_down, parallel_args)
|
3843
3854
|
return dict(zip(job_ids, local_log_dirs))
|
3844
3855
|
|
3856
|
+
@context_utils.cancellation_guard
|
3845
3857
|
def tail_logs(self,
|
3846
3858
|
handle: CloudVmRayResourceHandle,
|
3847
3859
|
job_id: Optional[int],
|
@@ -4148,7 +4160,8 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
4148
4160
|
log_path = os.path.join(os.path.expanduser(self.log_dir),
|
4149
4161
|
'teardown.log')
|
4150
4162
|
log_abs_path = os.path.abspath(log_path)
|
4151
|
-
|
4163
|
+
launched_resources = handle.launched_resources.assert_launchable()
|
4164
|
+
cloud = launched_resources.cloud
|
4152
4165
|
config = common_utils.read_yaml(handle.cluster_yaml)
|
4153
4166
|
cluster_name = handle.cluster_name
|
4154
4167
|
cluster_name_on_cloud = handle.cluster_name_on_cloud
|
@@ -4360,10 +4373,12 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
4360
4373
|
# the right resource to provision the cluster.
|
4361
4374
|
if handle.cluster_yaml is not None:
|
4362
4375
|
try:
|
4363
|
-
|
4376
|
+
launched_resources = (
|
4377
|
+
handle.launched_resources.assert_launchable())
|
4378
|
+
cloud = launched_resources.cloud
|
4364
4379
|
config = common_utils.read_yaml(handle.cluster_yaml)
|
4365
4380
|
cloud.check_features_are_supported(
|
4366
|
-
|
4381
|
+
launched_resources,
|
4367
4382
|
{clouds.CloudImplementationFeatures.OPEN_PORTS})
|
4368
4383
|
provision_lib.cleanup_ports(repr(cloud),
|
4369
4384
|
cluster_name_on_cloud,
|
@@ -4489,6 +4504,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
4489
4504
|
|
4490
4505
|
# down = False is the default, but warn the user in case
|
4491
4506
|
# they have explicitly specified it.
|
4507
|
+
# TODO(cooperc): Fix for new autostop stuff.
|
4492
4508
|
config_override_down = skypilot_config.get_nested(
|
4493
4509
|
(controller.value.controller_type, 'controller',
|
4494
4510
|
'autostop', 'down'), None)
|
@@ -4559,6 +4575,7 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
4559
4575
|
# TODO(zhwu): Refactor this to a CommandRunner class, so different backends
|
4560
4576
|
# can support its own command runner.
|
4561
4577
|
@timeline.event
|
4578
|
+
@context_utils.cancellation_guard
|
4562
4579
|
def run_on_head(
|
4563
4580
|
self,
|
4564
4581
|
handle: CloudVmRayResourceHandle,
|
@@ -4704,6 +4721,8 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
|
|
4704
4721
|
all_ports = resources_utils.port_set_to_ranges(current_ports_set |
|
4705
4722
|
requested_ports_set)
|
4706
4723
|
to_provision = handle.launched_resources
|
4724
|
+
assert to_provision is not None
|
4725
|
+
to_provision = to_provision.assert_launchable()
|
4707
4726
|
if (to_provision.cloud.OPEN_PORTS_VERSION <=
|
4708
4727
|
clouds.OpenPortsVersion.LAUNCH_ONLY):
|
4709
4728
|
if not requested_ports_set <= current_ports_set:
|
@@ -440,18 +440,19 @@ class AWS(clouds.Cloud):
|
|
440
440
|
region_name = region.name
|
441
441
|
zone_names = [zone.name for zone in zones]
|
442
442
|
|
443
|
-
|
444
|
-
#
|
445
|
-
acc_dict = self.get_accelerators_from_instance_type(
|
443
|
+
resources = resources.assert_launchable()
|
444
|
+
# resources.accelerators is cleared but .instance_type encodes the info.
|
445
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
446
|
+
resources.instance_type)
|
446
447
|
custom_resources = resources_utils.make_ray_custom_resources_str(
|
447
448
|
acc_dict)
|
448
449
|
|
449
|
-
if
|
450
|
+
if resources.extract_docker_image() is not None:
|
450
451
|
image_id_to_use = None
|
451
452
|
else:
|
452
|
-
image_id_to_use =
|
453
|
+
image_id_to_use = resources.image_id
|
453
454
|
image_id = self._get_image_id(image_id_to_use, region_name,
|
454
|
-
|
455
|
+
resources.instance_type)
|
455
456
|
|
456
457
|
disk_encrypted = skypilot_config.get_nested(('aws', 'disk_encrypted'),
|
457
458
|
False)
|
@@ -483,17 +484,17 @@ class AWS(clouds.Cloud):
|
|
483
484
|
'in `~/.sky/config.yaml`.')
|
484
485
|
|
485
486
|
return {
|
486
|
-
'instance_type':
|
487
|
+
'instance_type': resources.instance_type,
|
487
488
|
'custom_resources': custom_resources,
|
488
489
|
'disk_encrypted': disk_encrypted,
|
489
|
-
'use_spot':
|
490
|
+
'use_spot': resources.use_spot,
|
490
491
|
'region': region_name,
|
491
492
|
'zones': ','.join(zone_names),
|
492
493
|
'image_id': image_id,
|
493
494
|
'security_group': security_group,
|
494
495
|
'security_group_managed_by_skypilot':
|
495
496
|
str(security_group != user_security_group).lower(),
|
496
|
-
**AWS._get_disk_specs(
|
497
|
+
**AWS._get_disk_specs(resources.disk_tier)
|
497
498
|
}
|
498
499
|
|
499
500
|
def _get_feasible_launchable_resources(
|
@@ -971,6 +972,7 @@ class AWS(clouds.Cloud):
|
|
971
972
|
botocore.exceptions.ClientError: error in Boto3 client request.
|
972
973
|
"""
|
973
974
|
|
975
|
+
resources = resources.assert_launchable()
|
974
976
|
instance_type = resources.instance_type
|
975
977
|
region = resources.region
|
976
978
|
use_spot = resources.use_spot
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/azure.py
RENAMED
@@ -325,9 +325,10 @@ class Azure(clouds.Cloud):
|
|
325
325
|
|
326
326
|
region_name = region.name
|
327
327
|
|
328
|
-
|
329
|
-
#
|
330
|
-
acc_dict = self.get_accelerators_from_instance_type(
|
328
|
+
resources = resources.assert_launchable()
|
329
|
+
# resources.accelerators is cleared but .instance_type encodes the info.
|
330
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
331
|
+
resources.instance_type)
|
331
332
|
acc_count = None
|
332
333
|
if acc_dict is not None:
|
333
334
|
acc_count = str(sum(acc_dict.values()))
|
@@ -339,8 +340,9 @@ class Azure(clouds.Cloud):
|
|
339
340
|
# pylint: disable=import-outside-toplevel
|
340
341
|
from sky.clouds.service_catalog import azure_catalog
|
341
342
|
gen_version = azure_catalog.get_gen_version_from_instance_type(
|
342
|
-
|
343
|
-
image_id = self._get_default_image_tag(gen_version,
|
343
|
+
resources.instance_type)
|
344
|
+
image_id = self._get_default_image_tag(gen_version,
|
345
|
+
resources.instance_type)
|
344
346
|
else:
|
345
347
|
if None in resources.image_id:
|
346
348
|
image_id = resources.image_id[None]
|
@@ -407,18 +409,19 @@ class Azure(clouds.Cloud):
|
|
407
409
|
""").split('\n')
|
408
410
|
|
409
411
|
def _failover_disk_tier() -> Optional[resources_utils.DiskTier]:
|
410
|
-
if (
|
411
|
-
|
412
|
-
return
|
412
|
+
if (resources.disk_tier is not None and
|
413
|
+
resources.disk_tier != resources_utils.DiskTier.BEST):
|
414
|
+
return resources.disk_tier
|
413
415
|
# Failover disk tier from high to low. Default disk tier
|
414
416
|
# (Premium_LRS, medium) only support s-series instance types,
|
415
417
|
# so we failover to lower tiers for non-s-series.
|
416
418
|
all_tiers = list(reversed(resources_utils.DiskTier))
|
417
419
|
start_index = all_tiers.index(
|
418
|
-
Azure._translate_disk_tier(
|
420
|
+
Azure._translate_disk_tier(resources.disk_tier))
|
419
421
|
while start_index < len(all_tiers):
|
420
422
|
disk_tier = all_tiers[start_index]
|
421
|
-
ok, _ = Azure.check_disk_tier(
|
423
|
+
ok, _ = Azure.check_disk_tier(resources.instance_type,
|
424
|
+
disk_tier)
|
422
425
|
if ok:
|
423
426
|
return disk_tier
|
424
427
|
start_index += 1
|
@@ -426,11 +429,11 @@ class Azure(clouds.Cloud):
|
|
426
429
|
|
427
430
|
disk_tier = _failover_disk_tier()
|
428
431
|
|
429
|
-
resources_vars = {
|
430
|
-
'instance_type':
|
432
|
+
resources_vars: Dict[str, Any] = {
|
433
|
+
'instance_type': resources.instance_type,
|
431
434
|
'custom_resources': custom_resources,
|
432
435
|
'num_gpus': acc_count,
|
433
|
-
'use_spot':
|
436
|
+
'use_spot': resources.use_spot,
|
434
437
|
'region': region_name,
|
435
438
|
# Azure does not support specific zones.
|
436
439
|
'zones': None,
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/cloud.py
RENAMED
@@ -11,7 +11,8 @@ import collections
|
|
11
11
|
import enum
|
12
12
|
import math
|
13
13
|
import typing
|
14
|
-
from typing import Dict, Iterable, Iterator, List, Optional, Set, Tuple,
|
14
|
+
from typing import (Any, Dict, Iterable, Iterator, List, Optional, Set, Tuple,
|
15
|
+
Union)
|
15
16
|
|
16
17
|
from typing_extensions import assert_never
|
17
18
|
|
@@ -302,7 +303,7 @@ class Cloud:
|
|
302
303
|
zones: Optional[List['Zone']],
|
303
304
|
num_nodes: int,
|
304
305
|
dryrun: bool = False,
|
305
|
-
) -> Dict[str,
|
306
|
+
) -> Dict[str, Any]:
|
306
307
|
"""Converts planned sky.Resources to cloud-specific resource variables.
|
307
308
|
|
308
309
|
These variables are used to fill the node type section (instance type,
|
@@ -721,7 +722,7 @@ class Cloud:
|
|
721
722
|
Raises:
|
722
723
|
ResourcesMismatchError: If the accelerator is not supported.
|
723
724
|
"""
|
724
|
-
|
725
|
+
resources = resources.assert_launchable()
|
725
726
|
|
726
727
|
def _equal_accelerators(
|
727
728
|
acc_requested: Optional[Dict[str, Union[int, float]]],
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/cudo.py
RENAMED
@@ -201,8 +201,9 @@ class Cudo(clouds.Cloud):
|
|
201
201
|
dryrun: bool = False,
|
202
202
|
) -> Dict[str, Optional[str]]:
|
203
203
|
del zones, cluster_name # unused
|
204
|
-
|
205
|
-
acc_dict = self.get_accelerators_from_instance_type(
|
204
|
+
resources = resources.assert_launchable()
|
205
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
206
|
+
resources.instance_type)
|
206
207
|
custom_resources = resources_utils.make_ray_custom_resources_str(
|
207
208
|
acc_dict)
|
208
209
|
|
@@ -181,8 +181,9 @@ class DO(clouds.Cloud):
|
|
181
181
|
dryrun: bool = False) -> Dict[str, Optional[str]]:
|
182
182
|
del zones, dryrun, cluster_name
|
183
183
|
|
184
|
-
|
185
|
-
acc_dict = self.get_accelerators_from_instance_type(
|
184
|
+
resources = resources.assert_launchable()
|
185
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
186
|
+
resources.instance_type)
|
186
187
|
if acc_dict is not None:
|
187
188
|
custom_resources = json.dumps(acc_dict, separators=(',', ':'))
|
188
189
|
else:
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/fluidstack.py
RENAMED
@@ -188,9 +188,9 @@ class Fluidstack(clouds.Cloud):
|
|
188
188
|
) -> Dict[str, Optional[str]]:
|
189
189
|
|
190
190
|
assert zones is None, 'FluidStack does not support zones.'
|
191
|
-
|
192
|
-
|
193
|
-
|
191
|
+
resources = resources.assert_launchable()
|
192
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
193
|
+
resources.instance_type)
|
194
194
|
custom_resources = resources_utils.make_ray_custom_resources_str(
|
195
195
|
acc_dict)
|
196
196
|
|
@@ -1039,7 +1039,7 @@ class GCP(clouds.Cloud):
|
|
1039
1039
|
@staticmethod
|
1040
1040
|
def _check_instance_type_accelerators_combination(
|
1041
1041
|
resources: 'resources.Resources') -> None:
|
1042
|
-
|
1042
|
+
resources = resources.assert_launchable()
|
1043
1043
|
service_catalog.check_accelerator_attachable_to_host(
|
1044
1044
|
resources.instance_type, resources.accelerators, resources.zone,
|
1045
1045
|
'gcp')
|
@@ -175,7 +175,7 @@ class IBM(clouds.Cloud):
|
|
175
175
|
zones: Optional[List['clouds.Zone']],
|
176
176
|
num_nodes: int,
|
177
177
|
dryrun: bool = False,
|
178
|
-
) -> Dict[str,
|
178
|
+
) -> Dict[str, Any]:
|
179
179
|
"""Converts planned sky.Resources to cloud-specific resource variables.
|
180
180
|
|
181
181
|
These variables are used to fill the node type section (instance type,
|
@@ -204,30 +204,32 @@ class IBM(clouds.Cloud):
|
|
204
204
|
# clouds implementing 'zones_provision_loop()'
|
205
205
|
zone_names = [zone.name for zone in zones] # type: ignore[union-attr]
|
206
206
|
|
207
|
-
|
208
|
-
assert not
|
207
|
+
resources = resources.assert_launchable()
|
208
|
+
assert not resources.use_spot, \
|
209
209
|
'IBM does not currently support spot instances in this framework'
|
210
210
|
|
211
|
-
acc_dict = self.get_accelerators_from_instance_type(
|
211
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
212
|
+
resources.instance_type)
|
212
213
|
custom_resources = resources_utils.make_ray_custom_resources_str(
|
213
214
|
acc_dict)
|
214
215
|
|
215
|
-
instance_resources = _get_profile_resources(
|
216
|
+
instance_resources = _get_profile_resources(resources.instance_type)
|
216
217
|
|
217
218
|
worker_instance_type = get_cred_file_field('worker_instance_type',
|
218
|
-
|
219
|
+
resources.instance_type)
|
219
220
|
worker_instance_resources = _get_profile_resources(worker_instance_type)
|
220
221
|
# r.image_id: {clouds.Region:image_id} - property of Resources class
|
221
|
-
image_id =
|
222
|
-
region.name] if
|
222
|
+
image_id = resources.image_id[
|
223
|
+
region.name] if resources.image_id else self.get_default_image(
|
224
|
+
region_name)
|
223
225
|
|
224
226
|
return {
|
225
|
-
'instance_type':
|
227
|
+
'instance_type': resources.instance_type,
|
226
228
|
'instance_resources': instance_resources,
|
227
229
|
'worker_instance_type': worker_instance_type,
|
228
230
|
'worker_instance_resources': worker_instance_resources,
|
229
231
|
'custom_resources': custom_resources,
|
230
|
-
'use_spot':
|
232
|
+
'use_spot': resources.use_spot,
|
231
233
|
'region': region_name,
|
232
234
|
'zones': ','.join(zone_names),
|
233
235
|
'image_id': image_id,
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/kubernetes.py
RENAMED
@@ -414,8 +414,9 @@ class Kubernetes(clouds.Cloud):
|
|
414
414
|
context = region.name
|
415
415
|
assert context is not None, 'No context found in kubeconfig'
|
416
416
|
|
417
|
-
|
418
|
-
acc_dict = self.get_accelerators_from_instance_type(
|
417
|
+
resources = resources.assert_launchable()
|
418
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
419
|
+
resources.instance_type)
|
419
420
|
custom_resources = resources_utils.make_ray_custom_resources_str(
|
420
421
|
acc_dict)
|
421
422
|
|
{skypilot_nightly-1.0.0.dev20250514 → skypilot_nightly-1.0.0.dev20250515}/sky/clouds/lambda_cloud.py
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
"""Lambda Cloud."""
|
2
2
|
import typing
|
3
|
-
from typing import Dict, Iterator, List, Optional, Tuple, Union
|
3
|
+
from typing import Any, Dict, Iterator, List, Optional, Tuple, Union
|
4
4
|
|
5
5
|
from sky import clouds
|
6
6
|
from sky.adaptors import common as adaptors_common
|
@@ -162,16 +162,16 @@ class Lambda(clouds.Cloud):
|
|
162
162
|
region: 'clouds.Region',
|
163
163
|
zones: Optional[List['clouds.Zone']],
|
164
164
|
num_nodes: int,
|
165
|
-
dryrun: bool = False) -> Dict[str,
|
165
|
+
dryrun: bool = False) -> Dict[str, Any]:
|
166
166
|
del cluster_name, dryrun # Unused.
|
167
167
|
assert zones is None, 'Lambda does not support zones.'
|
168
|
-
|
169
|
-
|
170
|
-
|
168
|
+
resources = resources.assert_launchable()
|
169
|
+
acc_dict = self.get_accelerators_from_instance_type(
|
170
|
+
resources.instance_type)
|
171
171
|
custom_resources = resources_utils.make_ray_custom_resources_str(
|
172
172
|
acc_dict)
|
173
173
|
|
174
|
-
resources_vars = {
|
174
|
+
resources_vars: Dict[str, Any] = {
|
175
175
|
'instance_type': resources.instance_type,
|
176
176
|
'custom_resources': custom_resources,
|
177
177
|
'region': region.name,
|