skypilot-nightly 1.0.0.dev20241111__tar.gz → 1.0.0.dev20241113__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.dev20241111/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20241113}/PKG-INFO +2 -2
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/README.md +1 -1
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/backend_utils.py +1 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/cli.py +22 -6
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/cloud.py +2 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/kubernetes.py +19 -3
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/kubernetes_catalog.py +102 -61
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/utils/gcp_utils.py +5 -1
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/core.py +2 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/optimizer.py +2 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/__init__.py +2 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/instance.py +125 -55
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/utils.py +361 -102
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/resources.py +38 -27
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/serve_utils.py +79 -78
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/log_lib.py +1 -4
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/kubernetes-ray.yml.j2 +29 -3
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/generate_kubeconfig.sh +3 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/gpu_labeler.py +2 -2
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/log_utils.py +52 -1
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/timeline.py +3 -1
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113/skypilot_nightly.egg-info}/PKG-INFO +2 -2
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_smoke.py +19 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/cloud_vm_ray_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/benchmark/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/benchmark/benchmark_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/benchmark/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/cloud_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/dashboard/dashboard.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/dashboard/static/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/dashboard/templates/index.html +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/providers/scp/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/cluster_yaml_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/schemas.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: skypilot-nightly
|
3
|
-
Version: 1.0.0.
|
3
|
+
Version: 1.0.0.dev20241113
|
4
4
|
Summary: SkyPilot: An intercloud broker for the clouds
|
5
5
|
Author: SkyPilot Team
|
6
6
|
License: Apache 2.0
|
@@ -319,7 +319,7 @@ Runnable examples:
|
|
319
319
|
- [LocalGPT](./llm/localgpt)
|
320
320
|
- [Falcon](./llm/falcon)
|
321
321
|
- Add yours here & see more in [`llm/`](./llm)!
|
322
|
-
- Framework examples: [PyTorch DDP](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_torch.yaml), [DeepSpeed](./examples/deepspeed-multinode/sky.yaml), [JAX/Flax on TPU](https://github.com/skypilot-org/skypilot/blob/master/examples/tpu/tpuvm_mnist.yaml), [Stable Diffusion](https://github.com/skypilot-org/skypilot/tree/master/examples/stable_diffusion), [Detectron2](https://github.com/skypilot-org/skypilot/blob/master/examples/detectron2_docker.yaml), [Distributed](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_tf_app.py) [TensorFlow](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_app_storage.yaml), [Ray Train](examples/distributed_ray_train/ray_train.yaml), [NeMo](https://github.com/skypilot-org/skypilot/blob/master/examples/nemo/
|
322
|
+
- Framework examples: [PyTorch DDP](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_torch.yaml), [DeepSpeed](./examples/deepspeed-multinode/sky.yaml), [JAX/Flax on TPU](https://github.com/skypilot-org/skypilot/blob/master/examples/tpu/tpuvm_mnist.yaml), [Stable Diffusion](https://github.com/skypilot-org/skypilot/tree/master/examples/stable_diffusion), [Detectron2](https://github.com/skypilot-org/skypilot/blob/master/examples/detectron2_docker.yaml), [Distributed](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_tf_app.py) [TensorFlow](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_app_storage.yaml), [Ray Train](examples/distributed_ray_train/ray_train.yaml), [NeMo](https://github.com/skypilot-org/skypilot/blob/master/examples/nemo/), [programmatic grid search](https://github.com/skypilot-org/skypilot/blob/master/examples/huggingface_glue_imdb_grid_search_app.py), [Docker](https://github.com/skypilot-org/skypilot/blob/master/examples/docker/echo_app.yaml), [Cog](https://github.com/skypilot-org/skypilot/blob/master/examples/cog/), [Unsloth](https://github.com/skypilot-org/skypilot/blob/master/examples/unsloth/unsloth.yaml), [Ollama](https://github.com/skypilot-org/skypilot/blob/master/llm/ollama), [llm.c](https://github.com/skypilot-org/skypilot/tree/master/llm/gpt-2), [Airflow](./examples/airflow/training_workflow) and [many more (`examples/`)](./examples).
|
323
323
|
|
324
324
|
Case Studies and Integrations: [Community Spotlights](https://blog.skypilot.co/community/)
|
325
325
|
|
@@ -183,7 +183,7 @@ Runnable examples:
|
|
183
183
|
- [LocalGPT](./llm/localgpt)
|
184
184
|
- [Falcon](./llm/falcon)
|
185
185
|
- Add yours here & see more in [`llm/`](./llm)!
|
186
|
-
- Framework examples: [PyTorch DDP](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_torch.yaml), [DeepSpeed](./examples/deepspeed-multinode/sky.yaml), [JAX/Flax on TPU](https://github.com/skypilot-org/skypilot/blob/master/examples/tpu/tpuvm_mnist.yaml), [Stable Diffusion](https://github.com/skypilot-org/skypilot/tree/master/examples/stable_diffusion), [Detectron2](https://github.com/skypilot-org/skypilot/blob/master/examples/detectron2_docker.yaml), [Distributed](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_tf_app.py) [TensorFlow](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_app_storage.yaml), [Ray Train](examples/distributed_ray_train/ray_train.yaml), [NeMo](https://github.com/skypilot-org/skypilot/blob/master/examples/nemo/
|
186
|
+
- Framework examples: [PyTorch DDP](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_torch.yaml), [DeepSpeed](./examples/deepspeed-multinode/sky.yaml), [JAX/Flax on TPU](https://github.com/skypilot-org/skypilot/blob/master/examples/tpu/tpuvm_mnist.yaml), [Stable Diffusion](https://github.com/skypilot-org/skypilot/tree/master/examples/stable_diffusion), [Detectron2](https://github.com/skypilot-org/skypilot/blob/master/examples/detectron2_docker.yaml), [Distributed](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_distributed_tf_app.py) [TensorFlow](https://github.com/skypilot-org/skypilot/blob/master/examples/resnet_app_storage.yaml), [Ray Train](examples/distributed_ray_train/ray_train.yaml), [NeMo](https://github.com/skypilot-org/skypilot/blob/master/examples/nemo/), [programmatic grid search](https://github.com/skypilot-org/skypilot/blob/master/examples/huggingface_glue_imdb_grid_search_app.py), [Docker](https://github.com/skypilot-org/skypilot/blob/master/examples/docker/echo_app.yaml), [Cog](https://github.com/skypilot-org/skypilot/blob/master/examples/cog/), [Unsloth](https://github.com/skypilot-org/skypilot/blob/master/examples/unsloth/unsloth.yaml), [Ollama](https://github.com/skypilot-org/skypilot/blob/master/llm/ollama), [llm.c](https://github.com/skypilot-org/skypilot/tree/master/llm/gpt-2), [Airflow](./examples/airflow/training_workflow) and [many more (`examples/`)](./examples).
|
187
187
|
|
188
188
|
Case Studies and Integrations: [Community Spotlights](https://blog.skypilot.co/community/)
|
189
189
|
|
@@ -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 = 'eea13cc624a10bd4319eace0f48dcceb9d0287cd'
|
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.dev20241113'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
@@ -3102,6 +3102,7 @@ def show_gpus(
|
|
3102
3102
|
kubernetes_autoscaling = kubernetes_utils.get_autoscaler_type() is not None
|
3103
3103
|
kubernetes_is_enabled = sky_clouds.cloud_in_iterable(
|
3104
3104
|
sky_clouds.Kubernetes(), global_user_state.get_cached_enabled_clouds())
|
3105
|
+
no_permissions_str = '<no permissions>'
|
3105
3106
|
|
3106
3107
|
def _list_to_str(lst):
|
3107
3108
|
return ', '.join([str(e) for e in lst])
|
@@ -3142,13 +3143,16 @@ def show_gpus(
|
|
3142
3143
|
'in Kubernetes cluster. ')
|
3143
3144
|
debug_msg = ('To show available accelerators on kubernetes,'
|
3144
3145
|
' run: sky show-gpus --cloud kubernetes ')
|
3145
|
-
full_err_msg = (err_msg +
|
3146
|
+
full_err_msg = (err_msg +
|
3147
|
+
kubernetes_utils.NO_ACCELERATOR_HELP_MESSAGE +
|
3146
3148
|
debug_msg)
|
3147
3149
|
raise ValueError(full_err_msg)
|
3148
3150
|
for gpu, _ in sorted(counts.items()):
|
3151
|
+
available_qty = available[gpu] if available[gpu] != -1 else (
|
3152
|
+
no_permissions_str)
|
3149
3153
|
realtime_gpu_table.add_row([
|
3150
3154
|
gpu,
|
3151
|
-
_list_to_str(counts.pop(gpu)), capacity[gpu],
|
3155
|
+
_list_to_str(counts.pop(gpu)), capacity[gpu], available_qty
|
3152
3156
|
])
|
3153
3157
|
return realtime_gpu_table
|
3154
3158
|
|
@@ -3158,10 +3162,12 @@ def show_gpus(
|
|
3158
3162
|
|
3159
3163
|
node_info_dict = kubernetes_utils.get_kubernetes_node_info(context)
|
3160
3164
|
for node_name, node_info in node_info_dict.items():
|
3165
|
+
available = node_info.free[
|
3166
|
+
'accelerators_available'] if node_info.free[
|
3167
|
+
'accelerators_available'] != -1 else no_permissions_str
|
3161
3168
|
node_table.add_row([
|
3162
|
-
node_name, node_info.
|
3163
|
-
node_info.total['
|
3164
|
-
node_info.free['nvidia.com/gpu']
|
3169
|
+
node_name, node_info.accelerator_type,
|
3170
|
+
node_info.total['accelerator_count'], available
|
3165
3171
|
])
|
3166
3172
|
return node_table
|
3167
3173
|
|
@@ -3216,8 +3222,18 @@ def show_gpus(
|
|
3216
3222
|
yield from k8s_realtime_table.get_string()
|
3217
3223
|
k8s_node_table = _get_kubernetes_node_info_table(context)
|
3218
3224
|
yield '\n\n'
|
3225
|
+
# TODO(Doyoung): Update the message with the multi-host TPU
|
3226
|
+
# support.
|
3227
|
+
k8s_per_node_acc_message = (
|
3228
|
+
'Kubernetes per node accelerator availability ')
|
3229
|
+
if kubernetes_utils.multi_host_tpu_exists_in_cluster(
|
3230
|
+
context):
|
3231
|
+
k8s_per_node_acc_message += (
|
3232
|
+
'(Note: Multi-host TPUs are detected and excluded '
|
3233
|
+
'from the display as multi-host TPUs are not '
|
3234
|
+
'supported.)')
|
3219
3235
|
yield (f'{colorama.Fore.CYAN}{colorama.Style.BRIGHT}'
|
3220
|
-
f'
|
3236
|
+
f'{k8s_per_node_acc_message}'
|
3221
3237
|
f'{colorama.Style.RESET_ALL}\n')
|
3222
3238
|
yield from k8s_node_table.get_string()
|
3223
3239
|
if kubernetes_autoscaling:
|
{skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/cloud.py
RENAMED
@@ -18,6 +18,7 @@ from sky import skypilot_config
|
|
18
18
|
from sky.clouds import service_catalog
|
19
19
|
from sky.utils import log_utils
|
20
20
|
from sky.utils import resources_utils
|
21
|
+
from sky.utils import timeline
|
21
22
|
from sky.utils import ux_utils
|
22
23
|
|
23
24
|
if typing.TYPE_CHECKING:
|
@@ -366,6 +367,7 @@ class Cloud:
|
|
366
367
|
del label_key, label_value
|
367
368
|
return True, None
|
368
369
|
|
370
|
+
@timeline.event
|
369
371
|
def get_feasible_launchable_resources(
|
370
372
|
self,
|
371
373
|
resources: 'resources_lib.Resources',
|
{skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/clouds/kubernetes.py
RENAMED
@@ -362,11 +362,23 @@ class Kubernetes(clouds.Cloud):
|
|
362
362
|
|
363
363
|
k8s_acc_label_key = None
|
364
364
|
k8s_acc_label_value = None
|
365
|
+
k8s_topology_label_key = None
|
366
|
+
k8s_topology_label_value = None
|
367
|
+
k8s_resource_key = None
|
368
|
+
tpu_requested = False
|
365
369
|
|
366
|
-
# If
|
370
|
+
# If GPU/TPUs are requested, set node label to match the GPU/TPU type.
|
367
371
|
if acc_count > 0 and acc_type is not None:
|
368
|
-
k8s_acc_label_key, k8s_acc_label_value
|
369
|
-
|
372
|
+
(k8s_acc_label_key, k8s_acc_label_value, k8s_topology_label_key,
|
373
|
+
k8s_topology_label_value) = (
|
374
|
+
kubernetes_utils.get_accelerator_label_key_value(
|
375
|
+
context, acc_type, acc_count))
|
376
|
+
if (k8s_acc_label_key ==
|
377
|
+
kubernetes_utils.GKELabelFormatter.TPU_LABEL_KEY):
|
378
|
+
tpu_requested = True
|
379
|
+
k8s_resource_key = kubernetes_utils.TPU_RESOURCE_KEY
|
380
|
+
else:
|
381
|
+
k8s_resource_key = kubernetes_utils.GPU_RESOURCE_KEY
|
370
382
|
|
371
383
|
port_mode = network_utils.get_port_mode(None)
|
372
384
|
|
@@ -428,6 +440,10 @@ class Kubernetes(clouds.Cloud):
|
|
428
440
|
'k8s_skypilot_system_namespace': _SKYPILOT_SYSTEM_NAMESPACE,
|
429
441
|
'k8s_spot_label_key': spot_label_key,
|
430
442
|
'k8s_spot_label_value': spot_label_value,
|
443
|
+
'tpu_requested': tpu_requested,
|
444
|
+
'k8s_topology_label_key': k8s_topology_label_key,
|
445
|
+
'k8s_topology_label_value': k8s_topology_label_value,
|
446
|
+
'k8s_resource_key': k8s_resource_key,
|
431
447
|
'image_id': image_id,
|
432
448
|
}
|
433
449
|
|
@@ -10,6 +10,7 @@ from typing import Dict, List, Optional, Set, Tuple
|
|
10
10
|
from sky import check as sky_check
|
11
11
|
from sky import sky_logging
|
12
12
|
from sky.adaptors import common as adaptors_common
|
13
|
+
from sky.adaptors import kubernetes
|
13
14
|
from sky.clouds import Kubernetes
|
14
15
|
from sky.clouds.service_catalog import CloudFilter
|
15
16
|
from sky.clouds.service_catalog import common
|
@@ -22,6 +23,8 @@ if typing.TYPE_CHECKING:
|
|
22
23
|
else:
|
23
24
|
pd = adaptors_common.LazyImport('pandas')
|
24
25
|
|
26
|
+
logger = sky_logging.init_logger(__name__)
|
27
|
+
|
25
28
|
_PULL_FREQUENCY_HOURS = 7
|
26
29
|
|
27
30
|
# We keep pull_frequency_hours so we can remotely update the default image paths
|
@@ -77,6 +80,11 @@ def list_accelerators_realtime(
|
|
77
80
|
require_price: bool = True
|
78
81
|
) -> Tuple[Dict[str, List[common.InstanceTypeInfo]], Dict[str, int], Dict[str,
|
79
82
|
int]]:
|
83
|
+
"""List accelerators in the Kubernetes cluster.
|
84
|
+
|
85
|
+
If the user does not have sufficient permissions to list pods in all
|
86
|
+
namespaces, the function will return free GPUs as -1.
|
87
|
+
"""
|
80
88
|
# TODO(romilb): This should be refactored to use get_kubernetes_node_info()
|
81
89
|
# function from kubernetes_utils.
|
82
90
|
del all_regions, require_price # Unused.
|
@@ -96,19 +104,29 @@ def list_accelerators_realtime(
|
|
96
104
|
) or not kubernetes_utils.check_credentials(context)[0]:
|
97
105
|
return {}, {}, {}
|
98
106
|
|
99
|
-
has_gpu = kubernetes_utils.
|
107
|
+
has_gpu = kubernetes_utils.detect_accelerator_resource(context)
|
100
108
|
if not has_gpu:
|
101
109
|
return {}, {}, {}
|
102
110
|
|
103
|
-
|
104
|
-
if not
|
111
|
+
lf, _ = kubernetes_utils.detect_gpu_label_formatter(context)
|
112
|
+
if not lf:
|
105
113
|
return {}, {}, {}
|
106
114
|
|
107
115
|
accelerators_qtys: Set[Tuple[str, int]] = set()
|
108
|
-
|
116
|
+
keys = lf.get_label_keys()
|
109
117
|
nodes = kubernetes_utils.get_kubernetes_nodes(context)
|
110
118
|
# Get the pods to get the real-time GPU usage
|
111
|
-
|
119
|
+
try:
|
120
|
+
pods = kubernetes_utils.get_all_pods_in_kubernetes_cluster(context)
|
121
|
+
except kubernetes.api_exception() as e:
|
122
|
+
if e.status == 403:
|
123
|
+
logger.warning('Failed to get pods in the Kubernetes cluster '
|
124
|
+
'(forbidden). Please check if your account has '
|
125
|
+
'necessary permissions to list pods. Realtime GPU '
|
126
|
+
'availability information may be incorrect.')
|
127
|
+
pods = None
|
128
|
+
else:
|
129
|
+
raise
|
112
130
|
# Total number of GPUs in the cluster
|
113
131
|
total_accelerators_capacity: Dict[str, int] = {}
|
114
132
|
# Total number of GPUs currently available in the cluster
|
@@ -116,62 +134,85 @@ def list_accelerators_realtime(
|
|
116
134
|
min_quantity_filter = quantity_filter if quantity_filter else 1
|
117
135
|
|
118
136
|
for node in nodes:
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
if
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
total_accelerators_capacity
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
accelerator_name]
|
137
|
+
for key in keys:
|
138
|
+
if key in node.metadata.labels:
|
139
|
+
allocated_qty = 0
|
140
|
+
accelerator_name = lf.get_accelerator_from_label_value(
|
141
|
+
node.metadata.labels.get(key))
|
142
|
+
|
143
|
+
# Exclude multi-host TPUs from being processed.
|
144
|
+
# TODO(Doyoung): Remove the logic when adding support for
|
145
|
+
# multi-host TPUs.
|
146
|
+
if kubernetes_utils.is_multi_host_tpu(node.metadata.labels):
|
147
|
+
continue
|
148
|
+
|
149
|
+
# Check if name_filter regex matches the accelerator_name
|
150
|
+
regex_flags = 0 if case_sensitive else re.IGNORECASE
|
151
|
+
if name_filter and not re.match(
|
152
|
+
name_filter, accelerator_name, flags=regex_flags):
|
153
|
+
continue
|
154
|
+
|
155
|
+
# Generate the accelerator quantities
|
156
|
+
accelerator_count = (
|
157
|
+
kubernetes_utils.get_node_accelerator_count(
|
158
|
+
node.status.allocatable))
|
159
|
+
|
160
|
+
if accelerator_name and accelerator_count > 0:
|
161
|
+
# TPUs are counted in a different way compared to GPUs.
|
162
|
+
# Multi-node GPUs can be split into smaller units and be
|
163
|
+
# provisioned, but TPUs are considered as an atomic unit.
|
164
|
+
if kubernetes_utils.is_tpu_on_gke(accelerator_name):
|
165
|
+
accelerators_qtys.add(
|
166
|
+
(accelerator_name, accelerator_count))
|
167
|
+
else:
|
168
|
+
count = 1
|
169
|
+
while count <= accelerator_count:
|
170
|
+
accelerators_qtys.add((accelerator_name, count))
|
171
|
+
count *= 2
|
172
|
+
# Add the accelerator count if it's not already in the
|
173
|
+
# set (e.g., if there's 12 GPUs, we should have qtys 1,
|
174
|
+
# 2, 4, 8, 12)
|
175
|
+
if accelerator_count not in accelerators_qtys:
|
176
|
+
accelerators_qtys.add(
|
177
|
+
(accelerator_name, accelerator_count))
|
178
|
+
|
179
|
+
if accelerator_count >= min_quantity_filter:
|
180
|
+
quantized_count = (
|
181
|
+
min_quantity_filter *
|
182
|
+
(accelerator_count // min_quantity_filter))
|
183
|
+
if accelerator_name not in total_accelerators_capacity:
|
184
|
+
total_accelerators_capacity[
|
185
|
+
accelerator_name] = quantized_count
|
186
|
+
else:
|
187
|
+
total_accelerators_capacity[
|
188
|
+
accelerator_name] += quantized_count
|
189
|
+
|
190
|
+
if pods is None:
|
191
|
+
# If we can't get the pods, we can't get the GPU usage
|
192
|
+
total_accelerators_available[accelerator_name] = -1
|
193
|
+
continue
|
194
|
+
|
195
|
+
for pod in pods:
|
196
|
+
# Get all the pods running on the node
|
197
|
+
if (pod.spec.node_name == node.metadata.name and
|
198
|
+
pod.status.phase in ['Running', 'Pending']):
|
199
|
+
# Iterate over all the containers in the pod and sum
|
200
|
+
# the GPU requests
|
201
|
+
for container in pod.spec.containers:
|
202
|
+
if container.resources.requests:
|
203
|
+
allocated_qty += (
|
204
|
+
kubernetes_utils.get_node_accelerator_count(
|
205
|
+
container.resources.requests))
|
206
|
+
|
207
|
+
accelerators_available = accelerator_count - allocated_qty
|
208
|
+
|
209
|
+
if accelerator_name not in total_accelerators_available:
|
210
|
+
total_accelerators_available[accelerator_name] = 0
|
211
|
+
if accelerators_available >= min_quantity_filter:
|
212
|
+
quantized_availability = min_quantity_filter * (
|
213
|
+
accelerators_available // min_quantity_filter)
|
214
|
+
total_accelerators_available[
|
215
|
+
accelerator_name] += quantized_availability
|
175
216
|
|
176
217
|
result = []
|
177
218
|
|
@@ -17,6 +17,7 @@ import cachetools
|
|
17
17
|
from sky import sky_logging
|
18
18
|
from sky import skypilot_config
|
19
19
|
from sky.provision.gcp import constants
|
20
|
+
from sky.provision.kubernetes import utils as kubernetes_utils
|
20
21
|
from sky.utils import subprocess_utils
|
21
22
|
|
22
23
|
if typing.TYPE_CHECKING:
|
@@ -35,7 +36,10 @@ def is_tpu(resources: Optional['resources_lib.Resources']) -> bool:
|
|
35
36
|
def is_tpu_vm(resources: Optional['resources_lib.Resources']) -> bool:
|
36
37
|
if not is_tpu(resources):
|
37
38
|
return False
|
38
|
-
assert resources is not None
|
39
|
+
assert (resources is not None and len(resources.accelerators) == 1)
|
40
|
+
acc, _ = list(resources.accelerators.items())[0]
|
41
|
+
if kubernetes_utils.is_tpu_on_gke(acc):
|
42
|
+
return False
|
39
43
|
if resources.accelerator_args is None:
|
40
44
|
return True
|
41
45
|
return resources.accelerator_args.get('tpu_vm', True)
|
@@ -26,9 +26,11 @@ from sky.utils import controller_utils
|
|
26
26
|
from sky.utils import dag_utils
|
27
27
|
from sky.utils import rich_utils
|
28
28
|
from sky.utils import subprocess_utils
|
29
|
+
from sky.utils import timeline
|
29
30
|
from sky.utils import ux_utils
|
30
31
|
|
31
32
|
|
33
|
+
@timeline.event
|
32
34
|
@usage_lib.entrypoint
|
33
35
|
def launch(
|
34
36
|
task: Union['sky.Task', 'sky.Dag'],
|
@@ -22,6 +22,7 @@ from sky.utils import log_utils
|
|
22
22
|
from sky.utils import resources_utils
|
23
23
|
from sky.utils import rich_utils
|
24
24
|
from sky.utils import subprocess_utils
|
25
|
+
from sky.utils import timeline
|
25
26
|
from sky.utils import ux_utils
|
26
27
|
|
27
28
|
if typing.TYPE_CHECKING:
|
@@ -105,6 +106,7 @@ class Optimizer:
|
|
105
106
|
return egress_time
|
106
107
|
|
107
108
|
@staticmethod
|
109
|
+
@timeline.event
|
108
110
|
def optimize(dag: 'dag_lib.Dag',
|
109
111
|
minimize: OptimizeTarget = OptimizeTarget.COST,
|
110
112
|
blocked_resources: Optional[Iterable[
|
{skypilot_nightly-1.0.0.dev20241111 → skypilot_nightly-1.0.0.dev20241113}/sky/provision/__init__.py
RENAMED
@@ -24,6 +24,7 @@ from sky.provision import oci
|
|
24
24
|
from sky.provision import runpod
|
25
25
|
from sky.provision import vsphere
|
26
26
|
from sky.utils import command_runner
|
27
|
+
from sky.utils import timeline
|
27
28
|
|
28
29
|
logger = sky_logging.init_logger(__name__)
|
29
30
|
|
@@ -59,6 +60,7 @@ def _route_to_cloud_impl(func):
|
|
59
60
|
# pylint: disable=unused-argument
|
60
61
|
|
61
62
|
|
63
|
+
@timeline.event
|
62
64
|
@_route_to_cloud_impl
|
63
65
|
def query_instances(
|
64
66
|
provider_name: str,
|