skypilot-nightly 1.0.0.dev20250611__py3-none-any.whl → 1.0.0.dev20250613__py3-none-any.whl

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 (62) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/kubernetes.py +3 -2
  3. sky/backends/backend_utils.py +8 -2
  4. sky/benchmark/benchmark_state.py +2 -1
  5. sky/catalog/data_fetchers/fetch_aws.py +1 -1
  6. sky/catalog/data_fetchers/fetch_vast.py +1 -1
  7. sky/check.py +43 -3
  8. sky/cli.py +1 -1
  9. sky/client/cli.py +1 -1
  10. sky/clouds/cloud.py +1 -1
  11. sky/clouds/gcp.py +1 -1
  12. sky/clouds/kubernetes.py +9 -3
  13. sky/clouds/ssh.py +7 -3
  14. sky/dashboard/out/404.html +1 -1
  15. sky/dashboard/out/_next/static/chunks/{webpack-208a9812ab4f61c9.js → webpack-5c3e6471d04780c6.js} +1 -1
  16. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  17. sky/dashboard/out/clusters/[cluster].html +1 -1
  18. sky/dashboard/out/clusters.html +1 -1
  19. sky/dashboard/out/config.html +1 -1
  20. sky/dashboard/out/index.html +1 -1
  21. sky/dashboard/out/infra/[context].html +1 -1
  22. sky/dashboard/out/infra.html +1 -1
  23. sky/dashboard/out/jobs/[job].html +1 -1
  24. sky/dashboard/out/jobs.html +1 -1
  25. sky/dashboard/out/users.html +1 -1
  26. sky/dashboard/out/workspace/new.html +1 -1
  27. sky/dashboard/out/workspaces/[name].html +1 -1
  28. sky/dashboard/out/workspaces.html +1 -1
  29. sky/data/storage.py +2 -2
  30. sky/global_user_state.py +38 -0
  31. sky/jobs/server/core.py +1 -68
  32. sky/jobs/state.py +43 -44
  33. sky/provision/common.py +1 -1
  34. sky/provision/gcp/config.py +1 -1
  35. sky/provision/kubernetes/instance.py +2 -1
  36. sky/provision/kubernetes/utils.py +60 -13
  37. sky/resources.py +2 -2
  38. sky/serve/serve_state.py +81 -15
  39. sky/server/requests/preconditions.py +1 -1
  40. sky/server/requests/requests.py +11 -6
  41. sky/skylet/configs.py +26 -19
  42. sky/skylet/job_lib.py +3 -5
  43. sky/task.py +1 -1
  44. sky/templates/jobs-controller.yaml.j2 +0 -23
  45. sky/templates/kubernetes-ray.yml.j2 +1 -1
  46. sky/utils/common_utils.py +6 -0
  47. sky/utils/context.py +1 -1
  48. sky/utils/controller_utils.py +10 -0
  49. sky/utils/infra_utils.py +1 -1
  50. sky/utils/kubernetes/generate_kubeconfig.sh +1 -1
  51. {skypilot_nightly-1.0.0.dev20250611.dist-info → skypilot_nightly-1.0.0.dev20250613.dist-info}/METADATA +1 -1
  52. {skypilot_nightly-1.0.0.dev20250611.dist-info → skypilot_nightly-1.0.0.dev20250613.dist-info}/RECORD +58 -62
  53. sky/jobs/dashboard/dashboard.py +0 -223
  54. sky/jobs/dashboard/static/favicon.ico +0 -0
  55. sky/jobs/dashboard/templates/index.html +0 -831
  56. sky/jobs/server/dashboard_utils.py +0 -69
  57. /sky/dashboard/out/_next/static/{zJqasksBQ3HcqMpA2wTUZ → UdgJCk2sZFLJgFJW_qiWG}/_buildManifest.js +0 -0
  58. /sky/dashboard/out/_next/static/{zJqasksBQ3HcqMpA2wTUZ → UdgJCk2sZFLJgFJW_qiWG}/_ssgManifest.js +0 -0
  59. {skypilot_nightly-1.0.0.dev20250611.dist-info → skypilot_nightly-1.0.0.dev20250613.dist-info}/WHEEL +0 -0
  60. {skypilot_nightly-1.0.0.dev20250611.dist-info → skypilot_nightly-1.0.0.dev20250613.dist-info}/entry_points.txt +0 -0
  61. {skypilot_nightly-1.0.0.dev20250611.dist-info → skypilot_nightly-1.0.0.dev20250613.dist-info}/licenses/LICENSE +0 -0
  62. {skypilot_nightly-1.0.0.dev20250611.dist-info → skypilot_nightly-1.0.0.dev20250613.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,20 @@
1
- sky/__init__.py,sha256=rC7uPWt7_HdMG0y6F52C7YGcvIXwlr_NYWrUOXJzcnM,6413
1
+ sky/__init__.py,sha256=-WR-GHt6puSH5ltv1CcYleqsaaeWgj1dMouGgLXsfgs,6413
2
2
  sky/admin_policy.py,sha256=ICP2Q3O93uVgUWc3sSvQDnRXgvFCA6APRX33hU3P3OI,8502
3
3
  sky/authentication.py,sha256=znccODHpqQV_wo4Y5zAEA9I43gdMRyj_bKiO1feZBgc,24799
4
- sky/check.py,sha256=T8EFZ_x7lVfSgK1nVWw3jsMjvicH180PFz6FoyG6OTk,28412
5
- sky/cli.py,sha256=kH2ljshZiKiYDeBNJKI-751i7_d5PJnVDZ7BChYWT_o,245252
4
+ sky/check.py,sha256=qN0SGRxSGMOKaxubRlCQayZUMIjviTInEKhNMYZQ4cw,30246
5
+ sky/cli.py,sha256=743L1QQbFzKC9UOwD5vzryGzRw22s0D_57jU_G-0yU4,245272
6
6
  sky/cloud_stores.py,sha256=Ln5GBpel-sEs7rVx7bBrMkfLwA_bctI05Rox2uoz7Lo,26388
7
7
  sky/core.py,sha256=1A2vRsNScNduqZITNJXzwgQ2d49YGa1O6WG5x_Wkg1Q,52185
8
8
  sky/dag.py,sha256=8x-VMtjvSi0lYBemCMPLYq5ONljhoABjWzMKjmmdjSo,3369
9
9
  sky/exceptions.py,sha256=hjqKX-WafKDvwBTpZp0f63E_bLCe56ml2jUBJpfEQ7I,18404
10
10
  sky/execution.py,sha256=LIRTPuRJFyvNkx1ZlIyUhbcy7k4YUnU-MEx6lnH1pg0,32990
11
- sky/global_user_state.py,sha256=UrpiVJtzGM3nURxM7K03xGRgX__BOiVteyP2KDC5sPM,51843
11
+ sky/global_user_state.py,sha256=yvPFa5v01ZfNf14pdzHbwQ3qF7w8wqS43gzLYrTLFN4,53284
12
12
  sky/models.py,sha256=VGMzCHRwjJRQBm6Y054vL6Yvfkrcm79b5dPpdXS3Syk,2183
13
13
  sky/optimizer.py,sha256=2JZl6exFMuOAzpWefvfY9CZPWnvjDLLvR92A2qpvtRs,61418
14
- sky/resources.py,sha256=pmDPdoScIQy_9kAlBdGTeRqtWfafKlcqUAA-NrtxfVk,97155
14
+ sky/resources.py,sha256=Qgg_kHfCtEA20nZNZd-3Pn8146vbvSTTq1NlAd5_J7c,97176
15
15
  sky/sky_logging.py,sha256=cMurxhFExKEFX1frcMR71Ti_s9Obg9WY30veVxsZB6o,7285
16
16
  sky/skypilot_config.py,sha256=YB2CpsOy7jFXd0cr9NKARWuq0-k85inEszV8OvPjnJA,34032
17
- sky/task.py,sha256=AEQqeJ2SHuBj36mdWjyF2OrLXwJ20Jnv-7Sw3g4m0bc,59240
17
+ sky/task.py,sha256=kpXFxGl-B4oCcwkpj6Q4Kw-UzI52ukFH9EWf2CRwo2A,59239
18
18
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
20
20
  sky/adaptors/azure.py,sha256=7l5jobSTsTUcTo3ptrgOpRgngHY92U64eQBPxvDe1HA,21986
@@ -25,7 +25,7 @@ sky/adaptors/do.py,sha256=dJ0BYbkQoUWVu6_9Pxq3fOu6PngjZyyCQzgjnODXLCA,777
25
25
  sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
26
26
  sky/adaptors/gcp.py,sha256=oEb9jClEtApw6PQnxdxDYxOCYsedvM3aiko1EW1FDVo,3501
27
27
  sky/adaptors/ibm.py,sha256=7YbHrWbYcZsJDgxMBNZr1yBI03mjs_C3pnCTCz-MNtQ,5068
28
- sky/adaptors/kubernetes.py,sha256=f3tnpjl8D03BCyM-EJBn8mFqo3jFTadFIET5crlPXC8,9667
28
+ sky/adaptors/kubernetes.py,sha256=hlSXeJyTR8j_yIbJ8WynvyXCjUDvdUDOwzQOVx8SK6g,9732
29
29
  sky/adaptors/nebius.py,sha256=5dLZcWWCtwVdlQESfpXo4ZsZ832INw5ih16EUd8IR7c,8695
30
30
  sky/adaptors/oci.py,sha256=xJt6J9xBSFIENa6FwEt1V1sZE8puAZ_vPEoGlyQACPs,2839
31
31
  sky/adaptors/runpod.py,sha256=4Nt_BfZhJAKQNA3wO8cxvvNI8x4NsDGHu_4EhRDlGYQ,225
@@ -33,14 +33,14 @@ sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
33
33
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
34
34
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
35
35
  sky/backends/backend.py,sha256=o47WUnB_h2nd_SkV0q0NTJ4vCwk23-KH5DgAm_JpKgE,7739
36
- sky/backends/backend_utils.py,sha256=RuNHihKFeozv1MfYRebJ_RWAhON38I53hFWu2Zub5bw,140297
36
+ sky/backends/backend_utils.py,sha256=CYqycvCh2cDwlEr2tLI66tUOGmQBByWlIrSqWH-MlQ8,140653
37
37
  sky/backends/cloud_vm_ray_backend.py,sha256=dUq_YVugie9zhq3MEHUdO_PDuiQhH_6YhGBpEs5OQGQ,257280
38
38
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
39
39
  sky/backends/local_docker_backend.py,sha256=r80BGJZmAH8F49v6Y_pG3_pHmW5LQEQRusLkKoYoe9Q,17047
40
40
  sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
41
41
  sky/backends/monkey_patches/monkey_patch_ray_up.py,sha256=76-y2fCaE3JINj8lEwHT1eirYzCbpD8O1ySsysuGu8o,3450
42
42
  sky/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- sky/benchmark/benchmark_state.py,sha256=nVe-RNqbhq4Tc2jlxRI15U4Zeo6zwov7GyhTXGRFOjQ,9634
43
+ sky/benchmark/benchmark_state.py,sha256=kt7pqRS42sfZONjcSvx7xVgFqpmxH6i2DJiXyRvMG4g,9678
44
44
  sky/benchmark/benchmark_utils.py,sha256=7rf-iHt6RXZ_pnBBWOMwcdodHQW69x27xNyx0yVog1U,26385
45
45
  sky/catalog/__init__.py,sha256=BkIr4FdTpuIuynl5ijTraecm38viZjRgY3jIexlDbgk,14602
46
46
  sky/catalog/aws_catalog.py,sha256=VnFLKmr4nBuc5NXske7thEByJz_wOg9w5vuN6FtLMuo,13473
@@ -64,37 +64,37 @@ sky/catalog/vast_catalog.py,sha256=xdCJFsEzKHayEix4UETrdHgipXw7S3o-u_fpj0D8YWI,4
64
64
  sky/catalog/vsphere_catalog.py,sha256=ALa8L8FAkdmvQO0mg9DDhcb0PBTOenIJ7khBen4_fyA,4397
65
65
  sky/catalog/data_fetchers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  sky/catalog/data_fetchers/analyze.py,sha256=ftnrOceREmjimFWBLwhtF2aqOnOZNl6TmYxqD6eIhHY,2069
67
- sky/catalog/data_fetchers/fetch_aws.py,sha256=pVBnKiHqluzrKLrLWyd9Ay6L7MlXxThqZKXgQhtXP90,23405
67
+ sky/catalog/data_fetchers/fetch_aws.py,sha256=RTkqG2LE2YxRoK4K4p_hq-vA9tsPr9UoWIiNamGyLyI,23406
68
68
  sky/catalog/data_fetchers/fetch_azure.py,sha256=7YVnoGDGGZI2TK02bj_LOoD4E5J5CFl6eqz2XlR4Vy8,12790
69
69
  sky/catalog/data_fetchers/fetch_cudo.py,sha256=52P48lvWN0s1ArjeLPeLemPRpxjSRcHincRle0nqdm4,3440
70
70
  sky/catalog/data_fetchers/fetch_fluidstack.py,sha256=hsqpQi_YUI-qil3zLCEGatrR7BkWzywr4otRdHrd-4k,7350
71
71
  sky/catalog/data_fetchers/fetch_gcp.py,sha256=y3boC2NBLRErLyY12078AS7QWGx9ItrzmFcO17h_VH8,31925
72
72
  sky/catalog/data_fetchers/fetch_ibm.py,sha256=WPzR1y5ZaTdv-R3HLIdSUnOfWh4N9cqzKoKiKJQkjFk,7414
73
73
  sky/catalog/data_fetchers/fetch_lambda_cloud.py,sha256=MUzogyLruLQmIt-To6TsfnGPgv_nnlp49XYbeshsd7I,5003
74
- sky/catalog/data_fetchers/fetch_vast.py,sha256=MRxk52FUeG-R2hPUbkH44HXRPou73dxXWYAHDEXg3xU,5016
74
+ sky/catalog/data_fetchers/fetch_vast.py,sha256=xoVDSsQVgMLzyibCFN7yDgyH1Y96gk5G53to1ZAGRyg,5017
75
75
  sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg35RUIwp7UX8KI,21438
76
76
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
77
- sky/client/cli.py,sha256=kH2ljshZiKiYDeBNJKI-751i7_d5PJnVDZ7BChYWT_o,245252
77
+ sky/client/cli.py,sha256=743L1QQbFzKC9UOwD5vzryGzRw22s0D_57jU_G-0yU4,245272
78
78
  sky/client/common.py,sha256=E_5cjxd8fWRB7fU1yfIbiyQf-IyVhpD5KkB7Fl3cQEI,15215
79
79
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
80
80
  sky/client/sdk.py,sha256=ctXeEOYA76Ue8OxsPHS_0gajF1OVXoGbed0iCQ0-vtQ,83737
81
81
  sky/clouds/__init__.py,sha256=5aPPmXGCnGN8DbOXTXh_BirESaW4wK-bao2n_3-fm6Q,1561
82
82
  sky/clouds/aws.py,sha256=tODEKjWW1f64T58FAE6ScOYeQED7eSPZe4rz98mJ1ag,54931
83
83
  sky/clouds/azure.py,sha256=0MBY0xr7RmIg-GBS031lbQ7DwnZCh-uwugebATYuOaA,32485
84
- sky/clouds/cloud.py,sha256=5A92_mLYgbRkr2m59Qvdru5DpPxN2o_ayg-dwht6IJQ,38773
84
+ sky/clouds/cloud.py,sha256=_rmsnmNCvXsgf-1On57ubsFGr61duhBxjIgbJb5kVRw,38772
85
85
  sky/clouds/cudo.py,sha256=6tbXfxrR9xzY-Z0XCugUWDqfgXk3mvM66C6esOULZmA,13522
86
86
  sky/clouds/do.py,sha256=lBXN9x8ZeS1P4r5znfSTcDVPWAiLif7gt7agcWdchMo,11900
87
87
  sky/clouds/fluidstack.py,sha256=ya9eUT9jCaTsRozIjyq1M_c0EQDJWeNQJrscBAzKZv0,12933
88
- sky/clouds/gcp.py,sha256=DNk624joqKWAs1_LPaPzbInOtXZpY_0A9vLcIQPx4JM,67668
88
+ sky/clouds/gcp.py,sha256=IduBMFgl8JWS1aoFevAmuT50v-1F025Kxq_GP0HBjIo,67667
89
89
  sky/clouds/ibm.py,sha256=FPU8j20LSBxr7gilD4F2liMG40eQyxp2ZDqNh-pmKYU,22262
90
- sky/clouds/kubernetes.py,sha256=d0taUfe4cvw2aZ29w84JczSvY4DwKtzZ5DkS3KXvDEw,43722
90
+ sky/clouds/kubernetes.py,sha256=TesNQ79Rcnt4BsG7nNq1owJeQzRC2ecjnA8ppCgCSJ4,43981
91
91
  sky/clouds/lambda_cloud.py,sha256=ZBpIA3wO8aNV-Ox1TpxE91J4K6Tcfp8pFXLh192lE3c,12993
92
92
  sky/clouds/nebius.py,sha256=sgQnDY6Tjaur5VgjqWi00LB5sixo4xqxIUD15DZeiEM,20521
93
93
  sky/clouds/oci.py,sha256=lMUO5SjgFZK1rs2KOoBG-hePRLiHEcbNWP44weugav8,27875
94
94
  sky/clouds/paperspace.py,sha256=ir-nBlluANVH95LgbYCDJUzatLgfqgtWwZz81nk8E4w,11315
95
95
  sky/clouds/runpod.py,sha256=aE5i3N7Q2N1Y2Miamc22EfA3iIVQzvKwvTYb33E5wwU,12708
96
96
  sky/clouds/scp.py,sha256=uMgG7mcfKScbd2Hq1GH46E1qxv0lY1o0gzQdQfaIYI0,16355
97
- sky/clouds/ssh.py,sha256=iDX-ToYnJBFn3I831ktfuQOVyvcXrXakRKlAeSdfy6Q,8319
97
+ sky/clouds/ssh.py,sha256=8zapahEhAPkeAxU1UB0L0LYR7Yyp8OT1HCYclXYzx_4,8460
98
98
  sky/clouds/vast.py,sha256=0qfa_keCxr_pXSQT15zYabWGb7Jg8cVRM3jnF5bRdPM,11652
99
99
  sky/clouds/vsphere.py,sha256=2X5d0pOdwU_GBz1DH6zI1-HqIdUii5NEcFgqv3n3jio,12640
100
100
  sky/clouds/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -103,16 +103,18 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
103
103
  sky/clouds/utils/gcp_utils.py,sha256=rh4a91euYFflq6V7bLpY9XnAwnwyNczRueOShpD-E8U,7204
104
104
  sky/clouds/utils/oci_utils.py,sha256=0YxhgZdeIHQUI1AZ86YuswsZg5HdVCIVfSTRJsSHYI0,6396
105
105
  sky/clouds/utils/scp_utils.py,sha256=MqawUhhFHHxVnn29nOI4gJ_nF665ich4Po7bsy1afsA,15948
106
- sky/dashboard/out/404.html,sha256=tUkCPVO7vMnb1hyrHjnkj_5trORcg3aIJEjTcIkYyRw,1423
107
- sky/dashboard/out/clusters.html,sha256=jR8uwy7ttJOseNw1P6N5z_ccxJbp97kkQQVEoz6uM4k,1418
108
- sky/dashboard/out/config.html,sha256=fVLDTv88SWKr37012gML1F8xDA5YFDhbfYj_IYI20c4,1414
106
+ sky/dashboard/out/404.html,sha256=hpDmd_r0Uzm1AfhMQmMp-HMjbowNeLrZBEF5Do78WKw,1423
107
+ sky/dashboard/out/clusters.html,sha256=N8jYmXfbxGPR-c9wGwFbDlETdUn2Bv-nEELLiBxQuAQ,1418
108
+ sky/dashboard/out/config.html,sha256=VHbokKGGssNm3FEnKb_dSGa60FL1L3QdSVZq7XSzzy0,1414
109
109
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
110
- sky/dashboard/out/index.html,sha256=YYciNUKLUlL3gC7cwET5WSR7Fqtu8kBPn4KmHW2asYA,1407
111
- sky/dashboard/out/infra.html,sha256=bDusZZMjT3kQraEFnc6zkppGwCPEkVNBrZxE4Wo-1bo,1412
112
- sky/dashboard/out/jobs.html,sha256=znOc-LOG0HkYkfZFoUdeDOjdRyKEXZGbiJFVGCSuBKA,1410
110
+ sky/dashboard/out/index.html,sha256=HQv_JM2cRQ36t_cGmTa99lhvi7viFZzDge93ALQYQD4,1407
111
+ sky/dashboard/out/infra.html,sha256=r64mjXzkGNxk0VAsBzoNi9vxBAtfTXSxWuKu7DuXfxM,1412
112
+ sky/dashboard/out/jobs.html,sha256=OVza72wzk9-AHqloFnnd-Q4HLZ1DfrM0PfQykG-HQoA,1410
113
113
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
114
- sky/dashboard/out/users.html,sha256=G8kfymtVJGJolYTlalFCOGt-U9woPu3ngwRTiwgZrvA,1412
115
- sky/dashboard/out/workspaces.html,sha256=MclDvWjXsVr_NzWlXLS9z4n-TcCDZMY0zdkswrLZDN8,1422
114
+ sky/dashboard/out/users.html,sha256=K7iw7HZj5oBh94d0IIcoaBeUPrO9avmlFkG7uT90-Nw,1412
115
+ sky/dashboard/out/workspaces.html,sha256=J3RTe9PzD2sYMQC1RCooHX-HQOrjs7jLSAjPBxG8dF4,1422
116
+ sky/dashboard/out/_next/static/UdgJCk2sZFLJgFJW_qiWG/_buildManifest.js,sha256=W7MSUq6ZDL-PV43G52s_pEnn-xt7FCGvm63yyGhAvsk,2046
117
+ sky/dashboard/out/_next/static/UdgJCk2sZFLJgFJW_qiWG/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
116
118
  sky/dashboard/out/_next/static/chunks/211.692afc57e812ae1a.js,sha256=TbpmhT-AzGXhDbjA6mJG_D5dLgq_st-hMr0nbCpRsEY,3778
117
119
  sky/dashboard/out/_next/static/chunks/350.9e123a4551f68b0d.js,sha256=Sj1tcifLEZKm43SFf3zYfT0VC-kcGSb18EV3kV_KTTs,266
118
120
  sky/dashboard/out/_next/static/chunks/37-d8aebf1683522a0b.js,sha256=FytwU6I8f34I_jXSOhYikikHTDxmfME77m4AJ0HNz2o,14258
@@ -142,7 +144,7 @@ sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js,sha256=dh6TK
142
144
  sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js,sha256=P0_tU7pqs_pOQaw-lVzCNl6recBw5lFfkAD0jRk2uzc,115881
143
145
  sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js,sha256=BxTmVbZDnMUQvQd57MEl1Ui0VZaNmwLOviY7h_xMjP0,109884
144
146
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
145
- sky/dashboard/out/_next/static/chunks/webpack-208a9812ab4f61c9.js,sha256=cAlrprEhS2R8FPTxQl3lJ-wNlyv95SwWiOtWlNmBTvY,4374
147
+ sky/dashboard/out/_next/static/chunks/webpack-5c3e6471d04780c6.js,sha256=h_hcG4Eh3j6lPThhfk_48WCaipbnBaSxwcMc0nfIvrM,4374
146
148
  sky/dashboard/out/_next/static/chunks/pages/_app-7bbd9d39d6f9a98a.js,sha256=Qj_hJjnLv8ie72A2DpWrlKtsEXexaP4nF_KXS5fDv0o,7561
147
149
  sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js,sha256=TZqrus06KKPx-CMABDMPKF7w-NQ5s2gwJAM8Huyl7qU,247
148
150
  sky/dashboard/out/_next/static/chunks/pages/clusters-e56b17fd85d0ba58.js,sha256=fNryBnRgWUceH52hOU5C-VxJUV80Aq5CV3_KcLyXHCc,824
@@ -159,39 +161,33 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-b3dbf38b51cb29be.js,sha25
159
161
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-31aa8bdcb7592635.js,sha256=Rp48cs4oSH9b8voWWgYMePJdmKx9Qt0KpjcOWOeBp5o,758
160
162
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-c8c2191328532b7d.js,sha256=Fy7YhuXjR14ZLOKUEYVtJnaoDDLX5AM_etnoZf65V3k,4385
161
163
  sky/dashboard/out/_next/static/css/5d71bfc09f184bab.css,sha256=bcfpiDci6pzA_D7qpHppavKzotSeYzFQFLsc71AARxA,40435
162
- sky/dashboard/out/_next/static/zJqasksBQ3HcqMpA2wTUZ/_buildManifest.js,sha256=W7MSUq6ZDL-PV43G52s_pEnn-xt7FCGvm63yyGhAvsk,2046
163
- sky/dashboard/out/_next/static/zJqasksBQ3HcqMpA2wTUZ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
164
- sky/dashboard/out/clusters/[cluster].html,sha256=dRkKYhQhRucyx-8leqhS6EFMqYN0eFXoyMzTKEdtykg,2659
165
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=MMv1l_RbaP-8iH7k1mK7v_XCrLztN8C0ccl283d75YY,1980
166
- sky/dashboard/out/infra/[context].html,sha256=qWdaPFTV5pXgSS2pAa4UpY-EfJySu2roheyFMvPLIbA,1436
167
- sky/dashboard/out/jobs/[job].html,sha256=Qqp-wM79XWkiWZ9B4U2DZzikunfAWm6_JcJl5WDmIH0,2122
164
+ sky/dashboard/out/clusters/[cluster].html,sha256=lVHqUcwRIG6YNylKM7oQY3F5I6ulqvRfM06aaiVVc84,2659
165
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=0FbOOvTW9233YsfUXoVn3Zr04elu3HN32X3RqCdwmys,1980
166
+ sky/dashboard/out/infra/[context].html,sha256=ojF4ZI5FG_GxgnDPCOq_X-M_j2KBhrm7HVlHqWkpil0,1436
167
+ sky/dashboard/out/jobs/[job].html,sha256=ecVpe5w-Gx4ptuS4CcW7kZ2CulVqvbAQ08jAamsu-sE,2122
168
168
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
169
- sky/dashboard/out/workspace/new.html,sha256=W7fFmZnec--9zFzBH64CLQSBHBiVCG43qfL7SKqf7Sk,1428
170
- sky/dashboard/out/workspaces/[name].html,sha256=WltS6yyZxuJJJxHaFQTdxpAwqSgeHmysizTDdNZU1Mc,2658
169
+ sky/dashboard/out/workspace/new.html,sha256=UHlv7207iMEx775xjciYyUcJaLplhQZJ9V1FZ41Gwds,1428
170
+ sky/dashboard/out/workspaces/[name].html,sha256=DQhIN-G70F7xgNVyZtgzPWj9cK67YUDtYoJM_JW4Jtk,2658
171
171
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
172
172
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
173
173
  sky/data/data_utils.py,sha256=CNYPM963qby5ddW0DZNbhiWXkqgB9MHh_jrC5DoBctM,33437
174
174
  sky/data/mounting_utils.py,sha256=6f1d0EeBj4dY-LQPwh8EtI6yoEHZawDgHaC8LChDS2s,21946
175
- sky/data/storage.py,sha256=WZNcqYmbQW9L00DyIdRwA4xdJCj9dKvud0ZmW1sQ2vo,236661
175
+ sky/data/storage.py,sha256=OzbHt8tJ8de_43-Wjj347htugGsumfSxkh8FYAKQyq8,236662
176
176
  sky/data/storage_utils.py,sha256=z9Sp4ZUntGeteZ21WmGzh796LC-_1aF-Ol6ttewSm8k,13915
177
177
  sky/jobs/__init__.py,sha256=qoI53-xXE0-SOkrLWigvhgFXjk7dWE0OTqGPYIk-kmM,1458
178
178
  sky/jobs/constants.py,sha256=4r_a85PdRSc3d4YzPnrxDQuhxt6b8Oc5fhAaV7W-jwg,3329
179
179
  sky/jobs/controller.py,sha256=1MHXM4fmPdVuOPeqsOpNxyTFUPlJWC9JGmFytaG35aY,31211
180
180
  sky/jobs/recovery_strategy.py,sha256=a9A4W-6U3KU-pjkWiFpIdgTHC8W26-jYrmi4vzU9iOg,28818
181
181
  sky/jobs/scheduler.py,sha256=80lZNPlsEZSxEE4JG3g8TxZq68M6-u3HMUHiCRJz8BI,14169
182
- sky/jobs/state.py,sha256=OZK1HaLAOh3H1DVV9PutMX2zugIT8NGxuyge8l3h6hs,52538
182
+ sky/jobs/state.py,sha256=1-VCzAqqrB2nlhIMSRjJC_tHA8gAyE8v5pv6W4cAi4U,52695
183
183
  sky/jobs/utils.py,sha256=KM57CrD1RcQWxrTJAooGBzwRGmlHmUPZPk4ChGzCRYY,65155
184
184
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
185
  sky/jobs/client/sdk.py,sha256=cVylGbRVBVigNENbxb5bw4M5IRz22toOP8GIaih0gMw,11172
186
- sky/jobs/dashboard/dashboard.py,sha256=JKg8cCH_Y0sf3MoDTx85BghVEXWpp8ItPLshp09-_Js,7618
187
- sky/jobs/dashboard/static/favicon.ico,sha256=uYlvgxSM7gjBmXpZ8wydvZUPAbJiiix-rc2Xe5mma9s,15086
188
- sky/jobs/dashboard/templates/index.html,sha256=NrlTDiEHJDt7sViwWgXUSxVCyVl_IEukE5jdvN8WhtQ,33132
189
186
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
190
- sky/jobs/server/core.py,sha256=PoKVTo_2GXSKwDWQrNgnXFRjemm-wFaHe1dwo2ZiPAw,29712
191
- sky/jobs/server/dashboard_utils.py,sha256=2Mbx40W1pQqPEPHsSDbHeaF0j5cgyKy-_A9Owdwp_AQ,2315
187
+ sky/jobs/server/core.py,sha256=fwtfN5XXAoXrozoDR1PY_2Oeb4uC9KLllmxQI6_DmcU,26508
192
188
  sky/jobs/server/server.py,sha256=ae8JAs-2ipWqL_GsA3x8T2mY-OJLc3ioWg_CfRzCUIY,4011
193
189
  sky/provision/__init__.py,sha256=c4QZli6zQz1YVG0plR27kGDjxhRQwDrT5d0UZemrNPI,6487
194
- sky/provision/common.py,sha256=mTsL1UU-kPYGAc1gWUo-btI8bdL6tAWg9OMMAb-v8ws,10197
190
+ sky/provision/common.py,sha256=GyWyjv_M9P_1iI5zoFMI5WGUQue9e0fuKTLr0revtEQ,10198
195
191
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
196
192
  sky/provision/docker_utils.py,sha256=ev_f5ZebMZ4NYe6OxleisBO8EAB6W0FHFJlaqVK3ugE,20939
197
193
  sky/provision/instance_setup.py,sha256=mI-V89Fa0MzLP74YJ8Ns-dgR-Y_CkAxLdrUudTdmKGk,24435
@@ -222,7 +218,7 @@ sky/provision/fluidstack/config.py,sha256=hDqesKEVjIhXLTWej3fDdpbHtKBXoybxFGgC6T
222
218
  sky/provision/fluidstack/fluidstack_utils.py,sha256=NdhQcwhIPGT21g7lQR-t6j-1zTA_1ZgOhh1oR7rmV4A,5883
223
219
  sky/provision/fluidstack/instance.py,sha256=zCyG8_gmMowzXpmEfv4yBYXgyslKjNXsbFXBq8eQnzc,13788
224
220
  sky/provision/gcp/__init__.py,sha256=zlgjR2JoaGD7sStGStMRu9bJ62f-8NKEIyb-bFHBlzM,528
225
- sky/provision/gcp/config.py,sha256=3xIX4u-Dn6Z9W4UY2sjAl6fB-4MHWnuaVq53O5QA65o,41668
221
+ sky/provision/gcp/config.py,sha256=AHYa5Cd6za_hQngu3JgLrXfZ5Tn_339nGoZHP2mYYcY,41667
226
222
  sky/provision/gcp/constants.py,sha256=TT9Ci3hu-0-o21B7iNfQX8qRThrQOkbADmnXz7Hv6AA,16136
227
223
  sky/provision/gcp/instance.py,sha256=fHtOh-Qo1rk_oL7wZML2s6tKUyQxQu2nuIsb_E0x_rQ,25118
228
224
  sky/provision/gcp/instance_utils.py,sha256=RM5KOAk56TU8q1LNRoo9yl4VwQ3DDq7FAfTxpgdZVTc,72094
@@ -231,10 +227,10 @@ sky/provision/gcp/volume_utils.py,sha256=tTZ8QFbssPYJQlFZ48_DUUemywn248__Jr1-l42
231
227
  sky/provision/kubernetes/__init__.py,sha256=y6yVfii81WYG3ROxv4hiIj-ydinS5-xGxLvXnARVQoI,719
232
228
  sky/provision/kubernetes/config.py,sha256=-6ddvMro9LZ-y7K-hUPo8GdUGZ-01YyBzTAdkKblGXY,29623
233
229
  sky/provision/kubernetes/constants.py,sha256=OXyMNSruqyfTJV90yH8PsHtmi04cgeac8mvjoXc5N8o,800
234
- sky/provision/kubernetes/instance.py,sha256=c-Cp2Y7ix8utxTJ3QyityZ0Ay8yX7wZxTBF1G3jeWIs,59525
230
+ sky/provision/kubernetes/instance.py,sha256=Nk_6MHSQelPOFf4d9olo1FA8_xH9IGFeZ_td2FFWUp0,59599
235
231
  sky/provision/kubernetes/network.py,sha256=PEy7lZvmoysmormB49JW245tRcy4owAXzDGV5KHVPEI,12672
236
232
  sky/provision/kubernetes/network_utils.py,sha256=6uck1aBkgtm-gGBitU3_hEUp8j14ZuG_4Xo70ReZYXs,11654
237
- sky/provision/kubernetes/utils.py,sha256=KotlgswQDzzLSgHuhmpx8lxQ3HZwyk3lGziuaMQ83cI,137024
233
+ sky/provision/kubernetes/utils.py,sha256=DK6_-6Cyp_n-I1yNk9VIjr52nw2E_7B4egl2JjCyLS8,138857
238
234
  sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=S87GNAbDqgTrLuxF-afPAqQ0V-i41El4s_9KBZMuaag,1331
239
235
  sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
240
236
  sky/provision/lambda_cloud/config.py,sha256=jq1iLzp4Up61r4JGxvtpVbJlgXnea3LHYQhCQyyl7ik,272
@@ -288,7 +284,7 @@ sky/serve/controller.py,sha256=TBp0PtkSWGWzNTNnWyuetg_cGXnup7ygamS4K-b9L5M,11926
288
284
  sky/serve/load_balancer.py,sha256=oQonisWJj2nsAcSSdN_mdiHylVR1IGJXY9aB_AcRokc,14150
289
285
  sky/serve/load_balancing_policies.py,sha256=Ssr0GtHKyzzAIEOUAMCLvND5rapmrpxI-OQemf3dgxU,5177
290
286
  sky/serve/replica_managers.py,sha256=x8c1tRIQMN4dVzVUHJpZYSEBtEjOCbcwmqZ_GkVzpnc,64785
291
- sky/serve/serve_state.py,sha256=xIA5PeLiogLnDNWGVfCT_fV9DvZ8bbKExmACpLv7WN4,21160
287
+ sky/serve/serve_state.py,sha256=9wLvHTkq3O3NuCpmaGhjlO6sYJdevbYsDzMXwoa1MTQ,22587
292
288
  sky/serve/serve_utils.py,sha256=ErpByT7SL_z7thgp0kmdXO3dm4qGdVJ8-Vbkj3-bvLw,46747
293
289
  sky/serve/service.py,sha256=f-Lpxl9YtIprcE3Wr0JUslSvEDylNFe-fyaKIJeKb2c,14315
294
290
  sky/serve/service_spec.py,sha256=t7wh7sx68DKjPyrk1Ub-c1ZjkWD8ehG-YOj9CNdC9qQ,18552
@@ -311,9 +307,9 @@ sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
311
307
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
312
308
  sky/server/requests/executor.py,sha256=ffdhI6ZsNYjUgI7dRSeGVDfvJt-rGLiJ-u45YGys40c,25867
313
309
  sky/server/requests/payloads.py,sha256=FmYY8qXNom7IlH4Pf-UNtRa9Uj-KlUQV79ea8hqPZJQ,19722
314
- sky/server/requests/preconditions.py,sha256=ipxIb_3JXG6S3-ymcOdqQNb7VDvoPqADxu9ZK7-nQWc,7179
310
+ sky/server/requests/preconditions.py,sha256=uUQjzFFHf7O5-WvBypMzqViGmd1CXksbqrrDPmY_s_Y,7178
315
311
  sky/server/requests/process.py,sha256=I0ToOcF_cMJi5TfZMJOn9rDmJYewQOV07Pnetzqj2IU,10805
316
- sky/server/requests/requests.py,sha256=kOgKwrbTryPODiMUQvCyy0MOJhK7a7Yx_xrNmFnEYRc,22028
312
+ sky/server/requests/requests.py,sha256=usGMmU_Sd9DKwVhhkQanO-joAJI20RETVj-zfpNZRV8,22286
317
313
  sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
314
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
319
315
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
@@ -327,10 +323,10 @@ sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
327
323
  sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
328
324
  sky/skylet/attempt_skylet.py,sha256=GZ6ITjjA0m-da3IxXXfoHR6n4pjp3X3TOXUqVvSrV0k,2136
329
325
  sky/skylet/autostop_lib.py,sha256=kGUnHm-jpF4zl3UJfB-4pnoldWpnVeR96WwYGSw7em0,4630
330
- sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
326
+ sky/skylet/configs.py,sha256=kV490lonYVVQMDRO2haizlt9fpQmqBIpwBScn14zS78,2132
331
327
  sky/skylet/constants.py,sha256=IEVpBZevkUgRLPKI3UnKt4tjV7Vl7CRWh8xNRid9Rfo,21197
332
328
  sky/skylet/events.py,sha256=pnV3ZiwWhXqTHpU5B5Y9Xwam_7FQDI6IrxgSx7X_NVA,12743
333
- sky/skylet/job_lib.py,sha256=caLx3YRnOKEN34rPQWOi0-v49NkeHftSblD5mowBqS8,45688
329
+ sky/skylet/job_lib.py,sha256=1-lvIEZyuQu_zj2T0b2UE2IPXdgfanqI7evDxIfso90,45715
334
330
  sky/skylet/log_lib.py,sha256=9nLOhevnM668itQyVyPSoQHKfZ2MWm_FwXPxK28X0oM,23201
335
331
  sky/skylet/log_lib.pyi,sha256=6LXFSpyW4lMHAELKllvK73B3538JjSo9lPw30DEuO0o,4542
336
332
  sky/skylet/skylet.py,sha256=mWmqCvxSlfdVU_L8NL6P52jmCt3smd8K0HdyNBfMPeI,1234
@@ -359,11 +355,11 @@ sky/templates/do-ray.yml.j2,sha256=7XZsM2H6RF2muHCm6xnqglnKhONXH8S3Y_mFiVxD558,4
359
355
  sky/templates/fluidstack-ray.yml.j2,sha256=dNr9svMNp0z6-PHyQeRa6Hl3SbgqMESgBdfpvtP3aH0,3789
360
356
  sky/templates/gcp-ray.yml.j2,sha256=2wK1j7nkLzZm2kHIbc76WZ-dk4yxObzBEEhzTEQUOuc,11789
361
357
  sky/templates/ibm-ray.yml.j2,sha256=n_EsoqQx1DUPDh7ZgCxvlEEZnROJ4rBXrFcHYVRIN2c,6907
362
- sky/templates/jobs-controller.yaml.j2,sha256=9gFP8iUXVdD25aiGN5AP6WdB1kAmEZSrMnShYe30Vl4,2587
358
+ sky/templates/jobs-controller.yaml.j2,sha256=vtHZdioV_KopcAf1wpzH_J0WXvq2o0oFs8TE3QQ3KYY,1949
363
359
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
364
360
  sky/templates/kubernetes-loadbalancer.yml.j2,sha256=IxrNYM366N01bbkJEbZ_UPYxUP8wyVEbRNFHRsBuLsw,626
365
361
  sky/templates/kubernetes-port-forward-proxy-command.sh,sha256=iw7mypHszg6Ggq9MbyiYMFOkSlXaQZulaxqC5IWYGCc,3381
366
- sky/templates/kubernetes-ray.yml.j2,sha256=alhqEG4VkJokG6cjNML-MURRmvODQWVR8Z43AG3DMHE,41274
362
+ sky/templates/kubernetes-ray.yml.j2,sha256=F7dzVW539ii9988d61jRpx-OrMH6W1SkhuAxbbmhH50,41275
367
363
  sky/templates/kubernetes-ssh-jump.yml.j2,sha256=k5W5sOIMppU7dDkJMwPlqsUcb92y7L5_TVG3hkgMy8M,2747
368
364
  sky/templates/lambda-ray.yml.j2,sha256=AeFThho5hPQMncrOWQ6DhEWOsAuZtdxf1gjmp_6kPJA,4747
369
365
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
@@ -394,16 +390,16 @@ sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14
394
390
  sky/utils/command_runner.py,sha256=6VknLKttMwPAHGJt_ccyr3l6lXZGVoX6C3-ZtQ7WtR0,39613
395
391
  sky/utils/command_runner.pyi,sha256=SDwvKvwaK4_-l2S3bwKSHZX8tGKU5SkbKuYRDn03o7o,7810
396
392
  sky/utils/common.py,sha256=nTg-mjNu0diZjs2UvyiMc84Tu1ZonRLRAmfqFIP1TtY,2242
397
- sky/utils/common_utils.py,sha256=6Lqs8VwOZ3uO_XYqWxbmwfUdNR1cx02qMLUmOnB9ky0,35266
393
+ sky/utils/common_utils.py,sha256=NPB80J34jBe3uP51w-lg4TOUG3N_g1Y1C7q1TjS0Iq8,35407
398
394
  sky/utils/config_utils.py,sha256=v8yZcr8OvEfXmBDYcdOj3U-AH1XERY76zGJMNdqzvqc,10339
399
- sky/utils/context.py,sha256=SfWg8vGb-nKYvzY-LL1PhxzoPLRmqGB0g0oTqdXXsXY,9842
395
+ sky/utils/context.py,sha256=KKvB6TNLgwE5Ol9NS4ez7vyISoNfL82fAPepnk127CE,9843
400
396
  sky/utils/context_utils.py,sha256=cby-QPmnGObjIE4K7eZ_dkWZdUo7YJUmnJr5oKf_v54,6712
401
397
  sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
402
- sky/utils/controller_utils.py,sha256=icBxY-OtGYnMBiCD5gFvz3CjtP2qaMCRClDHyOTtT64,54178
398
+ sky/utils/controller_utils.py,sha256=DabTg70Vcnpqnbf6U3vBnzozhl0PYXDWctVzg8FSm_U,54851
403
399
  sky/utils/dag_utils.py,sha256=FjxMaAT6ia4ndVg-ogXgiekLGD1GiPCAdK_c-cjIeuY,7607
404
400
  sky/utils/db_utils.py,sha256=MlJN4dVUEcMkLMn5rYi1F-WnD9ap2oOoF9lDiqlL0h4,5243
405
401
  sky/utils/env_options.py,sha256=aaD6GoYK0LaZIqjOEZ-R7eccQuiRriW3EuLWtOI5En8,1578
406
- sky/utils/infra_utils.py,sha256=CFDCxFJ0kGc5YkGcuwbPSK_AKxGFRUXMTjbeLUrRf8I,6961
402
+ sky/utils/infra_utils.py,sha256=WkkB4Hj6CX-3eV029fPYqydNVyFZ8ZwRAVA_GCLJ9QU,6981
407
403
  sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM,1384
408
404
  sky/utils/log_utils.py,sha256=_PMfgKNH5aaTkWoQoS2_XfyAmLa_UbboKMDGxJq3k6s,27360
409
405
  sky/utils/message_utils.py,sha256=zi2Z7PEX6Xq_zvho-aEZe_J7UvpKOLdVDdGAcipRQPU,2662
@@ -429,7 +425,7 @@ sky/utils/kubernetes/delete_cluster.sh,sha256=BSccHF43GyepDNf-FZcenzHzpXXATkVD92
429
425
  sky/utils/kubernetes/deploy_remote_cluster.py,sha256=70BzG3mlSwlrWy8Z9xTtZreGx2nZkJsWHEMzUF_rVMg,60979
430
426
  sky/utils/kubernetes/exec_kubeconfig_converter.py,sha256=fCWX13qvbqvoHghwjWjZdmzfOrcmSiTaQnP6owJ05A8,2256
431
427
  sky/utils/kubernetes/generate_kind_config.py,sha256=_TNLnifA_r7-CRq083IP1xjelYqiLjzQX9ohuqYpDH8,3187
432
- sky/utils/kubernetes/generate_kubeconfig.sh,sha256=MBvXJio0PeujZSCXiRKE_pa6HCTiU9qBzR1WrXccVSY,10477
428
+ sky/utils/kubernetes/generate_kubeconfig.sh,sha256=Xm_C-CIZIb4QeJSIoVEOdnOCcZ3BhDJdHNoNOxVuBrE,10476
433
429
  sky/utils/kubernetes/gpu_labeler.py,sha256=YAwkytFo2j5GyGyX8RqnUXCMBff00Mdm9G_0mmtNZLo,10345
434
430
  sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7ZWF5gdVIZPupCCo9A,1224
435
431
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
@@ -441,9 +437,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
437
  sky/workspaces/core.py,sha256=2kKUP-V5Qo1n-xfayA4M1OE_ina6_4bxkTF3dv3yBEU,20704
442
438
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
443
439
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
444
- skypilot_nightly-1.0.0.dev20250611.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
445
- skypilot_nightly-1.0.0.dev20250611.dist-info/METADATA,sha256=yVG02eL23u-dwKPEOjFVEUuBqLOvRxcmEm6PDWzqrfc,18434
446
- skypilot_nightly-1.0.0.dev20250611.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
447
- skypilot_nightly-1.0.0.dev20250611.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
448
- skypilot_nightly-1.0.0.dev20250611.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
449
- skypilot_nightly-1.0.0.dev20250611.dist-info/RECORD,,
440
+ skypilot_nightly-1.0.0.dev20250613.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
441
+ skypilot_nightly-1.0.0.dev20250613.dist-info/METADATA,sha256=ujomdNFUxnFwQjpBcMaKVgzytHz2GhEcvkF9p83ZIZ0,18434
442
+ skypilot_nightly-1.0.0.dev20250613.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
443
+ skypilot_nightly-1.0.0.dev20250613.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
444
+ skypilot_nightly-1.0.0.dev20250613.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
445
+ skypilot_nightly-1.0.0.dev20250613.dist-info/RECORD,,
@@ -1,223 +0,0 @@
1
- """Dashboard for managed jobs based on Flask.
2
-
3
- TODO(zongheng): This is a basic version. In the future we can beef up the web
4
- frameworks used (e.g.,
5
- https://github.com/ray-project/ray/tree/master/dashboard/client/src) and/or get
6
- rid of the SSH port-forwarding business (see cli.py's job_dashboard()
7
- comment).
8
- """
9
- import collections
10
- import datetime
11
- import enum
12
- import os
13
- import pathlib
14
-
15
- import flask
16
- import yaml
17
-
18
- from sky import jobs as managed_jobs
19
- from sky.client import sdk
20
- from sky.jobs import constants as managed_job_constants
21
- from sky.utils import common_utils
22
- from sky.utils import controller_utils
23
-
24
- app = flask.Flask(__name__)
25
-
26
-
27
- def _is_running_on_jobs_controller() -> bool:
28
- """Am I running on jobs controller?
29
-
30
- Loads ~/.sky/sky_ray.yml and check cluster_name.
31
- """
32
- if pathlib.Path('~/.sky/sky_ray.yml').expanduser().exists():
33
- config = yaml.safe_load(
34
- pathlib.Path('~/.sky/sky_ray.yml').expanduser().read_text(
35
- encoding='utf-8'))
36
- cluster_name = config.get('cluster_name', '')
37
- # We use startswith instead of exact match because the cluster name in
38
- # the yaml file is cluster_name_on_cloud which may have additional
39
- # suffices.
40
- return cluster_name.startswith(
41
- controller_utils.Controllers.JOBS_CONTROLLER.value.cluster_name)
42
- return False
43
-
44
-
45
- # Column indices for job table
46
- class JobTableColumns(enum.IntEnum):
47
- """Column indices for the jobs table in the dashboard.
48
-
49
- - DROPDOWN (0): Column for expandable dropdown arrow
50
- - ID (1): Job ID column
51
- - TASK (2): Task name/number column
52
- - NAME (3): Job name column
53
- - RESOURCES (4): Resources used by job
54
- - SUBMITTED (5): Job submission timestamp
55
- - TOTAL_DURATION (6): Total time since job submission
56
- - JOB_DURATION (7): Actual job runtime
57
- - RECOVERIES (8): Number of job recoveries
58
- - STATUS (9): Current job status
59
- - STARTED (10): Job start timestamp
60
- - CLUSTER (11): Cluster name
61
- - REGION (12): Cloud region
62
- - FAILOVER (13): Job failover history
63
- - DETAILS (14): Job details
64
- - ACTIONS (15): Available actions column
65
- - LOG_CONTENT (16): Log content column
66
- """
67
- DROPDOWN = 0
68
- ID = 1
69
- TASK = 2
70
- NAME = 3
71
- RESOURCES = 4
72
- SUBMITTED = 5
73
- TOTAL_DURATION = 6
74
- JOB_DURATION = 7
75
- RECOVERIES = 8
76
- STATUS = 9
77
- STARTED = 10
78
- CLUSTER = 11
79
- REGION = 12
80
- DETAILS = 13
81
- FAILOVER = 14
82
- ACTIONS = 15
83
- LOG_CONTENT = 16
84
-
85
-
86
- # Column headers matching the indices above
87
- JOB_TABLE_COLUMNS = [
88
- '', 'ID', 'Task', 'Name', 'Resources', 'Submitted', 'Total Duration',
89
- 'Job Duration', 'Status', 'Started', 'Cluster', 'Region', 'Failover',
90
- 'Recoveries', 'Details', 'Actions', 'Log Content'
91
- ]
92
-
93
- # This column is given by format_job_table but should be ignored.
94
- SCHED_STATE_COLUMN = 12
95
-
96
-
97
- def _extract_launch_history(log_content: str) -> str:
98
- """Extract launch history from log content.
99
-
100
- Args:
101
- log_content: Content of the log file.
102
- Returns:
103
- A formatted string containing the launch history.
104
- """
105
- launches = []
106
- current_launch = None
107
-
108
- for line in log_content.splitlines():
109
- if 'Launching on' in line:
110
- try:
111
- parts = line.split(']')
112
- if len(parts) >= 2:
113
- timestamp = parts[0].split()[1:3]
114
- message = parts[1].replace('[0m⚙︎', '').strip()
115
- formatted_line = f'{" ".join(timestamp)} {message}'
116
- if current_launch:
117
- prev_time, prev_target = current_launch.rsplit(
118
- ' Launching on ', 1)
119
- launches.append(
120
- f'{prev_time} Tried to launch on {prev_target}')
121
-
122
- # Store the current launch
123
- current_launch = formatted_line
124
- except IndexError:
125
- launches.append(line.strip())
126
-
127
- # Add the final (successful) launch at the beginning
128
- if current_launch:
129
- result = [current_launch]
130
- result.extend(launches)
131
- return '\n'.join(result)
132
-
133
- return 'No launch history found'
134
-
135
-
136
- @app.route('/')
137
- def home():
138
- if not _is_running_on_jobs_controller():
139
- # Experimental: run on laptop (refresh is very slow).
140
- request_id = managed_jobs.queue(refresh=True, skip_finished=False)
141
- all_managed_jobs = sdk.get(request_id)
142
- else:
143
- job_table = managed_jobs.dump_managed_job_queue()
144
- all_managed_jobs = managed_jobs.load_managed_job_queue(job_table)
145
-
146
- timestamp = datetime.datetime.now(datetime.timezone.utc)
147
- rows = managed_jobs.format_job_table(all_managed_jobs,
148
- show_all=True,
149
- show_user=False,
150
- return_rows=True)
151
-
152
- status_counts = collections.defaultdict(int)
153
- for task in all_managed_jobs:
154
- if not task['status'].is_terminal():
155
- status_counts[task['status'].value] += 1
156
-
157
- # Add an empty column for the dropdown button and actions column
158
- # Exclude SCHED. STATE and LOG_CONTENT columns
159
- rows = [
160
- [''] + row[:SCHED_STATE_COLUMN] + row[SCHED_STATE_COLUMN + 1:] +
161
- # Add empty cell for failover and actions column
162
- [''] + [''] + [''] for row in rows
163
- ]
164
-
165
- # Add log content as a regular column for each job
166
- for row in rows:
167
- job_id = str(row[JobTableColumns.ID]).strip().replace(' ⤳', '')
168
- if job_id and job_id != '-':
169
- try:
170
- log_path = os.path.join(
171
- os.path.expanduser(
172
- managed_job_constants.JOBS_CONTROLLER_LOGS_DIR),
173
- f'{job_id}.log')
174
- if os.path.exists(log_path):
175
- with open(log_path, 'r', encoding='utf-8') as f:
176
- log_content = f.read()
177
- row[JobTableColumns.FAILOVER] = _extract_launch_history(
178
- log_content)
179
- row[JobTableColumns.LOG_CONTENT] = log_content
180
- else:
181
- row[JobTableColumns.FAILOVER] = 'Log file not found'
182
- row[JobTableColumns.LOG_CONTENT] = 'Log file not found'
183
- except (IOError, OSError) as e:
184
- error_msg = f'Error reading log: {str(e)}'
185
- row[JobTableColumns.FAILOVER] = error_msg
186
- row[JobTableColumns.LOG_CONTENT] = error_msg
187
- else:
188
- row[JobTableColumns.LOG_CONTENT] = ''
189
-
190
- if rows and len(rows[0]) != len(JOB_TABLE_COLUMNS):
191
- raise RuntimeError(
192
- f'Dashboard code and managed job queue code are out of sync. '
193
- f'Expected {JOB_TABLE_COLUMNS} columns, got {rows[0]}')
194
-
195
- # Fix STATUS color codes: '\x1b[33mCANCELLED\x1b[0m' -> 'CANCELLED'
196
- for row in rows:
197
- row[JobTableColumns.STATUS] = common_utils.remove_color(
198
- row[JobTableColumns.STATUS])
199
-
200
- # Remove filler rows ([''], ..., ['-'])
201
- rows = [
202
- row for row in rows
203
- if ''.join(map(str, row[:JobTableColumns.ACTIONS])) != ''
204
- ]
205
-
206
- # Get all unique status values
207
- status_values = sorted(
208
- list(set(row[JobTableColumns.STATUS] for row in rows)))
209
-
210
- rendered_html = flask.render_template(
211
- 'index.html',
212
- columns=JOB_TABLE_COLUMNS,
213
- rows=rows,
214
- last_updated_timestamp=timestamp,
215
- status_values=status_values,
216
- status_counts=status_counts,
217
- request=flask.request,
218
- )
219
- return rendered_html
220
-
221
-
222
- if __name__ == '__main__':
223
- app.run()
Binary file