skypilot-nightly 1.0.0.dev20250623__tar.gz → 1.0.0.dev20250625__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 (530) hide show
  1. {skypilot_nightly-1.0.0.dev20250623/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250625}/PKG-INFO +2 -1
  2. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/admin_policy.py +16 -5
  4. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/__init__.py +2 -1
  5. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/backend_utils.py +38 -11
  6. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/cloud_vm_ray_backend.py +52 -18
  7. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/cli/command.py +264 -25
  8. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/sdk.py +119 -85
  9. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/aws.py +10 -7
  10. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/azure.py +10 -7
  11. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/cloud.py +2 -0
  12. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/cudo.py +2 -0
  13. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/do.py +10 -7
  14. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/fluidstack.py +2 -0
  15. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/gcp.py +10 -7
  16. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/hyperbolic.py +10 -7
  17. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/ibm.py +2 -0
  18. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/kubernetes.py +27 -9
  19. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/lambda_cloud.py +10 -7
  20. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/nebius.py +10 -7
  21. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/oci.py +10 -7
  22. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/paperspace.py +10 -7
  23. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/runpod.py +10 -7
  24. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/scp.py +10 -7
  25. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/vast.py +10 -7
  26. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/vsphere.py +2 -0
  27. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/core.py +89 -15
  28. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dag.py +14 -0
  29. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/404.html +1 -1
  30. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/ZWdSYkqVe3WjnFR8ocqoG/_buildManifest.js +1 -0
  31. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/230-d6e363362017ff3a.js +1 -0
  32. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/310.2671028c20e892c7.js +16 -0
  33. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/37-1f1e94f5a561202a.js +6 -0
  34. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/42.bc85e5b1a4debf22.js +6 -0
  35. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/470-92dd1614396389be.js +1 -0
  36. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/513.211357a2914a34b2.js → skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/513.309df9e18a9ff005.js +1 -1
  37. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/544.110e53813fb98e2e.js +1 -0
  38. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/645.961f08e39b8ce447.js +1 -0
  39. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/66-66ae330df2d3c1c7.js +1 -0
  40. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/682.00e56a220dd26fe1.js +6 -0
  41. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/697.6460bf72e760addd.js +20 -0
  42. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/856-cdf66268ec878d0c.js +1 -0
  43. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/938-068520cc11738deb.js +1 -0
  44. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/969-d3a0b53f728d280a.js +1 -0
  45. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/989-db34c16ad7ea6155.js +1 -0
  46. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/_app-c416e87d5c2715cf.js → skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/_app-0ef7418d1a3822f3.js +1 -1
  47. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-aff040d7bc5d0086.js +6 -0
  48. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-32ce4f49f2261f55.js +6 -0
  49. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/clusters-4aa031d1f42723d8.js +1 -0
  50. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/config-3102d02a188f04b3.js +1 -0
  51. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-6f1e02e31eecb5ce.js +1 -0
  52. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/infra-fd5dc8a91bd9169a.js +1 -0
  53. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-e4b23128db0774cd.js +16 -0
  54. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/jobs-26da173e20af16e4.js +1 -0
  55. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/users-ce29e7420385563d.js +1 -0
  56. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/volumes-476b670ef33d1ecd.js +1 -0
  57. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/workspace/new-09ae0f6f972aa871.js +1 -0
  58. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-c4ff1ec05e2f3daf.js → skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-0b4c662a25e4747a.js +1 -1
  59. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/pages/workspaces-862b120406461b10.js +1 -0
  60. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/webpack-6133dc1e928bd0b5.js +1 -0
  61. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/css/b23cb0257bf96c51.css +3 -0
  62. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/clusters/[cluster]/[job].html +1 -0
  63. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/clusters/[cluster].html +1 -0
  64. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/clusters.html +1 -1
  65. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/config.html +1 -1
  66. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/index.html +1 -1
  67. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/infra/[context].html +1 -1
  68. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/infra.html +1 -1
  69. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/jobs/[job].html +1 -0
  70. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/jobs.html +1 -1
  71. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/users.html +1 -1
  72. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/volumes.html +1 -0
  73. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/workspace/new.html +1 -1
  74. skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/workspaces/[name].html +1 -0
  75. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/workspaces.html +1 -1
  76. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/data/storage_utils.py +2 -4
  77. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/exceptions.py +26 -0
  78. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/execution.py +5 -0
  79. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/global_user_state.py +263 -20
  80. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/client/sdk.py +13 -12
  81. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/controller.py +5 -1
  82. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/scheduler.py +4 -3
  83. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/server/core.py +121 -51
  84. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/state.py +15 -0
  85. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/utils.py +114 -8
  86. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/models.py +16 -0
  87. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/__init__.py +26 -0
  88. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/__init__.py +3 -0
  89. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/instance.py +38 -77
  90. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/utils.py +52 -2
  91. skypilot_nightly-1.0.0.dev20250625/sky/provision/kubernetes/volume.py +147 -0
  92. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/resources.py +20 -76
  93. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/client/sdk.py +13 -13
  94. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/server/core.py +5 -1
  95. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/common.py +40 -5
  96. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/constants.py +5 -1
  97. skypilot_nightly-1.0.0.dev20250625/sky/server/metrics.py +105 -0
  98. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/executor.py +30 -14
  99. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/payloads.py +22 -3
  100. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/requests.py +59 -2
  101. skypilot_nightly-1.0.0.dev20250625/sky/server/rest.py +152 -0
  102. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/server.py +70 -19
  103. skypilot_nightly-1.0.0.dev20250625/sky/server/state.py +20 -0
  104. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/stream_utils.py +8 -3
  105. skypilot_nightly-1.0.0.dev20250625/sky/server/uvicorn.py +231 -0
  106. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/setup_files/dependencies.py +2 -0
  107. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/constants.py +19 -14
  108. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/task.py +141 -43
  109. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/jobs-controller.yaml.j2 +12 -1
  110. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/kubernetes-ray.yml.j2 +31 -2
  111. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/users/permission.py +2 -0
  112. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/admin_policy_utils.py +5 -1
  113. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/cli_utils/status_utils.py +25 -17
  114. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/command_runner.py +118 -12
  115. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/command_runner.pyi +57 -0
  116. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/common_utils.py +9 -1
  117. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/context.py +3 -1
  118. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/controller_utils.py +1 -2
  119. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/resources_utils.py +66 -0
  120. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/rich_utils.py +6 -0
  121. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/schemas.py +180 -38
  122. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/status_lib.py +10 -0
  123. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/validator.py +11 -1
  124. skypilot_nightly-1.0.0.dev20250625/sky/volumes/client/__init__.py +0 -0
  125. skypilot_nightly-1.0.0.dev20250625/sky/volumes/client/sdk.py +64 -0
  126. skypilot_nightly-1.0.0.dev20250625/sky/volumes/server/__init__.py +0 -0
  127. skypilot_nightly-1.0.0.dev20250625/sky/volumes/server/core.py +199 -0
  128. skypilot_nightly-1.0.0.dev20250625/sky/volumes/server/server.py +85 -0
  129. skypilot_nightly-1.0.0.dev20250625/sky/volumes/utils.py +158 -0
  130. skypilot_nightly-1.0.0.dev20250625/sky/volumes/volume.py +198 -0
  131. skypilot_nightly-1.0.0.dev20250625/sky/workspaces/__init__.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625/skypilot_nightly.egg-info}/PKG-INFO +2 -1
  133. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/skypilot_nightly.egg-info/SOURCES.txt +48 -32
  134. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/skypilot_nightly.egg-info/requires.txt +1 -0
  135. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_api_compatibility.py +3 -10
  136. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/F4kiZ6Zh72jA6HzZ3ncFo/_buildManifest.js +0 -1
  137. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/350.9e123a4551f68b0d.js +0 -1
  138. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/37-3a4d77ad62932eaf.js +0 -6
  139. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/42.d39e24467181b06b.js +0 -6
  140. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/470-4d1a5dbe58a8a2b9.js +0 -1
  141. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/641.c8e452bc5070a630.js +0 -1
  142. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/682.4dd5dc116f740b5f.js +0 -6
  143. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/760-a89d354797ce7af5.js +0 -1
  144. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/856-c2c39c0912285e54.js +0 -1
  145. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/901-b424d293275e1fd7.js +0 -1
  146. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/938-1493ac755eadeb35.js +0 -1
  147. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/969-20d54a9d998dc102.js +0 -1
  148. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/984.ae8c08791d274ca0.js +0 -50
  149. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-89216c616dbaa9c5.js +0 -6
  150. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-36bc0962129f72df.js +0 -6
  151. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/clusters-82a651dbad53ec6e.js +0 -1
  152. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/config-497a35a7ed49734a.js +0 -1
  153. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-d2910be98e9227cb.js +0 -1
  154. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/infra-780860bcc1103945.js +0 -1
  155. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-cf490d1fa38f3740.js +0 -16
  156. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/jobs-336ab80e270ce2ce.js +0 -1
  157. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/users-928edf039219e47b.js +0 -1
  158. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/workspace/new-31aa8bdcb7592635.js +0 -1
  159. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/pages/workspaces-82e6601baa5dd280.js +0 -1
  160. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/webpack-0263b00d6a10e64a.js +0 -1
  161. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/css/6c12ecc3bd2239b6.css +0 -3
  162. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/clusters/[cluster]/[job].html +0 -1
  163. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/clusters/[cluster].html +0 -1
  164. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/jobs/[job].html +0 -1
  165. skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/workspaces/[name].html +0 -1
  166. skypilot_nightly-1.0.0.dev20250623/sky/server/uvicorn.py +0 -91
  167. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/LICENSE +0 -0
  168. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/MANIFEST.in +0 -0
  169. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/README.md +0 -0
  170. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/pyproject.toml +0 -0
  171. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/setup.cfg +0 -0
  172. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/setup.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/__init__.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/aws.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/azure.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/cloudflare.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/common.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/cudo.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/do.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/docker.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/gcp.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/hyperbolic.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/ibm.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/kubernetes.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/nebius.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/oci.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/runpod.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/vast.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/adaptors/vsphere.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/authentication.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/backend.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/docker_utils.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/local_docker_backend.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/backends/wheel_utils.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/__init__.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/aws_catalog.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/azure_catalog.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/common.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/config.py +0 -0
  201. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/cudo_catalog.py +0 -0
  202. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/__init__.py +0 -0
  203. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/analyze.py +0 -0
  204. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  205. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/do_catalog.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/fluidstack_catalog.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/gcp_catalog.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/hyperbolic_catalog.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/ibm_catalog.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/kubernetes_catalog.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/lambda_catalog.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/nebius_catalog.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/oci_catalog.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/paperspace_catalog.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/runpod_catalog.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/scp_catalog.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/ssh_catalog.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/vast_catalog.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/catalog/vsphere_catalog.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/check.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/cli.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/__init__.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/cli/__init__.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/cli/deprecation_utils.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/cli/flags.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/common.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/client/oauth.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/cloud_stores.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/__init__.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/ssh.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/utils/__init__.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/utils/aws_utils.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/utils/azure_utils.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/utils/gcp_utils.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/utils/oci_utils.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/clouds/utils/scp_utils.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/F4kiZ6Zh72jA6HzZ3ncFo → skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/ZWdSYkqVe3WjnFR8ocqoG}/_ssgManifest.js +0 -0
  247. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/211.692afc57e812ae1a.js +0 -0
  248. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/443.b2242d0efcdf5f47.js +0 -0
  249. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/491.b3d264269613fe09.js +0 -0
  250. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/616-d6128fa9e7cae6e6.js +0 -0
  251. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/664-047bc03493fda379.js +0 -0
  252. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/798-c0525dc3f21e488d.js +0 -0
  253. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/799-3625946b2ec2eb30.js +0 -0
  254. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/804-4c9fc53aa74bc191.js +0 -0
  255. /skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/843-b3040e493f6e7947.js → /skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/843-07d25a7e64462fd8.js +0 -0
  256. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/937.3759f538f11a0953.js +0 -0
  257. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/947-6620842ef80ae879.js +0 -0
  258. /skypilot_nightly-1.0.0.dev20250623/sky/dashboard/out/_next/static/chunks/973-db3c97c2bfbceb65.js → /skypilot_nightly-1.0.0.dev20250625/sky/dashboard/out/_next/static/chunks/973-5b5019ba333e8d62.js +0 -0
  259. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js +0 -0
  260. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js +0 -0
  261. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js +0 -0
  262. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js +0 -0
  263. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +0 -0
  264. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/pages/index-6b0d9e5031b70c58.js +0 -0
  265. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  266. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/favicon.ico +0 -0
  267. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/skypilot.svg +0 -0
  268. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  269. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/data/__init__.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/data/data_transfer.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/data/data_utils.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/data/mounting_utils.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/data/storage.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/__init__.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/client/__init__.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/constants.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/recovery_strategy.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/server/__init__.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/jobs/server/server.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/logs/__init__.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/logs/agent.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/logs/gcp.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/optimizer.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/aws/__init__.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/aws/config.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/aws/instance.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/aws/utils.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/azure/__init__.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/azure/azure-config-template.json +0 -0
  290. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/azure/config.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/azure/instance.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/common.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/constants.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/cudo/__init__.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/cudo/config.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/cudo/cudo_machine_type.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/cudo/cudo_utils.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/cudo/cudo_wrapper.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/cudo/instance.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/do/__init__.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/do/config.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/do/constants.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/do/instance.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/do/utils.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/docker_utils.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/fluidstack/__init__.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/fluidstack/config.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/fluidstack/instance.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/__init__.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/config.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/constants.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/instance.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/instance_utils.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/mig_utils.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/gcp/volume_utils.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/hyperbolic/__init__.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/hyperbolic/config.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/hyperbolic/instance.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/hyperbolic/utils.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/instance_setup.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/config.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/constants.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  325. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/network.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/kubernetes/network_utils.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/lambda_cloud/__init__.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/lambda_cloud/config.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/lambda_cloud/instance.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/logging.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/metadata_utils.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/nebius/__init__.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/nebius/config.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/nebius/constants.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/nebius/instance.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/nebius/utils.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/oci/__init__.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/oci/config.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/oci/instance.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/oci/query_utils.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/paperspace/__init__.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/paperspace/config.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/paperspace/constants.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/paperspace/instance.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/paperspace/utils.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/provisioner.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/__init__.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/api/__init__.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/api/commands.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/api/pods.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/config.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/instance.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/runpod/utils.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/scp/__init__.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/scp/config.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/scp/instance.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/ssh/__init__.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vast/__init__.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vast/config.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vast/instance.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vast/utils.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/__init__.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/__init__.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/custom_script.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/id_generator.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/service_manager.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/common/vim_utils.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/config.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/instance.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/provision/vsphere/vsphere_utils.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/__init__.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/autoscalers.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/client/__init__.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/constants.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/controller.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/load_balancer.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/load_balancing_policies.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/replica_managers.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/serve_state.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/serve_utils.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/server/__init__.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/server/server.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/service.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/service_spec.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/serve/spot_placer.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/__init__.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/config.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/html/log.html +0 -0
  396. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/html/token_page.html +0 -0
  397. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/__init__.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/event_loop.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/preconditions.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/process.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/queues/__init__.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/queues/local_queue.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/queues/mp_queue.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/serializers/__init__.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/serializers/decoders.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/server/requests/serializers/encoders.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/setup_files/MANIFEST.in +0 -0
  408. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/setup_files/setup.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/sky_logging.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/LICENSE +0 -0
  411. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/__init__.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/attempt_skylet.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/autostop_lib.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/configs.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/events.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/job_lib.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/log_lib.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/log_lib.pyi +0 -0
  419. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/providers/__init__.py +0 -0
  420. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/providers/command_runner.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/providers/ibm/__init__.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/providers/ibm/node_provider.py +0 -0
  423. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/providers/ibm/utils.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/__init__.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  427. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/cli.py.patch +0 -0
  428. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  429. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  430. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  431. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/updater.py.patch +0 -0
  432. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/ray_patches/worker.py.patch +0 -0
  433. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/skylet.py +0 -0
  434. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skylet/subprocess_daemon.py +0 -0
  435. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/skypilot_config.py +0 -0
  436. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/aws-ray.yml.j2 +0 -0
  437. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/azure-ray.yml.j2 +0 -0
  438. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/cudo-ray.yml.j2 +0 -0
  439. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/do-ray.yml.j2 +0 -0
  440. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  441. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/gcp-ray.yml.j2 +0 -0
  442. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  443. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/ibm-ray.yml.j2 +0 -0
  444. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  445. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  446. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  447. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  448. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/lambda-ray.yml.j2 +0 -0
  449. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/local-ray.yml.j2 +0 -0
  450. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/nebius-ray.yml.j2 +0 -0
  451. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/oci-ray.yml.j2 +0 -0
  452. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/paperspace-ray.yml.j2 +0 -0
  453. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/runpod-ray.yml.j2 +0 -0
  454. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/scp-ray.yml.j2 +0 -0
  455. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  456. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  457. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/vast-ray.yml.j2 +0 -0
  458. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/vsphere-ray.yml.j2 +0 -0
  459. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/templates/websocket_proxy.py +0 -0
  460. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/usage/__init__.py +0 -0
  461. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/usage/constants.py +0 -0
  462. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/usage/usage_lib.py +0 -0
  463. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/users/__init__.py +0 -0
  464. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/users/model.conf +0 -0
  465. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/users/rbac.py +0 -0
  466. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/users/server.py +0 -0
  467. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/__init__.py +0 -0
  468. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/accelerator_registry.py +0 -0
  469. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/annotations.py +0 -0
  470. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/atomic.py +0 -0
  471. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/aws/__init__.py +0 -0
  472. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/aws/get_default_security_group.py +0 -0
  473. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/cli_utils/__init__.py +0 -0
  474. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/cluster_utils.py +0 -0
  475. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/common.py +0 -0
  476. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/config_utils.py +0 -0
  477. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/context_utils.py +0 -0
  478. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/control_master_utils.py +0 -0
  479. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/dag_utils.py +0 -0
  480. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/db_utils.py +0 -0
  481. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/env_options.py +0 -0
  482. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/infra_utils.py +0 -0
  483. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/__init__.py +0 -0
  484. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  485. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/config_map_utils.py +0 -0
  486. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/create_cluster.sh +0 -0
  487. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  488. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  489. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  490. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  491. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  492. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  493. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  494. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  495. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  496. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  497. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  498. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  499. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/kubernetes_enums.py +0 -0
  500. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/log_utils.py +0 -0
  501. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/message_utils.py +0 -0
  502. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/registry.py +0 -0
  503. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/rich_console_utils.py +0 -0
  504. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/subprocess_utils.py +0 -0
  505. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/timeline.py +0 -0
  506. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/utils/ux_utils.py +0 -0
  507. {skypilot_nightly-1.0.0.dev20250623/sky/workspaces → skypilot_nightly-1.0.0.dev20250625/sky/volumes}/__init__.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/workspaces/core.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/workspaces/server.py +0 -0
  510. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/sky/workspaces/utils.py +0 -0
  511. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  512. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  513. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/skypilot_nightly.egg-info/top_level.txt +0 -0
  514. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_api.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_cli.py +0 -0
  516. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_config.py +0 -0
  517. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_db_utils.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_failover.py +0 -0
  519. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_global_user_state.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_jobs.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_jobs_and_serve.py +0 -0
  522. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_list_accelerators.py +0 -0
  523. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_no_parellel.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_optimizer_dryruns.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_optimizer_random_dag.py +0 -0
  526. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_serve_autoscaler.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_smoke.py +0 -0
  528. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_storage.py +0 -0
  529. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_wheels.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20250623 → skypilot_nightly-1.0.0.dev20250625}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250623
3
+ Version: 1.0.0.dev20250625
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -51,6 +51,7 @@ Requires-Dist: sqlalchemy
51
51
  Requires-Dist: psycopg2-binary
52
52
  Requires-Dist: casbin
53
53
  Requires-Dist: sqlalchemy_adapter
54
+ Requires-Dist: prometheus_client>=0.8.0
54
55
  Requires-Dist: passlib
55
56
  Provides-Extra: aws
56
57
  Requires-Dist: awscli>=1.27.10; extra == "aws"
@@ -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 = 'c8d3f5cb372dc93cdc4d95ffaa9cbd9e08402ab4'
8
+ _SKYPILOT_COMMIT_SHA = 'cc8dbb73a2d26e8c017a788b0bbfc63041c78bae'
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.dev20250623'
38
+ __version__ = '1.0.0.dev20250625'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -4,11 +4,13 @@ import dataclasses
4
4
  import typing
5
5
  from typing import Any, Dict, Optional
6
6
 
7
+ import colorama
7
8
  import pydantic
8
9
 
9
10
  import sky
10
11
  from sky import exceptions
11
12
  from sky.adaptors import common as adaptors_common
13
+ from sky.utils import common_utils
12
14
  from sky.utils import config_utils
13
15
  from sky.utils import ux_utils
14
16
 
@@ -218,18 +220,27 @@ class RestfulAdminPolicy(PolicyTemplate):
218
220
  headers={'Content-Type': 'application/json'},
219
221
  # TODO(aylei): make this configurable
220
222
  timeout=30)
223
+ if response.status_code == 400:
224
+ raise exceptions.UserRequestRejectedByPolicy(
225
+ f'{colorama.Fore.RED}User request is rejected by admin '
226
+ f'policy {self.policy_url}{colorama.Fore.RESET}: '
227
+ f'{response.text}')
221
228
  response.raise_for_status()
222
229
  except requests.exceptions.RequestException as e:
223
230
  with ux_utils.print_exception_no_traceback():
224
- raise exceptions.UserRequestRejectedByPolicy(
225
- f'Failed to validate request with admin policy URL '
226
- f'{self.policy_url}: {e}') from e
231
+ raise exceptions.RestfulPolicyError(
232
+ f'Failed to call admin policy URL '
233
+ f'{self.policy_url}: {e}') from None
227
234
 
228
235
  try:
229
236
  mutated_user_request = MutatedUserRequest.decode(response.json())
230
237
  except Exception as e: # pylint: disable=broad-except
231
238
  with ux_utils.print_exception_no_traceback():
232
- raise exceptions.UserRequestRejectedByPolicy(
239
+ raise exceptions.RestfulPolicyError(
233
240
  f'Failed to decode response from admin policy URL '
234
- f'{self.policy_url}: {e}') from e
241
+ f'{self.policy_url}: {common_utils.format_exception(e, use_bracket=True)}'
242
+ ) from None
235
243
  return mutated_user_request
244
+
245
+ def __repr__(self):
246
+ return f'RestfulAdminPolicy(policy_url={self.policy_url})'
@@ -3,11 +3,12 @@ from sky.backends.backend import Backend
3
3
  from sky.backends.backend import ResourceHandle
4
4
  from sky.backends.cloud_vm_ray_backend import CloudVmRayBackend
5
5
  from sky.backends.cloud_vm_ray_backend import CloudVmRayResourceHandle
6
+ from sky.backends.cloud_vm_ray_backend import LocalResourcesHandle
6
7
  from sky.backends.local_docker_backend import LocalDockerBackend
7
8
  from sky.backends.local_docker_backend import LocalDockerResourceHandle
8
9
 
9
10
  __all__ = [
10
11
  'Backend', 'ResourceHandle', 'CloudVmRayBackend',
11
- 'CloudVmRayResourceHandle', 'LocalDockerBackend',
12
+ 'CloudVmRayResourceHandle', 'LocalResourcesHandle', 'LocalDockerBackend',
12
13
  'LocalDockerResourceHandle'
13
14
  ]
@@ -33,6 +33,7 @@ from sky import provision as provision_lib
33
33
  from sky import sky_logging
34
34
  from sky import skypilot_config
35
35
  from sky.adaptors import common as adaptors_common
36
+ from sky.jobs import utils as managed_job_utils
36
37
  from sky.provision import instance_setup
37
38
  from sky.provision.kubernetes import utils as kubernetes_utils
38
39
  from sky.skylet import constants
@@ -65,6 +66,7 @@ if typing.TYPE_CHECKING:
65
66
  from sky import task as task_lib
66
67
  from sky.backends import cloud_vm_ray_backend
67
68
  from sky.backends import local_docker_backend
69
+ from sky.volumes import volume as volume_lib
68
70
  else:
69
71
  yaml = adaptors_common.LazyImport('yaml')
70
72
  requests = adaptors_common.LazyImport('requests')
@@ -540,16 +542,18 @@ def get_expirable_clouds(
540
542
  # TODO: too many things happening here - leaky abstraction. Refactor.
541
543
  @timeline.event
542
544
  def write_cluster_config(
543
- to_provision: 'resources_lib.Resources',
544
- num_nodes: int,
545
- cluster_config_template: str,
546
- cluster_name: str,
547
- local_wheel_path: pathlib.Path,
548
- wheel_hash: str,
549
- region: clouds.Region,
550
- zones: Optional[List[clouds.Zone]] = None,
551
- dryrun: bool = False,
552
- keep_launch_fields_in_existing_config: bool = True) -> Dict[str, str]:
545
+ to_provision: 'resources_lib.Resources',
546
+ num_nodes: int,
547
+ cluster_config_template: str,
548
+ cluster_name: str,
549
+ local_wheel_path: pathlib.Path,
550
+ wheel_hash: str,
551
+ region: clouds.Region,
552
+ zones: Optional[List[clouds.Zone]] = None,
553
+ dryrun: bool = False,
554
+ keep_launch_fields_in_existing_config: bool = True,
555
+ volume_mounts: Optional[List['volume_lib.VolumeMount']] = None,
556
+ ) -> Dict[str, str]:
553
557
  """Fills in cluster configuration templates and writes them out.
554
558
 
555
559
  Returns:
@@ -597,7 +601,7 @@ def write_cluster_config(
597
601
  resources_utils.ClusterName(
598
602
  cluster_name,
599
603
  cluster_name_on_cloud,
600
- ), region, zones, num_nodes, dryrun)
604
+ ), region, zones, num_nodes, dryrun, volume_mounts)
601
605
  config_dict = {}
602
606
 
603
607
  specific_reservations = set(
@@ -730,6 +734,15 @@ def write_cluster_config(
730
734
  high_availability_specified = controller_utils.high_availability_specified(
731
735
  cluster_name)
732
736
 
737
+ volume_mount_vars = []
738
+ if volume_mounts is not None:
739
+ for vol in volume_mounts:
740
+ volume_mount_vars.append({
741
+ 'name': vol.volume_name,
742
+ 'path': vol.path,
743
+ 'volume_name_on_cloud': vol.volume_config.name_on_cloud,
744
+ })
745
+
733
746
  # Use a tmp file path to avoid incomplete YAML file being re-used in the
734
747
  # future.
735
748
  tmp_yaml_path = yaml_path + '.tmp'
@@ -820,6 +833,9 @@ def write_cluster_config(
820
833
 
821
834
  # High availability
822
835
  'high_availability': high_availability_specified,
836
+
837
+ # Volume mounts
838
+ 'volume_mounts': volume_mount_vars,
823
839
  }),
824
840
  output_path=tmp_yaml_path)
825
841
  config_dict['cluster_name'] = cluster_name
@@ -2454,6 +2470,17 @@ def is_controller_accessible(
2454
2470
  exceptions.ClusterNotUpError: if the controller is not accessible, or
2455
2471
  failed to be connected.
2456
2472
  """
2473
+ if (managed_job_utils.is_consolidation_mode() and
2474
+ controller == controller_utils.Controllers.JOBS_CONTROLLER):
2475
+ cn = 'local-controller-consolidation'
2476
+ return backends.LocalResourcesHandle(
2477
+ cluster_name=cn,
2478
+ cluster_name_on_cloud=cn,
2479
+ cluster_yaml=None,
2480
+ launched_nodes=1,
2481
+ launched_resources=sky.Resources(cloud=clouds.Cloud(),
2482
+ instance_type=cn),
2483
+ )
2457
2484
  if non_existent_message is None:
2458
2485
  non_existent_message = controller.value.default_hint_if_non_existent
2459
2486
  cluster_name = controller.value.cluster_name
@@ -73,6 +73,7 @@ from sky.utils import status_lib
73
73
  from sky.utils import subprocess_utils
74
74
  from sky.utils import timeline
75
75
  from sky.utils import ux_utils
76
+ from sky.volumes import volume as volume_lib
76
77
 
77
78
  if typing.TYPE_CHECKING:
78
79
  from sky import dag
@@ -1327,6 +1328,7 @@ class RetryingVmProvisioner(object):
1327
1328
  prev_handle: Optional['CloudVmRayResourceHandle'],
1328
1329
  prev_cluster_ever_up: bool,
1329
1330
  skip_if_config_hash_matches: Optional[str],
1331
+ volume_mounts: Optional[List[volume_lib.VolumeMount]],
1330
1332
  ) -> Dict[str, Any]:
1331
1333
  """The provision retry loop.
1332
1334
 
@@ -1432,7 +1434,9 @@ class RetryingVmProvisioner(object):
1432
1434
  region=region,
1433
1435
  zones=zones,
1434
1436
  dryrun=dryrun,
1435
- keep_launch_fields_in_existing_config=cluster_exists)
1437
+ keep_launch_fields_in_existing_config=cluster_exists,
1438
+ volume_mounts=volume_mounts,
1439
+ )
1436
1440
  except exceptions.ResourcesUnavailableError as e:
1437
1441
  # Failed due to catalog issue, e.g. image not found, or
1438
1442
  # GPUs are requested in a Kubernetes cluster but the cluster
@@ -2081,7 +2085,9 @@ class RetryingVmProvisioner(object):
2081
2085
  prev_cluster_status=prev_cluster_status,
2082
2086
  prev_handle=prev_handle,
2083
2087
  prev_cluster_ever_up=prev_cluster_ever_up,
2084
- skip_if_config_hash_matches=skip_if_config_hash_matches)
2088
+ skip_if_config_hash_matches=skip_if_config_hash_matches,
2089
+ volume_mounts=task.volume_mounts,
2090
+ )
2085
2091
  if dryrun:
2086
2092
  return config_dict
2087
2093
  except (exceptions.InvalidClusterNameError,
@@ -2435,9 +2441,14 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2435
2441
  zip(cluster_internal_ips, cluster_feasible_ips))
2436
2442
 
2437
2443
  # Ensure head node is the first element, then sort based on the
2438
- # external IPs for stableness
2439
- stable_internal_external_ips = [internal_external_ips[0]] + sorted(
2440
- internal_external_ips[1:], key=lambda x: x[1])
2444
+ # external IPs for stableness. Skip for k8s nodes since pods
2445
+ # worker ids are already mapped.
2446
+ if (cluster_info is not None and
2447
+ cluster_info.provider_name == 'kubernetes'):
2448
+ stable_internal_external_ips = internal_external_ips
2449
+ else:
2450
+ stable_internal_external_ips = [internal_external_ips[0]] + sorted(
2451
+ internal_external_ips[1:], key=lambda x: x[1])
2441
2452
  self.stable_internal_external_ips = stable_internal_external_ips
2442
2453
 
2443
2454
  @context_utils.cancellation_guard
@@ -2696,6 +2707,21 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2696
2707
  pass
2697
2708
 
2698
2709
 
2710
+ class LocalResourcesHandle(CloudVmRayResourceHandle):
2711
+ """A handle for local resources."""
2712
+
2713
+ @context_utils.cancellation_guard
2714
+ @annotations.lru_cache(scope='global')
2715
+ @timeline.event
2716
+ def get_command_runners(self,
2717
+ force_cached: bool = False,
2718
+ avoid_ssh_control: bool = False
2719
+ ) -> List[command_runner.CommandRunner]:
2720
+ """Returns a list of local command runners."""
2721
+ del force_cached, avoid_ssh_control # Unused.
2722
+ return [command_runner.LocalProcessCommandRunner()]
2723
+
2724
+
2699
2725
  @registry.BACKEND_REGISTRY.type_register(name='cloudvmray')
2700
2726
  class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
2701
2727
  """Backend: runs on cloud virtual machines, managed by Ray.
@@ -4043,19 +4069,27 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
4043
4069
  # list should aready be in descending order
4044
4070
  job_id = job_ids[0]
4045
4071
 
4046
- # get the run_timestamp
4047
- # the function takes in [job_id]
4048
- code = job_lib.JobLibCodeGen.get_log_dirs_for_jobs([str(job_id)])
4049
- returncode, run_timestamps, stderr = self.run_on_head(
4050
- handle,
4051
- code,
4052
- stream_logs=False,
4053
- require_outputs=True,
4054
- separate_stderr=True)
4055
- subprocess_utils.handle_returncode(returncode, code,
4056
- 'Failed to sync logs.', stderr)
4057
- # returns with a dict of {job_id: run_timestamp}
4058
- run_timestamps = message_utils.decode_payload(run_timestamps)
4072
+ if isinstance(handle, LocalResourcesHandle):
4073
+ # In consolidation mode, we don't submit a ray job, therefore no
4074
+ # run_timestamp is available. We use a dummy run_timestamp here.
4075
+ run_timestamps = {
4076
+ job_id: f'managed-jobs-consolidation-mode-{job_id}'
4077
+ }
4078
+ else:
4079
+ # get the run_timestamp
4080
+ # the function takes in [job_id]
4081
+ code = job_lib.JobLibCodeGen.get_log_dirs_for_jobs([str(job_id)])
4082
+ returncode, run_timestamps_payload, stderr = self.run_on_head(
4083
+ handle,
4084
+ code,
4085
+ stream_logs=False,
4086
+ require_outputs=True,
4087
+ separate_stderr=True)
4088
+ subprocess_utils.handle_returncode(returncode, code,
4089
+ 'Failed to sync logs.', stderr)
4090
+ # returns with a dict of {job_id: run_timestamp}
4091
+ run_timestamps = message_utils.decode_payload(
4092
+ run_timestamps_payload)
4059
4093
  if not run_timestamps:
4060
4094
  logger.info(f'{colorama.Fore.YELLOW}'
4061
4095
  'No matching log directories found'