skypilot-nightly 1.0.0.dev20240901__tar.gz → 1.0.0.dev20240902__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.
Files changed (298) hide show
  1. {skypilot_nightly-1.0.0.dev20240901/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20240902}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/aws.py +13 -5
  4. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/azure.py +9 -6
  5. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/cloud.py +1 -1
  6. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/gcp.py +14 -3
  7. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/oci.py +16 -1
  8. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/azure_catalog.py +2 -1
  9. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/oci_catalog.py +6 -1
  10. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/optimizer.py +10 -0
  11. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/aws-ray.yml.j2 +3 -1
  12. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/gcp-ray.yml.j2 +3 -0
  13. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/resources_utils.py +1 -0
  14. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  15. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_optimizer_dryruns.py +7 -0
  16. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_smoke.py +7 -7
  17. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/LICENSE +0 -0
  18. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/MANIFEST.in +0 -0
  19. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/README.md +0 -0
  20. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/pyproject.toml +0 -0
  21. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/setup.cfg +0 -0
  22. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/setup.py +0 -0
  23. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/__init__.py +0 -0
  24. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/aws.py +0 -0
  25. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/azure.py +0 -0
  26. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/cloudflare.py +0 -0
  27. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/common.py +0 -0
  28. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/cudo.py +0 -0
  29. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/docker.py +0 -0
  30. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/gcp.py +0 -0
  31. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/ibm.py +0 -0
  32. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/kubernetes.py +0 -0
  33. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/oci.py +0 -0
  34. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/runpod.py +0 -0
  35. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/adaptors/vsphere.py +0 -0
  36. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/authentication.py +0 -0
  37. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/__init__.py +0 -0
  38. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/backend.py +0 -0
  39. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/backend_utils.py +0 -0
  40. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/cloud_vm_ray_backend.py +0 -0
  41. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/docker_utils.py +0 -0
  42. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/local_docker_backend.py +0 -0
  43. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  44. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/backends/wheel_utils.py +0 -0
  45. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/benchmark/__init__.py +0 -0
  46. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/benchmark/benchmark_state.py +0 -0
  47. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/benchmark/benchmark_utils.py +0 -0
  48. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/check.py +0 -0
  49. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/cli.py +0 -0
  50. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/cloud_stores.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/__init__.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/cloud_registry.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/cudo.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/fluidstack.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/ibm.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/kubernetes.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/lambda_cloud.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/paperspace.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/runpod.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/scp.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/__init__.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/aws_catalog.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/common.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/config.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/constants.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/cudo_catalog.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/__init__.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_aws.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_azure.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_cudo.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_fluidstack.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_gcp.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/fluidstack_catalog.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/gcp_catalog.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/ibm_catalog.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/kubernetes_catalog.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/lambda_catalog.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/paperspace_catalog.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/runpod_catalog.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/scp_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/service_catalog/vsphere_catalog.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/utils/__init__.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/utils/aws_utils.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/utils/gcp_utils.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/utils/lambda_utils.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/utils/oci_utils.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/utils/scp_utils.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/clouds/vsphere.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/core.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/dag.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/data/__init__.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/data/data_transfer.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/data/data_utils.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/data/mounting_utils.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/data/storage.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/data/storage_utils.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/exceptions.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/execution.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/global_user_state.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/__init__.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/constants.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/controller.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/core.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/dashboard/dashboard.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/dashboard/static/favicon.ico +0 -0
  108. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/dashboard/templates/index.html +0 -0
  109. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/recovery_strategy.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/state.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/jobs/utils.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/__init__.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/aws/__init__.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/aws/config.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/aws/instance.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/aws/utils.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/azure/__init__.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/azure/azure-config-template.json +0 -0
  119. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/azure/azure-vm-template.json +0 -0
  120. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/azure/config.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/azure/instance.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/common.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/constants.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/cudo/__init__.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/cudo/config.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/cudo/cudo_machine_type.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/cudo/cudo_utils.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/cudo/cudo_wrapper.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/cudo/instance.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/docker_utils.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/fluidstack/__init__.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/fluidstack/config.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/fluidstack/instance.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/gcp/__init__.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/gcp/config.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/gcp/constants.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/gcp/instance.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/gcp/instance_utils.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/gcp/mig_utils.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/instance_setup.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/__init__.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/config.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/instance.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/manifests/smarter-device-manager-configmap.yaml +0 -0
  146. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/manifests/smarter-device-manager-daemonset.yaml +0 -0
  147. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/network.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/network_utils.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/kubernetes/utils.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/logging.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/metadata_utils.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/paperspace/__init__.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/paperspace/config.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/paperspace/constants.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/paperspace/instance.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/paperspace/utils.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/provisioner.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/runpod/__init__.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/runpod/config.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/runpod/instance.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/runpod/utils.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/__init__.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/__init__.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/custom_script.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/id_generator.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/service_manager.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/common/vim_utils.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/config.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/instance.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/provision/vsphere/vsphere_utils.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/resources.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/__init__.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/autoscalers.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/constants.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/controller.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/core.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/load_balancer.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/load_balancing_policies.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/replica_managers.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/serve_state.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/serve_utils.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/service.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/serve/service_spec.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/setup_files/MANIFEST.in +0 -0
  191. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/setup_files/setup.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/sky_logging.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/LICENSE +0 -0
  194. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/__init__.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/attempt_skylet.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/autostop_lib.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/configs.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/constants.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/events.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/job_lib.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/log_lib.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/log_lib.pyi +0 -0
  203. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/__init__.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/command_runner.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/ibm/__init__.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/ibm/node_provider.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/ibm/utils.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/lambda_cloud/__init__.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/lambda_cloud/node_provider.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/oci/__init__.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/oci/node_provider.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/oci/query_helper.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/oci/utils.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/scp/__init__.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/scp/config.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/providers/scp/node_provider.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/__init__.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  220. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/cli.py.patch +0 -0
  221. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  222. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  223. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  224. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/updater.py.patch +0 -0
  225. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/ray_patches/worker.py.patch +0 -0
  226. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/skylet.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skylet/subprocess_daemon.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/skypilot_config.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/status_lib.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/task.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/azure-ray.yml.j2 +0 -0
  232. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/cudo-ray.yml.j2 +0 -0
  233. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  234. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/ibm-ray.yml.j2 +0 -0
  235. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/jobs-controller.yaml.j2 +0 -0
  236. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  237. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  238. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  239. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  240. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  241. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/lambda-ray.yml.j2 +0 -0
  242. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/local-ray.yml.j2 +0 -0
  243. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/oci-ray.yml.j2 +0 -0
  244. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/paperspace-ray.yml.j2 +0 -0
  245. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/runpod-ray.yml.j2 +0 -0
  246. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/scp-ray.yml.j2 +0 -0
  247. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  248. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/templates/vsphere-ray.yml.j2 +0 -0
  249. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/usage/__init__.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/usage/constants.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/usage/usage_lib.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/__init__.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/accelerator_registry.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/cli_utils/__init__.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/cli_utils/status_utils.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/cluster_yaml_utils.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/command_runner.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/command_runner.pyi +0 -0
  259. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/common_utils.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/controller_utils.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/dag_utils.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/db_utils.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/env_options.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/__init__.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/create_cluster.sh +0 -0
  266. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  267. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  269. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  271. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  272. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  273. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/kubernetes_enums.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/log_utils.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/rich_utils.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/schemas.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/subprocess_utils.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/timeline.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/ux_utils.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/sky/utils/validator.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/skypilot_nightly.egg-info/SOURCES.txt +0 -0
  283. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  284. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  285. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/skypilot_nightly.egg-info/requires.txt +0 -0
  286. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/skypilot_nightly.egg-info/top_level.txt +0 -0
  287. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_api.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_cli.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_config.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_global_user_state.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_jobs.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_jobs_and_serve.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_list_accelerators.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_optimizer_random_dag.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_serve_autoscaler.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_storage.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/tests/test_wheels.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20240901 → skypilot_nightly-1.0.0.dev20240902}/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.dev20240901
3
+ Version: 1.0.0.dev20240902
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.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 = '50f68d2093cbe9dc7da6d53c3c17c45e0b97b84c'
8
+ _SKYPILOT_COMMIT_SHA = '2e204d001b037cd4ff84abbaa4f2c81d3442ba22'
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.dev20240901'
38
+ __version__ = '1.0.0.dev20240902'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -798,7 +798,11 @@ class AWS(clouds.Cloud):
798
798
 
799
799
  @classmethod
800
800
  def _get_disk_type(cls, disk_tier: resources_utils.DiskTier) -> str:
801
- return 'standard' if disk_tier == resources_utils.DiskTier.LOW else 'gp3'
801
+ if disk_tier == resources_utils.DiskTier.LOW:
802
+ return 'standard'
803
+ if disk_tier == resources_utils.DiskTier.ULTRA:
804
+ return 'io2'
805
+ return 'gp3'
802
806
 
803
807
  @classmethod
804
808
  def _get_disk_specs(
@@ -806,15 +810,19 @@ class AWS(clouds.Cloud):
806
810
  disk_tier: Optional[resources_utils.DiskTier]) -> Dict[str, Any]:
807
811
  tier = cls._translate_disk_tier(disk_tier)
808
812
  tier2iops = {
813
+ resources_utils.DiskTier.ULTRA: 20000,
809
814
  resources_utils.DiskTier.HIGH: 7000,
810
815
  resources_utils.DiskTier.MEDIUM: 3500,
811
- resources_utils.DiskTier.LOW: 0, # only gp3 is required to set iops
816
+ resources_utils.DiskTier.LOW: 0, # iops is not required on standard disk
812
817
  }
813
818
  return {
814
819
  'disk_tier': cls._get_disk_type(tier),
815
- 'disk_iops': tier2iops[tier],
816
- 'disk_throughput': tier2iops[tier] // 16,
817
- 'custom_disk_perf': tier != resources_utils.DiskTier.LOW,
820
+ 'disk_iops': tier2iops[tier]
821
+ if cls._get_disk_type(tier) != 'standard' else None,
822
+ # Custom disk throughput is only available for gp3
823
+ # see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html
824
+ 'disk_throughput': tier2iops[tier] // 16
825
+ if cls._get_disk_type(tier) == 'gp3' else None,
818
826
  }
819
827
 
820
828
  @classmethod
@@ -60,9 +60,10 @@ class Azure(clouds.Cloud):
60
60
  _MAX_CLUSTER_NAME_LEN_LIMIT = 42
61
61
  _BEST_DISK_TIER = resources_utils.DiskTier.MEDIUM
62
62
  _DEFAULT_DISK_TIER = resources_utils.DiskTier.MEDIUM
63
- # Azure does not support high disk tier.
64
- _SUPPORTED_DISK_TIERS = (set(resources_utils.DiskTier) -
65
- {resources_utils.DiskTier.HIGH})
63
+ # Azure does not support high disk and ultra disk tier.
64
+ _SUPPORTED_DISK_TIERS = (
65
+ set(resources_utils.DiskTier) -
66
+ {resources_utils.DiskTier.HIGH, resources_utils.DiskTier.ULTRA})
66
67
 
67
68
  _INDENT_PREFIX = ' ' * 4
68
69
 
@@ -599,9 +600,10 @@ class Azure(clouds.Cloud):
599
600
  disk_tier: Optional[resources_utils.DiskTier]) -> Tuple[bool, str]:
600
601
  if disk_tier is None or disk_tier == resources_utils.DiskTier.BEST:
601
602
  return True, ''
602
- if disk_tier == resources_utils.DiskTier.HIGH:
603
- return False, ('Azure disk_tier=high is not supported now. '
604
- 'Please use disk_tier={low, medium} instead.')
603
+ if disk_tier == resources_utils.DiskTier.HIGH or disk_tier == resources_utils.DiskTier.ULTRA:
604
+ return False, (
605
+ 'Azure disk_tier={high, ultra} is not supported now. '
606
+ 'Please use disk_tier={low, medium, best} instead.')
605
607
  # Only S-series supported premium ssd
606
608
  # see https://stackoverflow.com/questions/48590520/azure-requested-operation-cannot-be-performed-because-storage-account-type-pre # pylint: disable=line-too-long
607
609
  if cls._get_disk_type(
@@ -628,6 +630,7 @@ class Azure(clouds.Cloud):
628
630
  # TODO(tian): Maybe use PremiumV2_LRS/UltraSSD_LRS? Notice these two
629
631
  # cannot be used as OS disks so we might need data disk support
630
632
  tier2name = {
633
+ resources_utils.DiskTier.ULTRA: 'Disabled',
631
634
  resources_utils.DiskTier.HIGH: 'Disabled',
632
635
  resources_utils.DiskTier.MEDIUM: 'Premium_LRS',
633
636
  resources_utils.DiskTier.LOW: 'Standard_LRS',
@@ -117,7 +117,7 @@ class Cloud:
117
117
 
118
118
  _REPR = '<Cloud>'
119
119
  _DEFAULT_DISK_TIER = resources_utils.DiskTier.MEDIUM
120
- _BEST_DISK_TIER = resources_utils.DiskTier.HIGH
120
+ _BEST_DISK_TIER = resources_utils.DiskTier.ULTRA
121
121
  _SUPPORTED_DISK_TIERS = {resources_utils.DiskTier.BEST}
122
122
  _SUPPORTS_SERVICE_ACCOUNT_ON_REMOTE = False
123
123
 
@@ -7,7 +7,7 @@ import re
7
7
  import subprocess
8
8
  import time
9
9
  import typing
10
- from typing import Dict, Iterator, List, Optional, Set, Tuple
10
+ from typing import Any, Dict, Iterator, List, Optional, Set, Tuple
11
11
 
12
12
  import colorama
13
13
 
@@ -437,6 +437,7 @@ class GCP(clouds.Cloud):
437
437
  'custom_resources': None,
438
438
  'use_spot': r.use_spot,
439
439
  'gcp_project_id': self.get_project_id(dryrun),
440
+ **GCP._get_disk_specs(r.disk_tier),
440
441
  }
441
442
  accelerators = r.accelerators
442
443
  if accelerators is not None:
@@ -495,8 +496,6 @@ class GCP(clouds.Cloud):
495
496
  resources_vars['machine_image'] = image_id
496
497
  resources_vars['image_id'] = None
497
498
 
498
- resources_vars['disk_tier'] = GCP._get_disk_type(r.disk_tier)
499
-
500
499
  firewall_rule = None
501
500
  if resources.ports is not None:
502
501
  firewall_rule = (USER_PORTS_FIREWALL_RULE_NAME.format(
@@ -917,12 +916,24 @@ class GCP(clouds.Cloud):
917
916
  disk_tier: Optional[resources_utils.DiskTier]) -> str:
918
917
  tier = cls._translate_disk_tier(disk_tier)
919
918
  tier2name = {
919
+ resources_utils.DiskTier.ULTRA: 'pd-extreme',
920
920
  resources_utils.DiskTier.HIGH: 'pd-ssd',
921
921
  resources_utils.DiskTier.MEDIUM: 'pd-balanced',
922
922
  resources_utils.DiskTier.LOW: 'pd-standard',
923
923
  }
924
924
  return tier2name[tier]
925
925
 
926
+ @classmethod
927
+ def _get_disk_specs(
928
+ cls,
929
+ disk_tier: Optional[resources_utils.DiskTier]) -> Dict[str, Any]:
930
+ specs: Dict[str, Any] = {'disk_tier': cls._get_disk_type(disk_tier)}
931
+ if disk_tier == resources_utils.DiskTier.ULTRA:
932
+ # Only pd-extreme supports custom iops.
933
+ # see https://cloud.google.com/compute/docs/disks#disk-types
934
+ specs['disk_iops'] = 20000
935
+ return specs
936
+
926
937
  @classmethod
927
938
  def _label_filter_str(cls, tag_filters: Dict[str, str]) -> str:
928
939
  return ' '.join(f'labels.{k}={v}' for k, v in tag_filters.items())
@@ -42,7 +42,9 @@ class OCI(clouds.Cloud):
42
42
 
43
43
  _INDENT_PREFIX = ' '
44
44
 
45
- _SUPPORTED_DISK_TIERS = set(resources_utils.DiskTier)
45
+ _SUPPORTED_DISK_TIERS = (set(resources_utils.DiskTier) -
46
+ {resources_utils.DiskTier.ULTRA})
47
+ _BEST_DISK_TIER = resources_utils.DiskTier.HIGH
46
48
 
47
49
  @classmethod
48
50
  def _unsupported_features_for_resources(
@@ -414,6 +416,19 @@ class OCI(clouds.Cloud):
414
416
  f'{cls._INDENT_PREFIX}Error details: '
415
417
  f'{common_utils.format_exception(e, use_bracket=True)}')
416
418
 
419
+ @classmethod
420
+ def check_disk_tier(
421
+ cls, instance_type: Optional[str],
422
+ disk_tier: Optional[resources_utils.DiskTier]) -> Tuple[bool, str]:
423
+ del instance_type # Unused.
424
+ if disk_tier is None or disk_tier == resources_utils.DiskTier.BEST:
425
+ return True, ''
426
+ if disk_tier == resources_utils.DiskTier.ULTRA:
427
+ return False, ('OCI disk_tier=ultra is not supported now. '
428
+ 'Please use disk_tier={low, medium, high, best} '
429
+ 'instead.')
430
+ return True, ''
431
+
417
432
  def get_credential_file_mounts(self) -> Dict[str, str]:
418
433
  """Returns a dict of credential file paths to mount paths."""
419
434
  oci_cfg_file = oci_adaptor.get_config_file()
@@ -110,7 +110,8 @@ def get_default_instance_type(
110
110
  _DEFAULT_INSTANCE_FAMILY)]
111
111
 
112
112
  def _filter_disk_type(instance_type: str) -> bool:
113
- return Azure.check_disk_tier(instance_type, disk_tier)[0]
113
+ valid, _ = Azure.check_disk_tier(instance_type, disk_tier)
114
+ return valid
114
115
 
115
116
  df = df.loc[df['InstanceType'].apply(_filter_disk_type)]
116
117
  return common.get_instance_type_for_cpus_mem_impl(df, cpus,
@@ -15,6 +15,7 @@ import typing
15
15
  from typing import Dict, List, Optional, Tuple
16
16
 
17
17
  from sky.adaptors import oci as oci_adaptor
18
+ from sky.clouds import OCI
18
19
  from sky.clouds.service_catalog import common
19
20
  from sky.clouds.utils import oci_utils
20
21
  from sky.utils import resources_utils
@@ -102,7 +103,6 @@ def get_default_instance_type(
102
103
  cpus: Optional[str] = None,
103
104
  memory: Optional[str] = None,
104
105
  disk_tier: Optional[resources_utils.DiskTier] = None) -> Optional[str]:
105
- del disk_tier # unused
106
106
  if cpus is None:
107
107
  cpus = f'{oci_utils.oci_config.DEFAULT_NUM_VCPUS}+'
108
108
 
@@ -111,12 +111,17 @@ def get_default_instance_type(
111
111
  else:
112
112
  memory_gb_or_ratio = memory
113
113
 
114
+ def _filter_disk_type(instance_type: str) -> bool:
115
+ valid, _ = OCI.check_disk_tier(instance_type, disk_tier)
116
+ return valid
117
+
114
118
  instance_type_prefix = tuple(
115
119
  f'{family}' for family in oci_utils.oci_config.DEFAULT_INSTANCE_FAMILY)
116
120
 
117
121
  df = _get_df()
118
122
  df = df[df['InstanceType'].notna()]
119
123
  df = df[df['InstanceType'].str.startswith(instance_type_prefix)]
124
+ df = df.loc[df['InstanceType'].apply(_filter_disk_type)]
120
125
 
121
126
  logger.debug(f'# get_default_instance_type: {df}')
122
127
  return common.get_instance_type_for_cpus_mem_impl(df, cpus,
@@ -19,6 +19,7 @@ from sky import task as task_lib
19
19
  from sky.adaptors import common as adaptors_common
20
20
  from sky.utils import env_options
21
21
  from sky.utils import log_utils
22
+ from sky.utils import resources_utils
22
23
  from sky.utils import rich_utils
23
24
  from sky.utils import subprocess_utils
24
25
  from sky.utils import ux_utils
@@ -935,6 +936,15 @@ class Optimizer:
935
936
  table.add_rows(rows)
936
937
  logger.info(f'{table}\n')
937
938
 
939
+ # Warning message for using disk_tier=ultra
940
+ # TODO(yi): Consider price of disks in optimizer and
941
+ # move this warning there.
942
+ if chosen_resources.disk_tier == resources_utils.DiskTier.ULTRA:
943
+ logger.warning(
944
+ 'Using disk_tier=ultra will utilize more advanced disks '
945
+ '(io2 Block Express on AWS and extreme persistent disk on '
946
+ 'GCP), which can lead to significant higher costs (~$2/h).')
947
+
938
948
  @staticmethod
939
949
  def _print_candidates(node_to_candidate_map: _TaskToPerCloudCandidates):
940
950
  for node, candidate_set in node_to_candidate_map.items():
@@ -73,8 +73,10 @@ available_node_types:
73
73
  VolumeSize: {{disk_size}}
74
74
  VolumeType: {{disk_tier}}
75
75
  Encrypted: {{disk_encrypted}}
76
- {% if custom_disk_perf %}
76
+ {% if disk_iops %}
77
77
  Iops: {{disk_iops}}
78
+ {% endif %}
79
+ {% if disk_throughput %}
78
80
  Throughput: {{disk_throughput}}
79
81
  {% endif %}
80
82
  {% if use_spot %}
@@ -124,6 +124,9 @@ available_node_types:
124
124
  sourceImage: {{image_id}}
125
125
  {%- endif %}
126
126
  diskType: zones/{{zones}}/diskTypes/{{disk_tier}}
127
+ {%- if disk_iops %}
128
+ provisionedIops: {{disk_iops}}
129
+ {%- endif %}
127
130
  {%- if gpu is not none %}
128
131
  guestAccelerators:
129
132
  - acceleratorType: projects/{{gcp_project_id}}/zones/{{zones}}/acceleratorTypes/{{gpu}}
@@ -24,6 +24,7 @@ class DiskTier(enum.Enum):
24
24
  LOW = 'low'
25
25
  MEDIUM = 'medium'
26
26
  HIGH = 'high'
27
+ ULTRA = 'ultra'
27
28
  BEST = 'best'
28
29
 
29
30
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20240901
3
+ Version: 1.0.0.dev20240902
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -771,3 +771,10 @@ def test_optimize_disk_tier(enable_all_clouds):
771
771
  assert high_tier_candidates == set(
772
772
  map(clouds.CLOUD_REGISTRY.get,
773
773
  ['aws', 'gcp', 'oci'])), high_tier_candidates
774
+
775
+ # Only AWS, GCP supports ULTRA disk tier.
776
+ ultra_tier_resources = sky.Resources(
777
+ disk_tier=resources_utils.DiskTier.ULTRA)
778
+ ultra_tier_candidates = _get_all_candidate_cloud(ultra_tier_resources)
779
+ assert ultra_tier_candidates == set(
780
+ map(clouds.CLOUD_REGISTRY.get, ['aws', 'gcp'])), ultra_tier_candidates
@@ -3304,11 +3304,11 @@ def test_aws_disk_tier():
3304
3304
  f'Reservations[].Instances[].InstanceId --output text`; ' +
3305
3305
  _get_aws_query_command(region, '$id', 'VolumeType',
3306
3306
  specs['disk_tier']) +
3307
- ('' if disk_tier == resources_utils.DiskTier.LOW else
3308
- (_get_aws_query_command(region, '$id', 'Iops',
3309
- specs['disk_iops']) +
3310
- _get_aws_query_command(region, '$id', 'Throughput',
3311
- specs['disk_throughput']))),
3307
+ ('' if specs['disk_tier']
3308
+ == 'standard' else _get_aws_query_command(
3309
+ region, '$id', 'Iops', specs['disk_iops'])) +
3310
+ ('' if specs['disk_tier'] != 'gp3' else _get_aws_query_command(
3311
+ region, '$id', 'Throughput', specs['disk_throughput'])),
3312
3312
  ],
3313
3313
  f'sky down -y {name}',
3314
3314
  timeout=10 * 60, # 10 mins (it takes around ~6 mins)
@@ -3344,8 +3344,8 @@ def test_gcp_disk_tier():
3344
3344
  @pytest.mark.azure
3345
3345
  def test_azure_disk_tier():
3346
3346
  for disk_tier in list(resources_utils.DiskTier):
3347
- if disk_tier == resources_utils.DiskTier.HIGH:
3348
- # Azure does not support high disk tier.
3347
+ if disk_tier == resources_utils.DiskTier.HIGH or disk_tier == resources_utils.DiskTier.ULTRA:
3348
+ # Azure does not support high and ultra disk tier.
3349
3349
  continue
3350
3350
  type = Azure._get_disk_type(disk_tier)
3351
3351
  name = _get_cluster_name() + '-' + disk_tier.value