skypilot-nightly 1.0.0.dev20250130__py3-none-any.whl → 1.0.0.dev20250131__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.
sky/__init__.py CHANGED
@@ -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 = 'db90a41f4dff842aaaacd105d77f9e9a4e29b4bc'
8
+ _SKYPILOT_COMMIT_SHA = '706e7c0f7cacdcc7dcf94799863767a0d4ae71c4'
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.dev20250130'
38
+ __version__ = '1.0.0.dev20250131'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
sky/jobs/core.py CHANGED
@@ -101,7 +101,7 @@ def launch(
101
101
  ux_utils.spinner_message('Initializing managed job')):
102
102
  for task_ in dag.tasks:
103
103
  controller_utils.maybe_translate_local_file_mounts_and_sync_up(
104
- task_, path='jobs')
104
+ task_, task_type='jobs')
105
105
 
106
106
  with tempfile.NamedTemporaryFile(prefix=f'managed-dag-{dag.name}-',
107
107
  mode='w') as f:
sky/serve/core.py CHANGED
@@ -175,7 +175,7 @@ def up(
175
175
  with rich_utils.safe_status(
176
176
  ux_utils.spinner_message('Initializing service')):
177
177
  controller_utils.maybe_translate_local_file_mounts_and_sync_up(
178
- task, path='serve')
178
+ task, task_type='serve')
179
179
 
180
180
  tls_template_vars = _rewrite_tls_credential_paths_and_get_tls_env_vars(
181
181
  service_name, task)
@@ -458,7 +458,7 @@ def update(
458
458
  with rich_utils.safe_status(
459
459
  ux_utils.spinner_message('Initializing service')):
460
460
  controller_utils.maybe_translate_local_file_mounts_and_sync_up(
461
- task, path='serve')
461
+ task, task_type='serve')
462
462
 
463
463
  code = serve_utils.ServeCodeGen.add_version(service_name)
464
464
  returncode, version_string_payload, stderr = backend.run_on_head(
sky/skylet/constants.py CHANGED
@@ -268,7 +268,7 @@ CLUSTER_NAME_VALID_REGEX = '[a-zA-Z]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?'
268
268
  # Used for translate local file mounts to cloud storage. Please refer to
269
269
  # sky/execution.py::_maybe_translate_local_file_mounts_and_sync_up for
270
270
  # more details.
271
- FILE_MOUNTS_BUCKET_NAME = 'skypilot-filemounts-{username}-{id}'
271
+ FILE_MOUNTS_BUCKET_NAME = 'skypilot-filemounts-{username}-{user_hash}-{id}'
272
272
  FILE_MOUNTS_LOCAL_TMP_DIR = 'skypilot-filemounts-files-{id}'
273
273
  FILE_MOUNTS_REMOTE_TMP_DIR = '/tmp/sky-{}-filemounts-files'
274
274
 
@@ -7,6 +7,7 @@ import os
7
7
  import tempfile
8
8
  import typing
9
9
  from typing import Any, Dict, Iterable, List, Optional, Set
10
+ import uuid
10
11
 
11
12
  import colorama
12
13
 
@@ -642,7 +643,7 @@ def replace_skypilot_config_path_in_file_mounts(
642
643
 
643
644
 
644
645
  def maybe_translate_local_file_mounts_and_sync_up(task: 'task_lib.Task',
645
- path: str) -> None:
646
+ task_type: str) -> None:
646
647
  """Translates local->VM mounts into Storage->VM, then syncs up any Storage.
647
648
 
648
649
  Eagerly syncing up local->Storage ensures Storage->VM would work at task
@@ -651,6 +652,13 @@ def maybe_translate_local_file_mounts_and_sync_up(task: 'task_lib.Task',
651
652
  If there are no local source paths to be translated, this function would
652
653
  still sync up any storage mounts with local source paths (which do not
653
654
  undergo translation).
655
+
656
+ When jobs.bucket or serve.bucket is not specified, an intermediate storage
657
+ dedicated for the job is created for the workdir and local file mounts and
658
+ the storage is deleted when the job finishes. We don't share the storage
659
+ between jobs, because jobs might have different resources requirements, and
660
+ sharing storage between jobs may cause egress costs or slower transfer
661
+ speeds.
654
662
  """
655
663
 
656
664
  # ================================================================
@@ -669,11 +677,17 @@ def maybe_translate_local_file_mounts_and_sync_up(task: 'task_lib.Task',
669
677
  store.delete()
670
678
  with ux_utils.print_exception_no_traceback():
671
679
  raise exceptions.StorageBucketCreateError(
672
- f'Jobs bucket {store.name!r} does not exist. '
673
- 'Please check jobs.bucket configuration in '
680
+ f'{task_type.capitalize()} bucket {store.name!r} does not '
681
+ f'exist. Please check {task_type}.bucket configuration in '
674
682
  'your SkyPilot config.')
675
683
 
676
- run_id = common_utils.get_usage_run_id()[:8]
684
+ # We use uuid to generate a unique run id for the job, so that the bucket/
685
+ # subdirectory name is unique across different jobs/services.
686
+ # We should not use common_utils.get_usage_run_id() here, because when
687
+ # Python API is used, the run id will be the same across multiple
688
+ # jobs.launch/serve.up calls after the sky is imported.
689
+ run_id = common_utils.base36_encode(uuid.uuid4().hex)[:8]
690
+ user_hash = common_utils.get_user_hash()
677
691
  original_file_mounts = task.file_mounts if task.file_mounts else {}
678
692
  original_storage_mounts = task.storage_mounts if task.storage_mounts else {}
679
693
 
@@ -701,13 +715,15 @@ def maybe_translate_local_file_mounts_and_sync_up(task: 'task_lib.Task',
701
715
 
702
716
  # Get the bucket name for the workdir and file mounts,
703
717
  # we store all these files in same bucket from config.
704
- bucket_wth_prefix = skypilot_config.get_nested(('jobs', 'bucket'), None)
718
+ bucket_wth_prefix = skypilot_config.get_nested((task_type, 'bucket'), None)
705
719
  store_kwargs: Dict[str, Any] = {}
706
720
  if bucket_wth_prefix is None:
707
721
  store_type = store_cls = sub_path = None
708
722
  storage_account_name = region = None
709
723
  bucket_name = constants.FILE_MOUNTS_BUCKET_NAME.format(
710
- username=common_utils.get_cleaned_username(), id=run_id)
724
+ username=common_utils.get_cleaned_username(),
725
+ user_hash=user_hash,
726
+ id=run_id)
711
727
  else:
712
728
  store_type, store_cls, bucket_name, sub_path, storage_account_name, \
713
729
  region = storage_lib.StoreType.get_fields_from_store_url(
@@ -798,7 +814,7 @@ def maybe_translate_local_file_mounts_and_sync_up(task: 'task_lib.Task',
798
814
  constants.FILE_MOUNTS_LOCAL_TMP_DIR.format(id=run_id))
799
815
  os.makedirs(local_fm_path, exist_ok=True)
800
816
  file_mount_remote_tmp_dir = constants.FILE_MOUNTS_REMOTE_TMP_DIR.format(
801
- path)
817
+ task_type)
802
818
  if copy_mounts_with_file_in_src:
803
819
  src_to_file_id = {}
804
820
  for i, src in enumerate(set(copy_mounts_with_file_in_src.values())):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250130
3
+ Version: 1.0.0.dev20250131
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=_2mFMzFyJAHhW4BNdYQodCXMrGYYxEh_Dod5PwSOzJc,5529
1
+ sky/__init__.py,sha256=xALGcdGFZrlaOqt9ZRal3KgMIXXjWrecV7lmncKm6Os,5529
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=LXUDABKP1FJCS256xTTDJa40WXwHKF5x49S-4hZbD1M,21501
4
4
  sky/check.py,sha256=qTpm3N1zUZi2inEZPsrbt278B3h8nsk2gnepzIgLybE,10899
@@ -99,7 +99,7 @@ sky/data/storage_utils.py,sha256=cM3kxlffYE7PnJySDu8huyUsMX_JYsf9uer8r5OYsjo,955
99
99
  sky/jobs/__init__.py,sha256=ObZcz3lL1ip8JcmR6gbfZ4RMMfXJJdsnuU2zLQUb8jY,1546
100
100
  sky/jobs/constants.py,sha256=6RphkJ6pmafQ7XYW5qwId1Zvqb99HJelA9kgrgfNR7o,1421
101
101
  sky/jobs/controller.py,sha256=0WcOk8xRZ-mZWuza-WE-ICKZTgZvXxNzj9pWXUslm6E,28312
102
- sky/jobs/core.py,sha256=99fXKR-lhhFI4fTV7aGpbtbqgAkSgZBeUJ8Zt-68ar4,20314
102
+ sky/jobs/core.py,sha256=mYg4ZI1FqxhaDu7-41LfcHfA7rh6riCfO9sHQUuO3RM,20319
103
103
  sky/jobs/recovery_strategy.py,sha256=m-EA-MWXPFrgx2CYFPr6MmgeUoDTEBmY2xruD2PRSGY,26365
104
104
  sky/jobs/scheduler.py,sha256=WAvNb8-vBk8q1zFordFdpH7gxqWDjPHDGZZay6aodOk,12028
105
105
  sky/jobs/state.py,sha256=bvBNZMg3DzPfS4eHNzMqYaMui2cqnWoWGDIaiOpaXSk,40770
@@ -191,7 +191,7 @@ sky/serve/__init__.py,sha256=Bqw8nB9u1QF3ryjbV797SPZq0DWAcjT94E_5B8J24ag,1808
191
191
  sky/serve/autoscalers.py,sha256=OxaynplCqbmrMA3fIGhxkugaGm-50QoI8S1fIfHK0M0,31667
192
192
  sky/serve/constants.py,sha256=7MflfgTHO9gDSux93U4BmNeEMWXxZB4q7I54KUwgp-s,4651
193
193
  sky/serve/controller.py,sha256=jtzWHsLHnVPQ727ZpDZTUpGTtIOssbnQpXeWOyAuW_s,11886
194
- sky/serve/core.py,sha256=rUCXibVGixO7j7b7nUcBY1pCcejOoa6tztIVf5MQ9bw,35778
194
+ sky/serve/core.py,sha256=ANjALyYiQUmcpWjQ1YJor2rqHJypQpzuQxuIPnDyEk0,35788
195
195
  sky/serve/load_balancer.py,sha256=2nkMPRvy-h7hJL4Qq__tkT8nIAVC_nmjyXf8mMGYEFk,13658
196
196
  sky/serve/load_balancing_policies.py,sha256=XVj76qBgqh7h6wfx53RKQFzBefDWTE4TCdCEtFLLtI4,5398
197
197
  sky/serve/replica_managers.py,sha256=SW7k2iivUZ6dw_YMgGYOHOGD9_yyV4byfKa8e5t8_HE,57587
@@ -207,7 +207,7 @@ sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
207
  sky/skylet/attempt_skylet.py,sha256=GZ6ITjjA0m-da3IxXXfoHR6n4pjp3X3TOXUqVvSrV0k,2136
208
208
  sky/skylet/autostop_lib.py,sha256=JPDHmByuhoNYXSUHl-OnyeJUkOFWn7gDM1FrS7Kr3E8,4478
209
209
  sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
210
- sky/skylet/constants.py,sha256=w_6GtXX6g0Rns4dA6-reQmd2YOHzTuTb-THkXFeznsg,16045
210
+ sky/skylet/constants.py,sha256=cMUJmj9iEY7dFW5pllijwrUlcKQmsJxgQSSrvTq9Ua8,16057
211
211
  sky/skylet/events.py,sha256=0bOjUYpphuAficD9wDB5NOan2vwJDaRqdnm4sl0RK0U,12535
212
212
  sky/skylet/job_lib.py,sha256=Rk-C069cusJIRXsks8xqCb016JSt7GlpU7LrpX0qFJk,42785
213
213
  sky/skylet/log_lib.py,sha256=oFEBd85vDYFrIyyZKekH30yc4rRYILC0F0o-COQ64oE,20445
@@ -263,7 +263,7 @@ sky/utils/command_runner.py,sha256=ewDjFxcCOv0OeG2aUOIfVWmTls65up9DvSnAXURvGfM,3
263
263
  sky/utils/command_runner.pyi,sha256=mJOzCgcYZAfHwnY_6Wf1YwlTEJGb9ihzc2f0rE0Kw98,7751
264
264
  sky/utils/common_utils.py,sha256=Kh0iymQl9I4HXxYSc3TTcv-xeso27pU_1hGNOc9Xw2o,25370
265
265
  sky/utils/control_master_utils.py,sha256=90hnxiAUP20gbJ9e3MERh7rb04ZO_I3LsljNjR26H5I,1416
266
- sky/utils/controller_utils.py,sha256=g4wvp6BrXUcwjRbMvy_LBtZPMPOzHXeRWyEoXORoZrU,44381
266
+ sky/utils/controller_utils.py,sha256=Zvf4jbI1zAtsz-iz63nnAtOi-uXRs6egKjteAAXqkQk,45289
267
267
  sky/utils/dag_utils.py,sha256=R1yhJssvzDg13p6PJIC8OkYFBiR64eIx5xQeRpAG9n4,6099
268
268
  sky/utils/db_utils.py,sha256=K2-OHPg0FeHCarevMdWe0IWzm6wWumViEeYeJuGoFUE,3747
269
269
  sky/utils/env_options.py,sha256=E5iwRFBUY2Iq6e0y0c1Mv5OSQ4MRNdk0-p38xUyVerc,1366
@@ -289,9 +289,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7Z
289
289
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
290
290
  sky/utils/kubernetes/rsync_helper.sh,sha256=h4YwrPFf9727CACnMJvF3EyK_0OeOYKKt4su_daKekw,1256
291
291
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
292
- skypilot_nightly-1.0.0.dev20250130.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
293
- skypilot_nightly-1.0.0.dev20250130.dist-info/METADATA,sha256=h7cYgI0Xy2rdgSRNc8aciOdrnEJ4oqZuAlnCy0N9xb8,21249
294
- skypilot_nightly-1.0.0.dev20250130.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
295
- skypilot_nightly-1.0.0.dev20250130.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
296
- skypilot_nightly-1.0.0.dev20250130.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
297
- skypilot_nightly-1.0.0.dev20250130.dist-info/RECORD,,
292
+ skypilot_nightly-1.0.0.dev20250131.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
293
+ skypilot_nightly-1.0.0.dev20250131.dist-info/METADATA,sha256=jvmN8-XKmH2-fQa_8IK3QHZlgN_xwPEPBr_8TldL7r0,21249
294
+ skypilot_nightly-1.0.0.dev20250131.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
295
+ skypilot_nightly-1.0.0.dev20250131.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
296
+ skypilot_nightly-1.0.0.dev20250131.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
297
+ skypilot_nightly-1.0.0.dev20250131.dist-info/RECORD,,