skypilot-nightly 1.0.0.dev20241119__tar.gz → 1.0.0.dev20241121__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.dev20241119/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20241121}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/cloud_vm_ray_backend.py +7 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/kubernetes.py +5 -1
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/instance_setup.py +0 -9
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/oci/instance.py +4 -2
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121/skypilot_nightly.egg-info}/PKG-INFO +1 -1
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_smoke.py +173 -39
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/benchmark/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/benchmark/benchmark_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/benchmark/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/cloud_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/dashboard/dashboard.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/dashboard/static/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/dashboard/templates/index.html +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/jobs/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/kubernetes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/log_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/providers/scp/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skylet/subprocess_daemon.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/cluster_yaml_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/deploy_remote_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/schemas.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/subprocess_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/skypilot_nightly.egg-info/requires.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/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 = '627be7298f987ddf6ada7f3c0cf849edde97240a'
|
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.dev20241121'
|
39
39
|
__root_dir__ = os.path.dirname(os.path.abspath(__file__))
|
40
40
|
|
41
41
|
|
@@ -269,6 +269,13 @@ class RayCodeGen:
|
|
269
269
|
import time
|
270
270
|
from typing import Dict, List, Optional, Tuple, Union
|
271
271
|
|
272
|
+
# Set the environment variables to avoid deduplicating logs and
|
273
|
+
# scheduler events. This should be set in driver code, since we are
|
274
|
+
# not using `ray job submit` anymore, and the environment variables
|
275
|
+
# from the ray cluster is not inherited.
|
276
|
+
os.environ['RAY_DEDUP_LOGS'] = '0'
|
277
|
+
os.environ['RAY_SCHEDULER_EVENTS'] = '0'
|
278
|
+
|
272
279
|
import ray
|
273
280
|
import ray.util as ray_util
|
274
281
|
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/kubernetes.py
RENAMED
@@ -536,7 +536,11 @@ class Kubernetes(clouds.Cloud):
|
|
536
536
|
@classmethod
|
537
537
|
def check_credentials(cls) -> Tuple[bool, Optional[str]]:
|
538
538
|
# Test using python API
|
539
|
-
|
539
|
+
try:
|
540
|
+
existing_allowed_contexts = cls._existing_allowed_contexts()
|
541
|
+
except ImportError as e:
|
542
|
+
return (False,
|
543
|
+
f'{common_utils.format_exception(e, use_bracket=True)}')
|
540
544
|
if not existing_allowed_contexts:
|
541
545
|
if skypilot_config.loaded_config_path() is None:
|
542
546
|
check_skypilot_config_msg = ''
|
@@ -277,16 +277,8 @@ def start_ray_on_head_node(cluster_name: str, custom_resource: Optional[str],
|
|
277
277
|
for key, value in cluster_info.custom_ray_options.items():
|
278
278
|
ray_options += f' --{key}={value}'
|
279
279
|
|
280
|
-
# Unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY to avoid using credentials
|
281
|
-
# from environment variables set by user. SkyPilot's ray cluster should use
|
282
|
-
# the `~/.aws/` credentials, as that is the one used to create the cluster,
|
283
|
-
# and the autoscaler module started by the `ray start` command should use
|
284
|
-
# the same credentials. Otherwise, `ray status` will fail to fetch the
|
285
|
-
# available nodes.
|
286
|
-
# Reference: https://github.com/skypilot-org/skypilot/issues/2441
|
287
280
|
cmd = (
|
288
281
|
f'{constants.SKY_RAY_CMD} stop; '
|
289
|
-
'unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY; '
|
290
282
|
'RAY_SCHEDULER_EVENTS=0 RAY_DEDUP_LOGS=0 '
|
291
283
|
# worker_maximum_startup_concurrency controls the maximum number of
|
292
284
|
# workers that can be started concurrently. However, it also controls
|
@@ -372,7 +364,6 @@ def start_ray_on_worker_nodes(cluster_name: str, no_restart: bool,
|
|
372
364
|
# Unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY, see the comment in
|
373
365
|
# `start_ray_on_head_node`.
|
374
366
|
cmd = (
|
375
|
-
f'unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY; '
|
376
367
|
'RAY_SCHEDULER_EVENTS=0 RAY_DEDUP_LOGS=0 '
|
377
368
|
f'{constants.SKY_RAY_CMD} start --disable-usage-stats {ray_options} || '
|
378
369
|
'exit 1;' + _RAY_PRLIMIT)
|
@@ -123,8 +123,8 @@ def run_instances(region: str, cluster_name_on_cloud: str,
|
|
123
123
|
# Let's create additional new nodes (if neccessary)
|
124
124
|
to_start_count = config.count - len(resume_instances)
|
125
125
|
created_instances = []
|
126
|
+
node_config = config.node_config
|
126
127
|
if to_start_count > 0:
|
127
|
-
node_config = config.node_config
|
128
128
|
compartment = query_helper.find_compartment(region)
|
129
129
|
vcn = query_helper.find_create_vcn_subnet(region)
|
130
130
|
|
@@ -242,10 +242,12 @@ def run_instances(region: str, cluster_name_on_cloud: str,
|
|
242
242
|
|
243
243
|
assert head_instance_id is not None, head_instance_id
|
244
244
|
|
245
|
+
# Format: TenancyPrefix:AvailabilityDomain, e.g. bxtG:US-SANJOSE-1-AD-1
|
246
|
+
_, ad = str(node_config['AvailabilityDomain']).split(':', maxsplit=1)
|
245
247
|
return common.ProvisionRecord(
|
246
248
|
provider_name='oci',
|
247
249
|
region=region,
|
248
|
-
zone=
|
250
|
+
zone=ad,
|
249
251
|
cluster_name=cluster_name_on_cloud,
|
250
252
|
head_instance_id=head_instance_id,
|
251
253
|
created_instance_ids=[n['inst_id'] for n in created_instances],
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/tests/test_smoke.py
RENAMED
@@ -25,6 +25,7 @@
|
|
25
25
|
# Change cloud for generic tests to aws
|
26
26
|
# > pytest tests/test_smoke.py --generic-cloud aws
|
27
27
|
|
28
|
+
import enum
|
28
29
|
import inspect
|
29
30
|
import json
|
30
31
|
import os
|
@@ -60,6 +61,8 @@ from sky.data import storage as storage_lib
|
|
60
61
|
from sky.data.data_utils import Rclone
|
61
62
|
from sky.skylet import constants
|
62
63
|
from sky.skylet import events
|
64
|
+
from sky.skylet.job_lib import JobStatus
|
65
|
+
from sky.status_lib import ClusterStatus
|
63
66
|
from sky.utils import common_utils
|
64
67
|
from sky.utils import resources_utils
|
65
68
|
from sky.utils import subprocess_utils
|
@@ -95,6 +98,84 @@ _JOB_WAIT_NOT_RUNNING = (
|
|
95
98
|
'sleep 10; s=$(sky jobs queue);'
|
96
99
|
'echo "Waiting for job to stop RUNNING"; echo "$s"; done')
|
97
100
|
|
101
|
+
# Cluster functions
|
102
|
+
_ALL_JOB_STATUSES = "|".join([status.value for status in JobStatus])
|
103
|
+
_ALL_CLUSTER_STATUSES = "|".join([status.value for status in ClusterStatus])
|
104
|
+
|
105
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS = (
|
106
|
+
# A while loop to wait until the cluster status
|
107
|
+
# becomes certain status, with timeout.
|
108
|
+
'start_time=$SECONDS; '
|
109
|
+
'while true; do '
|
110
|
+
'if (( $SECONDS - $start_time > {timeout} )); then '
|
111
|
+
' echo "Timeout after {timeout} seconds waiting for cluster status \'{cluster_status}\'"; exit 1; '
|
112
|
+
'fi; '
|
113
|
+
'current_status=$(sky status {cluster_name} --refresh | '
|
114
|
+
'awk "/^{cluster_name}/ '
|
115
|
+
'{{for (i=1; i<=NF; i++) if (\$i ~ /^(' + _ALL_CLUSTER_STATUSES +
|
116
|
+
')$/) print \$i}}"); '
|
117
|
+
'if [[ "$current_status" =~ {cluster_status} ]]; '
|
118
|
+
'then echo "Target cluster status {cluster_status} reached."; break; fi; '
|
119
|
+
'echo "Waiting for cluster status to become {cluster_status}, current status: $current_status"; '
|
120
|
+
'sleep 10; '
|
121
|
+
'done')
|
122
|
+
|
123
|
+
_WAIT_UNTIL_CLUSTER_IS_NOT_FOUND = (
|
124
|
+
# A while loop to wait until the cluster is not found or timeout
|
125
|
+
'start_time=$SECONDS; '
|
126
|
+
'while true; do '
|
127
|
+
'if (( $SECONDS - $start_time > {timeout} )); then '
|
128
|
+
' echo "Timeout after {timeout} seconds waiting for cluster to be removed"; exit 1; '
|
129
|
+
'fi; '
|
130
|
+
'if sky status -r {cluster_name}; sky status {cluster_name} | grep "{cluster_name} not found"; then '
|
131
|
+
' echo "Cluster {cluster_name} successfully removed."; break; '
|
132
|
+
'fi; '
|
133
|
+
'echo "Waiting for cluster {name} to be removed..."; '
|
134
|
+
'sleep 10; '
|
135
|
+
'done')
|
136
|
+
|
137
|
+
_WAIT_UNTIL_JOB_STATUS_CONTAINS_MATCHING_JOB_ID = (
|
138
|
+
# A while loop to wait until the job status
|
139
|
+
# contains certain status, with timeout.
|
140
|
+
'start_time=$SECONDS; '
|
141
|
+
'while true; do '
|
142
|
+
'if (( $SECONDS - $start_time > {timeout} )); then '
|
143
|
+
' echo "Timeout after {timeout} seconds waiting for job status \'{job_status}\'"; exit 1; '
|
144
|
+
'fi; '
|
145
|
+
'current_status=$(sky queue {cluster_name} | '
|
146
|
+
'awk "\\$1 == \\"{job_id}\\" '
|
147
|
+
'{{for (i=1; i<=NF; i++) if (\$i ~ /^(' + _ALL_JOB_STATUSES +
|
148
|
+
')$/) print \$i}}"); '
|
149
|
+
'found=0; ' # Initialize found variable outside the loop
|
150
|
+
'while read -r line; do ' # Read line by line
|
151
|
+
' if [[ "$line" =~ {job_status} ]]; then ' # Check each line
|
152
|
+
' echo "Target job status {job_status} reached."; '
|
153
|
+
' found=1; '
|
154
|
+
' break; ' # Break inner loop
|
155
|
+
' fi; '
|
156
|
+
'done <<< "$current_status"; '
|
157
|
+
'if [ "$found" -eq 1 ]; then break; fi; ' # Break outer loop if match found
|
158
|
+
'echo "Waiting for job status to contains {job_status}, current status: $current_status"; '
|
159
|
+
'sleep 10; '
|
160
|
+
'done')
|
161
|
+
|
162
|
+
_WAIT_UNTIL_JOB_STATUS_CONTAINS_WITHOUT_MATCHING_JOB = _WAIT_UNTIL_JOB_STATUS_CONTAINS_MATCHING_JOB_ID.replace(
|
163
|
+
'awk "\\$1 == \\"{job_id}\\"', 'awk "')
|
164
|
+
|
165
|
+
_WAIT_UNTIL_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME = _WAIT_UNTIL_JOB_STATUS_CONTAINS_MATCHING_JOB_ID.replace(
|
166
|
+
'awk "\\$1 == \\"{job_id}\\"', 'awk "\\$2 == \\"{job_name}\\"')
|
167
|
+
|
168
|
+
# Managed job functions
|
169
|
+
|
170
|
+
_WAIT_UNTIL_MANAGED_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME = _WAIT_UNTIL_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME.replace(
|
171
|
+
'sky queue {cluster_name}',
|
172
|
+
'sky jobs queue').replace('awk "\\$2 == ', 'awk "\\$3 == ')
|
173
|
+
|
174
|
+
# After the timeout, the cluster will stop if autostop is set, and our check
|
175
|
+
# should be more than the timeout. To address this, we extend the timeout by
|
176
|
+
# _BUMP_UP_SECONDS before exiting.
|
177
|
+
_BUMP_UP_SECONDS = 35
|
178
|
+
|
98
179
|
DEFAULT_CMD_TIMEOUT = 15 * 60
|
99
180
|
|
100
181
|
|
@@ -399,7 +480,6 @@ def test_launch_fast_with_autostop(generic_cloud: str):
|
|
399
480
|
# Azure takes ~ 7m15s (435s) to autostop a VM, so here we use 600 to ensure
|
400
481
|
# the VM is stopped.
|
401
482
|
autostop_timeout = 600 if generic_cloud == 'azure' else 250
|
402
|
-
|
403
483
|
test = Test(
|
404
484
|
'test_launch_fast_with_autostop',
|
405
485
|
[
|
@@ -407,10 +487,12 @@ def test_launch_fast_with_autostop(generic_cloud: str):
|
|
407
487
|
f'unset SKYPILOT_DEBUG; s=$(sky launch -y -c {name} --cloud {generic_cloud} --fast -i 1 tests/test_yamls/minimal.yaml) && {_VALIDATE_LAUNCH_OUTPUT}',
|
408
488
|
f'sky logs {name} 1 --status',
|
409
489
|
f'sky status -r {name} | grep UP',
|
410
|
-
f'sleep {autostop_timeout}',
|
411
490
|
|
412
491
|
# Ensure cluster is stopped
|
413
|
-
|
492
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
493
|
+
cluster_name=name,
|
494
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
495
|
+
timeout=autostop_timeout),
|
414
496
|
|
415
497
|
# Launch again. Do full output validation - we expect the cluster to re-launch
|
416
498
|
f'unset SKYPILOT_DEBUG; s=$(sky launch -y -c {name} --fast -i 1 tests/test_yamls/minimal.yaml) && {_VALIDATE_LAUNCH_OUTPUT}',
|
@@ -842,6 +924,12 @@ def test_clone_disk_aws():
|
|
842
924
|
f'sky launch -y -c {name} --cloud aws --region us-east-2 --retry-until-up "echo hello > ~/user_file.txt"',
|
843
925
|
f'sky launch --clone-disk-from {name} -y -c {name}-clone && exit 1 || true',
|
844
926
|
f'sky stop {name} -y',
|
927
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
928
|
+
cluster_name=name,
|
929
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
930
|
+
timeout=60),
|
931
|
+
# Wait for EC2 instance to be in stopped state.
|
932
|
+
# TODO: event based wait.
|
845
933
|
'sleep 60',
|
846
934
|
f'sky launch --clone-disk-from {name} -y -c {name}-clone --cloud aws -d --region us-east-2 "cat ~/user_file.txt | grep hello"',
|
847
935
|
f'sky launch --clone-disk-from {name} -y -c {name}-clone-2 --cloud aws -d --region us-east-2 "cat ~/user_file.txt | grep hello"',
|
@@ -888,8 +976,8 @@ def test_gcp_mig():
|
|
888
976
|
# Check MIG exists.
|
889
977
|
f'gcloud compute instance-groups managed list --format="value(name)" | grep "^sky-mig-{name}"',
|
890
978
|
f'sky autostop -i 0 --down -y {name}',
|
891
|
-
|
892
|
-
|
979
|
+
_WAIT_UNTIL_CLUSTER_IS_NOT_FOUND.format(cluster_name=name,
|
980
|
+
timeout=120),
|
893
981
|
f'gcloud compute instance-templates list | grep "sky-it-{name}"',
|
894
982
|
# Launch again with the same region. The original instance template
|
895
983
|
# should be removed.
|
@@ -956,8 +1044,10 @@ def test_custom_default_conda_env(generic_cloud: str):
|
|
956
1044
|
f'sky exec {name} tests/test_yamls/test_custom_default_conda_env.yaml',
|
957
1045
|
f'sky logs {name} 2 --status',
|
958
1046
|
f'sky autostop -y -i 0 {name}',
|
959
|
-
|
960
|
-
|
1047
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
1048
|
+
cluster_name=name,
|
1049
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
1050
|
+
timeout=80),
|
961
1051
|
f'sky start -y {name}',
|
962
1052
|
f'sky logs {name} 2 --no-follow | grep -E "myenv\\s+\\*"',
|
963
1053
|
f'sky exec {name} tests/test_yamls/test_custom_default_conda_env.yaml',
|
@@ -978,7 +1068,10 @@ def test_stale_job(generic_cloud: str):
|
|
978
1068
|
f'sky launch -y -c {name} --cloud {generic_cloud} "echo hi"',
|
979
1069
|
f'sky exec {name} -d "echo start; sleep 10000"',
|
980
1070
|
f'sky stop {name} -y',
|
981
|
-
|
1071
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
1072
|
+
cluster_name=name,
|
1073
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
1074
|
+
timeout=100),
|
982
1075
|
f'sky start {name} -y',
|
983
1076
|
f'sky logs {name} 1 --status',
|
984
1077
|
f's=$(sky queue {name}); echo "$s"; echo; echo; echo "$s" | grep FAILED_DRIVER',
|
@@ -1006,13 +1099,18 @@ def test_aws_stale_job_manual_restart():
|
|
1006
1099
|
'--output text`; '
|
1007
1100
|
f'aws ec2 stop-instances --region {region} '
|
1008
1101
|
'--instance-ids $id',
|
1009
|
-
|
1102
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
1103
|
+
cluster_name=name,
|
1104
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
1105
|
+
timeout=40),
|
1010
1106
|
f'sky launch -c {name} -y "echo hi"',
|
1011
1107
|
f'sky logs {name} 1 --status',
|
1012
1108
|
f'sky logs {name} 3 --status',
|
1013
1109
|
# Ensure the skylet updated the stale job status.
|
1014
|
-
|
1015
|
-
|
1110
|
+
_WAIT_UNTIL_JOB_STATUS_CONTAINS_WITHOUT_MATCHING_JOB.format(
|
1111
|
+
cluster_name=name,
|
1112
|
+
job_status=JobStatus.FAILED_DRIVER.value,
|
1113
|
+
timeout=events.JobSchedulerEvent.EVENT_INTERVAL_SECONDS),
|
1016
1114
|
],
|
1017
1115
|
f'sky down -y {name}',
|
1018
1116
|
)
|
@@ -1042,8 +1140,10 @@ def test_gcp_stale_job_manual_restart():
|
|
1042
1140
|
f'sky logs {name} 1 --status',
|
1043
1141
|
f'sky logs {name} 3 --status',
|
1044
1142
|
# Ensure the skylet updated the stale job status.
|
1045
|
-
|
1046
|
-
|
1143
|
+
_WAIT_UNTIL_JOB_STATUS_CONTAINS_WITHOUT_MATCHING_JOB.format(
|
1144
|
+
cluster_name=name,
|
1145
|
+
job_status=JobStatus.FAILED_DRIVER.value,
|
1146
|
+
timeout=events.JobSchedulerEvent.EVENT_INTERVAL_SECONDS)
|
1047
1147
|
],
|
1048
1148
|
f'sky down -y {name}',
|
1049
1149
|
)
|
@@ -1861,7 +1961,13 @@ def test_multi_echo(generic_cloud: str):
|
|
1861
1961
|
f'until sky logs {name} 32 --status; do echo "Waiting for job 32 to finish..."; sleep 1; done',
|
1862
1962
|
] +
|
1863
1963
|
# Ensure jobs succeeded.
|
1864
|
-
[
|
1964
|
+
[
|
1965
|
+
_WAIT_UNTIL_JOB_STATUS_CONTAINS_MATCHING_JOB_ID.format(
|
1966
|
+
cluster_name=name,
|
1967
|
+
job_id=i + 1,
|
1968
|
+
job_status=JobStatus.SUCCEEDED.value,
|
1969
|
+
timeout=120) for i in range(32)
|
1970
|
+
] +
|
1865
1971
|
# Ensure monitor/autoscaler didn't crash on the 'assert not
|
1866
1972
|
# unfulfilled' error. If process not found, grep->ssh returns 1.
|
1867
1973
|
[f'ssh {name} \'ps aux | grep "[/]"monitor.py\''],
|
@@ -2433,12 +2539,18 @@ def test_gcp_start_stop():
|
|
2433
2539
|
f'sky exec {name} "prlimit -n --pid=\$(pgrep -f \'raylet/raylet --raylet_socket_name\') | grep \'"\'1048576 1048576\'"\'"', # Ensure the raylet process has the correct file descriptor limit.
|
2434
2540
|
f'sky logs {name} 3 --status', # Ensure the job succeeded.
|
2435
2541
|
f'sky stop -y {name}',
|
2436
|
-
|
2542
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2543
|
+
cluster_name=name,
|
2544
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
2545
|
+
timeout=40),
|
2437
2546
|
f'sky start -y {name} -i 1',
|
2438
2547
|
f'sky exec {name} examples/gcp_start_stop.yaml',
|
2439
2548
|
f'sky logs {name} 4 --status', # Ensure the job succeeded.
|
2440
|
-
|
2441
|
-
|
2549
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2550
|
+
cluster_name=name,
|
2551
|
+
cluster_status=
|
2552
|
+
f'({ClusterStatus.STOPPED.value}|{ClusterStatus.INIT.value})',
|
2553
|
+
timeout=200),
|
2442
2554
|
],
|
2443
2555
|
f'sky down -y {name}',
|
2444
2556
|
)
|
@@ -2461,9 +2573,12 @@ def test_azure_start_stop():
|
|
2461
2573
|
f'sky start -y {name} -i 1',
|
2462
2574
|
f'sky exec {name} examples/azure_start_stop.yaml',
|
2463
2575
|
f'sky logs {name} 3 --status', # Ensure the job succeeded.
|
2464
|
-
|
2465
|
-
|
2466
|
-
|
2576
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2577
|
+
cluster_name=name,
|
2578
|
+
cluster_status=
|
2579
|
+
f'({ClusterStatus.STOPPED.value}|{ClusterStatus.INIT.value})',
|
2580
|
+
timeout=280) +
|
2581
|
+
f'|| {{ ssh {name} "cat ~/.sky/skylet.log"; exit 1; }}',
|
2467
2582
|
],
|
2468
2583
|
f'sky down -y {name}',
|
2469
2584
|
timeout=30 * 60, # 30 mins
|
@@ -2499,8 +2614,10 @@ def test_autostop(generic_cloud: str):
|
|
2499
2614
|
f's=$(sky status {name} --refresh); echo "$s"; echo; echo; echo "$s" | grep {name} | grep UP',
|
2500
2615
|
|
2501
2616
|
# Ensure the cluster is STOPPED.
|
2502
|
-
|
2503
|
-
|
2617
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2618
|
+
cluster_name=name,
|
2619
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
2620
|
+
timeout=autostop_timeout),
|
2504
2621
|
|
2505
2622
|
# Ensure the cluster is UP and the autostop setting is reset ('-').
|
2506
2623
|
f'sky start -y {name}',
|
@@ -2516,8 +2633,10 @@ def test_autostop(generic_cloud: str):
|
|
2516
2633
|
f'sky autostop -y {name} -i 1', # Should restart the timer.
|
2517
2634
|
'sleep 40',
|
2518
2635
|
f's=$(sky status {name} --refresh); echo "$s"; echo; echo; echo "$s" | grep {name} | grep UP',
|
2519
|
-
|
2520
|
-
|
2636
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2637
|
+
cluster_name=name,
|
2638
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
2639
|
+
timeout=autostop_timeout),
|
2521
2640
|
|
2522
2641
|
# Test restarting the idleness timer via exec:
|
2523
2642
|
f'sky start -y {name}',
|
@@ -2527,8 +2646,10 @@ def test_autostop(generic_cloud: str):
|
|
2527
2646
|
f'sky exec {name} echo hi', # Should restart the timer.
|
2528
2647
|
'sleep 45',
|
2529
2648
|
f's=$(sky status {name} --refresh); echo "$s"; echo; echo; echo "$s" | grep {name} | grep UP',
|
2530
|
-
|
2531
|
-
|
2649
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2650
|
+
cluster_name=name,
|
2651
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
2652
|
+
timeout=autostop_timeout + _BUMP_UP_SECONDS),
|
2532
2653
|
],
|
2533
2654
|
f'sky down -y {name}',
|
2534
2655
|
timeout=total_timeout_minutes * 60,
|
@@ -2745,15 +2866,19 @@ def test_stop_gcp_spot():
|
|
2745
2866
|
f'sky exec {name} -- ls myfile',
|
2746
2867
|
f'sky logs {name} 2 --status',
|
2747
2868
|
f'sky autostop {name} -i0 -y',
|
2748
|
-
|
2749
|
-
|
2869
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2870
|
+
cluster_name=name,
|
2871
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
2872
|
+
timeout=90),
|
2750
2873
|
f'sky start {name} -y',
|
2751
2874
|
f'sky exec {name} -- ls myfile',
|
2752
2875
|
f'sky logs {name} 3 --status',
|
2753
2876
|
# -i option at launch should go through:
|
2754
2877
|
f'sky launch -c {name} -i0 -y',
|
2755
|
-
|
2756
|
-
|
2878
|
+
_WAIT_UNTIL_CLUSTER_STATUS_IS.format(
|
2879
|
+
cluster_name=name,
|
2880
|
+
cluster_status=ClusterStatus.STOPPED.value,
|
2881
|
+
timeout=120),
|
2757
2882
|
],
|
2758
2883
|
f'sky down -y {name}',
|
2759
2884
|
)
|
@@ -2773,14 +2898,21 @@ def test_managed_jobs(generic_cloud: str):
|
|
2773
2898
|
[
|
2774
2899
|
f'sky jobs launch -n {name}-1 --cloud {generic_cloud} examples/managed_job.yaml -y -d',
|
2775
2900
|
f'sky jobs launch -n {name}-2 --cloud {generic_cloud} examples/managed_job.yaml -y -d',
|
2776
|
-
|
2777
|
-
|
2778
|
-
|
2901
|
+
_WAIT_UNTIL_MANAGED_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME.format(
|
2902
|
+
job_name=f'{name}-1',
|
2903
|
+
job_status=
|
2904
|
+
f'({JobStatus.PENDING.value}|{JobStatus.INIT.value}|{JobStatus.RUNNING.value})',
|
2905
|
+
timeout=60),
|
2906
|
+
_WAIT_UNTIL_MANAGED_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME.format(
|
2907
|
+
job_name=f'{name}-2',
|
2908
|
+
job_status=
|
2909
|
+
f'({JobStatus.PENDING.value}|{JobStatus.INIT.value}|{JobStatus.RUNNING.value})',
|
2910
|
+
timeout=60),
|
2779
2911
|
f'sky jobs cancel -y -n {name}-1',
|
2780
|
-
|
2781
|
-
|
2782
|
-
|
2783
|
-
|
2912
|
+
_WAIT_UNTIL_MANAGED_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME.format(
|
2913
|
+
job_name=f'{name}-1',
|
2914
|
+
job_status=f'{JobStatus.CANCELLED.value}',
|
2915
|
+
timeout=230),
|
2784
2916
|
# Test the functionality for logging.
|
2785
2917
|
f's=$(sky jobs logs -n {name}-2 --no-follow); echo "$s"; echo "$s" | grep "start counting"',
|
2786
2918
|
f's=$(sky jobs logs --controller -n {name}-2 --no-follow); echo "$s"; echo "$s" | grep "Cluster launched:"',
|
@@ -2850,9 +2982,11 @@ def test_managed_jobs_failed_setup(generic_cloud: str):
|
|
2850
2982
|
'managed_jobs_failed_setup',
|
2851
2983
|
[
|
2852
2984
|
f'sky jobs launch -n {name} --cloud {generic_cloud} -y -d tests/test_yamls/failed_setup.yaml',
|
2853
|
-
'sleep 330',
|
2854
2985
|
# Make sure the job failed quickly.
|
2855
|
-
|
2986
|
+
_WAIT_UNTIL_MANAGED_JOB_STATUS_CONTAINS_MATCHING_JOB_NAME.format(
|
2987
|
+
job_name=name,
|
2988
|
+
job_status=f'{JobStatus.FAILED_SETUP.value}',
|
2989
|
+
timeout=330 + _BUMP_UP_SECONDS),
|
2856
2990
|
],
|
2857
2991
|
f'sky jobs cancel -y -n {name}',
|
2858
2992
|
# Increase timeout since sky jobs queue -r can be blocked by other spot tests.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/__init__.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/aws.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/azure.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/cloudflare.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/common.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/cudo.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/docker.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/gcp.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/ibm.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/kubernetes.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/oci.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/runpod.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/adaptors/vsphere.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/admin_policy.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/authentication.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/__init__.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/backends/backend.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/benchmark/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/cloud_stores.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/__init__.py
RENAMED
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/azure.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/cloud.py
RENAMED
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/cudo.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/fluidstack.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/lambda_cloud.py
RENAMED
File without changes
|
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/paperspace.py
RENAMED
File without changes
|
{skypilot_nightly-1.0.0.dev20241119 → skypilot_nightly-1.0.0.dev20241121}/sky/clouds/runpod.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|