skypilot-nightly 1.0.0.dev20241023__py3-none-any.whl → 1.0.0.dev20241025__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 (31) hide show
  1. sky/__init__.py +4 -2
  2. sky/adaptors/azure.py +11 -0
  3. sky/check.py +11 -4
  4. sky/cli.py +24 -16
  5. sky/clouds/azure.py +86 -50
  6. sky/clouds/cloud.py +4 -0
  7. sky/clouds/cloud_registry.py +55 -10
  8. sky/clouds/kubernetes.py +1 -1
  9. sky/clouds/oci.py +1 -1
  10. sky/clouds/service_catalog/azure_catalog.py +15 -0
  11. sky/clouds/service_catalog/kubernetes_catalog.py +7 -1
  12. sky/clouds/utils/azure_utils.py +91 -0
  13. sky/exceptions.py +4 -4
  14. sky/jobs/recovery_strategy.py +3 -3
  15. sky/provision/azure/azure-config-template.json +7 -1
  16. sky/provision/azure/config.py +24 -8
  17. sky/provision/azure/instance.py +251 -137
  18. sky/provision/kubernetes/instance.py +4 -2
  19. sky/provision/provisioner.py +16 -8
  20. sky/resources.py +1 -0
  21. sky/templates/azure-ray.yml.j2 +2 -0
  22. sky/usage/usage_lib.py +3 -2
  23. sky/utils/common_utils.py +3 -2
  24. sky/utils/controller_utils.py +69 -18
  25. {skypilot_nightly-1.0.0.dev20241023.dist-info → skypilot_nightly-1.0.0.dev20241025.dist-info}/METADATA +1 -1
  26. {skypilot_nightly-1.0.0.dev20241023.dist-info → skypilot_nightly-1.0.0.dev20241025.dist-info}/RECORD +30 -30
  27. sky/provision/azure/azure-vm-template.json +0 -301
  28. {skypilot_nightly-1.0.0.dev20241023.dist-info → skypilot_nightly-1.0.0.dev20241025.dist-info}/LICENSE +0 -0
  29. {skypilot_nightly-1.0.0.dev20241023.dist-info → skypilot_nightly-1.0.0.dev20241025.dist-info}/WHEEL +0 -0
  30. {skypilot_nightly-1.0.0.dev20241023.dist-info → skypilot_nightly-1.0.0.dev20241025.dist-info}/entry_points.txt +0 -0
  31. {skypilot_nightly-1.0.0.dev20241023.dist-info → skypilot_nightly-1.0.0.dev20241025.dist-info}/top_level.txt +0 -0
@@ -28,6 +28,7 @@ from sky.skylet import constants
28
28
  from sky.utils import common_utils
29
29
  from sky.utils import resources_utils
30
30
  from sky.utils import rich_utils
31
+ from sky.utils import subprocess_utils
31
32
  from sky.utils import ux_utils
32
33
 
33
34
  # Do not use __name__ as we do not want to propagate logs to sky.provision,
@@ -365,14 +366,13 @@ def wait_for_ssh(cluster_info: provision_common.ClusterInfo,
365
366
  # use a queue for SSH querying
366
367
  ips = collections.deque(ip_list)
367
368
  ssh_ports = collections.deque(port_list)
368
- while ips:
369
- ip = ips.popleft()
370
- ssh_port = ssh_ports.popleft()
371
- success, stderr = waiter(ip, ssh_port, **ssh_credentials)
372
- if not success:
373
- ips.append(ip)
374
- ssh_ports.append(ssh_port)
375
- if time.time() - start > timeout:
369
+
370
+ def _retry_ssh_thread(ip_ssh_port: Tuple[str, int]):
371
+ ip, ssh_port = ip_ssh_port
372
+ success = False
373
+ while not success:
374
+ success, stderr = waiter(ip, ssh_port, **ssh_credentials)
375
+ if not success and time.time() - start > timeout:
376
376
  with ux_utils.print_exception_no_traceback():
377
377
  raise RuntimeError(
378
378
  f'Failed to SSH to {ip} after timeout {timeout}s, with '
@@ -380,6 +380,14 @@ def wait_for_ssh(cluster_info: provision_common.ClusterInfo,
380
380
  logger.debug('Retrying in 1 second...')
381
381
  time.sleep(1)
382
382
 
383
+ # try one node and multiprocess the rest
384
+ if ips:
385
+ ip = ips.popleft()
386
+ ssh_port = ssh_ports.popleft()
387
+ _retry_ssh_thread((ip, ssh_port))
388
+ subprocess_utils.run_in_parallel(_retry_ssh_thread,
389
+ list(zip(ips, ssh_ports)))
390
+
383
391
 
384
392
  def _post_provision_setup(
385
393
  cloud_name: str, cluster_name: resources_utils.ClusterName,
sky/resources.py CHANGED
@@ -225,6 +225,7 @@ class Resources:
225
225
  self._set_memory(memory)
226
226
  self._set_accelerators(accelerators, accelerator_args)
227
227
 
228
+ # TODO: move these out of init to prevent repeated calls.
228
229
  self._try_validate_instance_type()
229
230
  self._try_validate_cpus_mem()
230
231
  self._try_validate_managed_job_attributes()
@@ -67,6 +67,8 @@ available_node_types:
67
67
  imageOffer: {{image_offer}}
68
68
  imageSku: "{{image_sku}}"
69
69
  imageVersion: {{image_version}}
70
+ # Community Gallery Image ID
71
+ communityGalleryImageId: {{community_gallery_image_id}}
70
72
  osDiskSizeGB: {{disk_size}}
71
73
  osDiskTier: {{disk_tier}}
72
74
  {%- if use_spot %}
sky/usage/usage_lib.py CHANGED
@@ -432,8 +432,9 @@ def entrypoint_context(name: str, fallback: bool = False):
432
432
  with ux_utils.enable_traceback():
433
433
  trace = traceback.format_exc()
434
434
  messages.usage.stacktrace = trace
435
- if hasattr(e, 'detailed_reason') and e.detailed_reason is not None:
436
- messages.usage.stacktrace += '\nDetails: ' + e.detailed_reason
435
+ detailed_reason = getattr(e, 'detailed_reason', None)
436
+ if detailed_reason is not None:
437
+ messages.usage.stacktrace += '\nDetails: ' + detailed_reason
437
438
  messages.usage.exception = common_utils.remove_color(
438
439
  common_utils.format_exception(e))
439
440
  raise
sky/utils/common_utils.py CHANGED
@@ -362,7 +362,6 @@ def make_decorator(cls, name_or_fn: Union[str, Callable],
362
362
 
363
363
  @functools.wraps(f)
364
364
  def _record(*args, **kwargs):
365
- nonlocal name_or_fn
366
365
  with cls(name_or_fn, **ctx_kwargs):
367
366
  return f(*args, **kwargs)
368
367
 
@@ -376,7 +375,6 @@ def make_decorator(cls, name_or_fn: Union[str, Callable],
376
375
 
377
376
  @functools.wraps(name_or_fn)
378
377
  def _record(*args, **kwargs):
379
- nonlocal name_or_fn
380
378
  f = name_or_fn
381
379
  func_name = getattr(f, '__qualname__', f.__name__)
382
380
  module_name = getattr(f, '__module__', '')
@@ -579,7 +577,10 @@ def validate_schema(obj, schema, err_msg_prefix='', skip_none=True):
579
577
  e.message)
580
578
  else:
581
579
  err_msg = err_msg_prefix
580
+ assert isinstance(e.schema, dict), 'Schema must be a dictionary'
582
581
  known_fields = set(e.schema.get('properties', {}).keys())
582
+ assert isinstance(e.instance,
583
+ dict), 'Instance must be a dictionary'
583
584
  for field in e.instance:
584
585
  if field not in known_fields:
585
586
  most_similar_field = difflib.get_close_matches(
@@ -505,20 +505,17 @@ def get_controller_resources(
505
505
  if handle is not None:
506
506
  controller_resources_to_use = handle.launched_resources
507
507
 
508
- if controller_resources_to_use.cloud is not None:
509
- return {controller_resources_to_use}
508
+ # If the controller and replicas are from the same cloud (and region/zone),
509
+ # it should provide better connectivity. We will let the controller choose
510
+ # from the clouds (and regions/zones) of the resources if the user does not
511
+ # specify the cloud (and region/zone) for the controller.
510
512
 
511
- # If the controller and replicas are from the same cloud, it should
512
- # provide better connectivity. We will let the controller choose from
513
- # the clouds of the resources if the controller does not exist.
514
- # TODO(tian): Consider respecting the regions/zones specified for the
515
- # resources as well.
516
- requested_clouds: Set['clouds.Cloud'] = set()
513
+ requested_clouds_with_region_zone: Dict[str, Dict[Optional[str],
514
+ Set[Optional[str]]]] = {}
517
515
  for resource in task_resources:
518
- # cloud is an object and will not be able to be distinguished by set.
519
- # Here we manually check if the cloud is in the set.
520
516
  if resource.cloud is not None:
521
- if not clouds.cloud_in_iterable(resource.cloud, requested_clouds):
517
+ cloud_name = str(resource.cloud)
518
+ if cloud_name not in requested_clouds_with_region_zone:
522
519
  try:
523
520
  resource.cloud.check_features_are_supported(
524
521
  resources.Resources(),
@@ -526,7 +523,26 @@ def get_controller_resources(
526
523
  except exceptions.NotSupportedError:
527
524
  # Skip the cloud if it does not support hosting controllers.
528
525
  continue
529
- requested_clouds.add(resource.cloud)
526
+ requested_clouds_with_region_zone[cloud_name] = {}
527
+ if resource.region is None:
528
+ # If one of the resource.region is None, this could represent
529
+ # that the user is unsure about which region the resource is
530
+ # hosted in. In this case, we allow any region for this cloud.
531
+ requested_clouds_with_region_zone[cloud_name] = {None: {None}}
532
+ elif None not in requested_clouds_with_region_zone[cloud_name]:
533
+ if resource.region not in requested_clouds_with_region_zone[
534
+ cloud_name]:
535
+ requested_clouds_with_region_zone[cloud_name][
536
+ resource.region] = set()
537
+ # If one of the resource.zone is None, allow any zone in the
538
+ # region.
539
+ if resource.zone is None:
540
+ requested_clouds_with_region_zone[cloud_name][
541
+ resource.region] = {None}
542
+ elif None not in requested_clouds_with_region_zone[cloud_name][
543
+ resource.region]:
544
+ requested_clouds_with_region_zone[cloud_name][
545
+ resource.region].add(resource.zone)
530
546
  else:
531
547
  # if one of the resource.cloud is None, this could represent user
532
548
  # does not know which cloud is best for the specified resources.
@@ -536,14 +552,49 @@ def get_controller_resources(
536
552
  # - cloud: runpod
537
553
  # accelerators: A40
538
554
  # In this case, we allow the controller to be launched on any cloud.
539
- requested_clouds.clear()
555
+ requested_clouds_with_region_zone.clear()
540
556
  break
541
- if not requested_clouds:
557
+
558
+ # Extract filtering criteria from the controller resources specified by the
559
+ # user.
560
+ controller_cloud = str(
561
+ controller_resources_to_use.cloud
562
+ ) if controller_resources_to_use.cloud is not None else None
563
+ controller_region = controller_resources_to_use.region
564
+ controller_zone = controller_resources_to_use.zone
565
+
566
+ # Filter clouds if controller_resources_to_use.cloud is specified.
567
+ filtered_clouds = ({controller_cloud} if controller_cloud is not None else
568
+ requested_clouds_with_region_zone.keys())
569
+
570
+ # Filter regions and zones and construct the result.
571
+ result: Set[resources.Resources] = set()
572
+ for cloud_name in filtered_clouds:
573
+ regions = requested_clouds_with_region_zone.get(cloud_name,
574
+ {None: {None}})
575
+
576
+ # Filter regions if controller_resources_to_use.region is specified.
577
+ filtered_regions = ({controller_region} if controller_region is not None
578
+ else regions.keys())
579
+
580
+ for region in filtered_regions:
581
+ zones = regions.get(region, {None})
582
+
583
+ # Filter zones if controller_resources_to_use.zone is specified.
584
+ filtered_zones = ({controller_zone}
585
+ if controller_zone is not None else zones)
586
+
587
+ # Create combinations of cloud, region, and zone.
588
+ for zone in filtered_zones:
589
+ resource_copy = controller_resources_to_use.copy(
590
+ cloud=clouds.CLOUD_REGISTRY.from_str(cloud_name),
591
+ region=region,
592
+ zone=zone)
593
+ result.add(resource_copy)
594
+
595
+ if not result:
542
596
  return {controller_resources_to_use}
543
- return {
544
- controller_resources_to_use.copy(cloud=controller_cloud)
545
- for controller_cloud in requested_clouds
546
- }
597
+ return result
547
598
 
548
599
 
549
600
  def _setup_proxy_command_on_controller(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241023
3
+ Version: 1.0.0.dev20241025
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,23 +1,23 @@
1
- sky/__init__.py,sha256=GIJDzXwASAEaGbwO52D-mvm5JVbXxjMbdt9_OZ0Wsv4,5854
1
+ sky/__init__.py,sha256=GSmePpdUEM88IzUu72hNEsvulpIRguwT7aXuz3ked5s,5882
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=pAdCT60OxxiXI9KXDyP2lQ9u9vMc6aMtq5Xi2h_hbdw,20984
4
- sky/check.py,sha256=jLMIIJrseaZj1_o5WkbaD9XdyXIlCaT6pyAaIFdhdmA,9079
5
- sky/cli.py,sha256=XcQeVtH5J7xcARGagYicmTUfd2145jN2nvnZaZXtZlI,209981
4
+ sky/check.py,sha256=D3Y3saIFAYVvPxuBHnVgJEO0fUVDxgjwuMBaO-D778k,9472
5
+ sky/cli.py,sha256=4HOGW3LTDlPNXHqvTykcM8iMWOCdAK90l6w34DYBIsg,210357
6
6
  sky/cloud_stores.py,sha256=RjFgmRhUh1Kk__f6g3KxzLp9s7dA0pFK4W1AukEuUaw,21153
7
7
  sky/core.py,sha256=DW9OGE2kS2CmsvQ1grrpRnNFS3woMGWSHu5GE99e-I4,38190
8
8
  sky/dag.py,sha256=WLFWr5hfrwjd31uYlNvI-zWUk7tLaT_gzJn4LzbVtkE,2780
9
- sky/exceptions.py,sha256=D7WARzYRt4dGjXo6gI-gzkoodZbKF1D-qncm_DbHB28,8846
9
+ sky/exceptions.py,sha256=KBIEJHgrw6OMBL8H65o-Gk6qYQEV1SR9gBwMjnMnxxg,8858
10
10
  sky/execution.py,sha256=CbrKMgfc2JgLqZqwPvmYKxbWAQKYqHpOLpUEOb-k2m0,24679
11
11
  sky/global_user_state.py,sha256=PywEmUutF97XBgRMClR6IS5_KM8JJC0oA1LsPUZebp0,28681
12
12
  sky/optimizer.py,sha256=OzxWiA6ZC0tyJ1eNMy4e72vitjfLKfbOLF9ywZOccXU,59343
13
- sky/resources.py,sha256=Qk_CYvLO8OFsnRLqXu-nG6qXfJEZ2aBMzxFJHYaXTvE,67398
13
+ sky/resources.py,sha256=6Hhk4tdwr_pZ6m5iA4w4MZUYflAOJtJw6va3jSHsVOI,67464
14
14
  sky/sky_logging.py,sha256=oLmTmwkuucIto3LHXLJfMcyRpYSkmZAZa5XzQPA5IHk,4434
15
15
  sky/skypilot_config.py,sha256=E3g65cX3P3dT9b5N0GgFBG6yB0FXwIGpisKoozmJmWU,9094
16
16
  sky/status_lib.py,sha256=J7Jb4_Dz0v2T64ttOdyUgpokvl4S0sBJrMfH7Fvo51A,1457
17
17
  sky/task.py,sha256=KDsTBIxYpkCOPHv3_ei5H3LDMiGHvDeS9_2HeL6yyLA,49766
18
18
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  sky/adaptors/aws.py,sha256=jz3E8YyeGscgLZvFE6A1SkxpH6o_inZ-0NiXdRnxSGA,6863
20
- sky/adaptors/azure.py,sha256=edWy5YgW6dAUl8pPWvSJ8x5mRgCew1KmDpntTw65vHo,21464
20
+ sky/adaptors/azure.py,sha256=n4PXHGJ8ambcbzYzWifj9BsoShUhg62pF6udmUw45S8,21762
21
21
  sky/adaptors/cloudflare.py,sha256=0JA41HeZeYoqcJoEyol01caYgt8UrlpcZJJ6ToU-Fg8,7594
22
22
  sky/adaptors/common.py,sha256=VhgAFPx-GmhXoob8B1YvqGC2BXs2HwtqoA8oFMaqkbc,2551
23
23
  sky/adaptors/cudo.py,sha256=WGvIQrlzJkGDe02Ve7pygA56tHwUc4kwS3XHW8kMFAA,239
@@ -41,23 +41,23 @@ sky/benchmark/benchmark_state.py,sha256=X8CXmuU9KgsDRhKedhFgjeRMUFWtQsjFs1qECvPG
41
41
  sky/benchmark/benchmark_utils.py,sha256=eb-i6zYoo-Zkod-T9qtCu1FcYLw--Yyos1SyibUPZNE,26194
42
42
  sky/clouds/__init__.py,sha256=WuNIJEnZmBO72tU5awgaaL3rdvFRSkgaYNNeuY68dXo,1356
43
43
  sky/clouds/aws.py,sha256=XJVbOSkVVUHp9HbHDp0rFdHX113JHbY-3sgokGdNJVE,49527
44
- sky/clouds/azure.py,sha256=jTgynKU5tuOyBe97n2I7_k9P0Sw0QFU-6wLDLFwQhfM,28634
45
- sky/clouds/cloud.py,sha256=PPk-Cbf1YbJT8bswcQLtPBtko02OWrRGJKkLzDpytTI,34858
46
- sky/clouds/cloud_registry.py,sha256=4yQMv-iBSgyN5aNL4Qxbn0JVE-dkVoEUIgj7S1z9S_Q,955
44
+ sky/clouds/azure.py,sha256=FklG_CEvOXLkZVoEYSCcNtPsQpq-2w6AJovzbLKun0w,30162
45
+ sky/clouds/cloud.py,sha256=BBu1G-gkmylffldL50cvJ2DkDJ8vjVPziOPUAsvgJ2o,34948
46
+ sky/clouds/cloud_registry.py,sha256=oLoYFjm_SDTgdHokY7b6A5Utq80HXRQNxV0fLjDdVsQ,2361
47
47
  sky/clouds/cudo.py,sha256=H4VyMo5wWGAv2MXZ3xsbWjlZA_cZYnt4ecNlTOOao8Y,13147
48
48
  sky/clouds/fluidstack.py,sha256=iOmoOx52yTrHKMzwBDaxFJCfNo79M61d5tj-Np24Lyc,12436
49
49
  sky/clouds/gcp.py,sha256=m_dH04HqgU-DdW4R9wrSr66IpPt9JMKHEvHEGGFpeRo,54655
50
50
  sky/clouds/ibm.py,sha256=M8QdjeSFlwssfoY2aOodxG4q5R3eT9K-4lTPDHYvEYI,21476
51
- sky/clouds/kubernetes.py,sha256=aWoXWR-S4puZHzuUHroLKxLdTpkqU7j75dQlXECnsmE,28679
51
+ sky/clouds/kubernetes.py,sha256=j3imm_sbtyyZXvJ6qbqZmXok2C9OQIcGpyulljbTSJ4,28696
52
52
  sky/clouds/lambda_cloud.py,sha256=11dKUSunHUgaPZ1t8O85X29_NJ-o26sCt5DjwAPFgl4,12697
53
- sky/clouds/oci.py,sha256=ecVgcbCVJwDLtaYXs-yGDzwPYRr23KvjnzFOXwaY2O0,26914
53
+ sky/clouds/oci.py,sha256=Ve3MqVHay9oHRuK6vaCd3Rxz8fD54nfM_DKA4Qzf8l4,26963
54
54
  sky/clouds/paperspace.py,sha256=lmUZPYAblaqiBmGQwCunccMiTF_dVA1o3vqY9Q_Nc28,10921
55
55
  sky/clouds/runpod.py,sha256=lstUC6f4JDhtcH9NfwkbpCJMmfmvMigoanhPXPbTYds,11540
56
56
  sky/clouds/scp.py,sha256=2KLTuNSMdBzK8CLwSesv7efOuiLidIMoyNG4AOt5Sqw,15870
57
57
  sky/clouds/vsphere.py,sha256=7eZFYIDtY5sX_ATr8h7kwwkY9t8Z-EYMJ9HCjoRBoxI,12309
58
58
  sky/clouds/service_catalog/__init__.py,sha256=e0K-c64jQV9d6zly5OnIXMsYaZXs_Ko9osAbDaRlOOw,14743
59
59
  sky/clouds/service_catalog/aws_catalog.py,sha256=1wX1-wOMw2LZ7RkV_Ah7c42RLRYm-m5_GAXzn32M5a8,13038
60
- sky/clouds/service_catalog/azure_catalog.py,sha256=VJi3yfhZy9Sc6UfcLAc8xIoTlUlUr090TODkCZyyHFw,7311
60
+ sky/clouds/service_catalog/azure_catalog.py,sha256=DOAzAhI5eHRHTzYDBrlNmfh3YByAoR-A9kBVeh6ZXvs,7689
61
61
  sky/clouds/service_catalog/common.py,sha256=PA3llB0zZh4v0DO_gDDCKGhRIBx16CAp2WJZNxhjNOA,27266
62
62
  sky/clouds/service_catalog/config.py,sha256=ylzqewdEBjDg4awvFek6ldYmFrnvD2bVGLZuLPvEVYA,1793
63
63
  sky/clouds/service_catalog/constants.py,sha256=ai2yOlsVqBnEpbxaEHXt61COsHBLwOfw6GZXntEPj7k,411
@@ -65,7 +65,7 @@ sky/clouds/service_catalog/cudo_catalog.py,sha256=QXAOpx5fJ_cGCr5LbB7wpHMfKIla7G
65
65
  sky/clouds/service_catalog/fluidstack_catalog.py,sha256=c8MMTldG-q97MJ0zJymudQiOVQC_rxS7vqrZgLrgbQA,5038
66
66
  sky/clouds/service_catalog/gcp_catalog.py,sha256=v_5fsB3dB9oD8U7lBKnCe5ii6AUWEOiQjNarMnU_qLA,24379
67
67
  sky/clouds/service_catalog/ibm_catalog.py,sha256=0dzjmXABFECzaAuIa0E6pVINhVK6-G6U52Mj-L45gK8,4472
68
- sky/clouds/service_catalog/kubernetes_catalog.py,sha256=6OocEUkgyJtBgHwzu4RPsvru6pj6RwGU-4uSFNQmsSM,8254
68
+ sky/clouds/service_catalog/kubernetes_catalog.py,sha256=Eezfl-tx3obgy3d2Kz2XR-_ezj_y8Dxk4oOW7Hy_g-o,8599
69
69
  sky/clouds/service_catalog/lambda_catalog.py,sha256=BAhUGqHj8aVe1zUhEQNO7bQUhcd9jAespGvPyQubTJY,5281
70
70
  sky/clouds/service_catalog/oci_catalog.py,sha256=AG1mOgc-iWaX4zapONWMZPNd2RCKCsaNOyFc0eq_LFU,8551
71
71
  sky/clouds/service_catalog/paperspace_catalog.py,sha256=W8GgGlPbbWViELQ8EZfmIkxSbeQcCmMRUX4ecIIYDsk,3768
@@ -83,6 +83,7 @@ sky/clouds/service_catalog/data_fetchers/fetch_lambda_cloud.py,sha256=B7H14so38z
83
83
  sky/clouds/service_catalog/data_fetchers/fetch_vsphere.py,sha256=SF_gTU74qg6L-DSWneCAbqP0lwZXaaDi5otiMIJbrw0,21462
84
84
  sky/clouds/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  sky/clouds/utils/aws_utils.py,sha256=W5BRC-2F_VY4BymRA1kS6-MufsI3V8cfY_hv--4gJBU,1986
86
+ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4t8,3555
86
87
  sky/clouds/utils/gcp_utils.py,sha256=Xc_COjJfDt__oqVwrCw7ejY2B7ptHjMjDVb8obcpJ6s,6968
87
88
  sky/clouds/utils/oci_utils.py,sha256=t-5QEQEs8swN683AAp-oDD6yQJOQqVBbsVcHkNyqnbU,4968
88
89
  sky/clouds/utils/scp_utils.py,sha256=RUp7NwyhKygOoVOwvdAOGdoQNSJjryOG6WSExCf-yas,15812
@@ -96,7 +97,7 @@ sky/jobs/__init__.py,sha256=yucibSB_ZimtJMvOhMxn6ZqwBIYNfcwmc6pSXtCqmNQ,1483
96
97
  sky/jobs/constants.py,sha256=YLgcCg_RHSYr_rfsI_4UIdXk78KKKOK29Oem88t5j8I,1350
97
98
  sky/jobs/controller.py,sha256=k28bbicxtML6p1YxSetk-1nhBHPCubpvLWJsh7TtU9c,26701
98
99
  sky/jobs/core.py,sha256=RkBFaKDlovmdzqlOAgQ0xAimZFgo4pXq3qaQkAvGsGk,16908
99
- sky/jobs/recovery_strategy.py,sha256=G3iFicEajB-l9FefvcqjqPIazb1X8BJ_AgVmD5bDV2w,25556
100
+ sky/jobs/recovery_strategy.py,sha256=UOEaVGSpRbCnCzlD8cgyjhCPIBIeBeCXCutoSic5aiA,25545
100
101
  sky/jobs/state.py,sha256=C6R5Yq7ftBqGPa_71tUjflBMKAaJ1FTTdbgjAwmbJsI,23231
101
102
  sky/jobs/utils.py,sha256=lYfWkEAPVnYcj2nT6VYdM6PCaWKUH6_AD4TAV_sVCkY,36376
102
103
  sky/jobs/dashboard/dashboard.py,sha256=HFShuaxKir97QTeK2x37h6bsY6ncaFaNEg1USZqJPdc,3050
@@ -109,16 +110,15 @@ sky/provision/docker_utils.py,sha256=cKYasCwbMf6C2_0vTxg2GvbrnhFvko-xDl1frfm7wxc
109
110
  sky/provision/instance_setup.py,sha256=n1Px_KOYZl7Rf1WLXrfTTHyqxyA8_5QTN9BNLjQRkgc,22427
110
111
  sky/provision/logging.py,sha256=yZWgejrFBhhRjAtvFu5N5bRXIMK5TuwNjp1vKQqz2pw,2103
111
112
  sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
112
- sky/provision/provisioner.py,sha256=A4-yY0Q4GnkdJsHl_DLNEycq5wFKFsPwT0fwTNh1dG0,25016
113
+ sky/provision/provisioner.py,sha256=mTvtBjS-Xz64LJcyeHx_-wdM8Gin8D49YRaV_TADaz4,25334
113
114
  sky/provision/aws/__init__.py,sha256=mxq8PeWJqUtalDozTNpbtENErRZ1ktEs8uf2aG9UUgU,731
114
115
  sky/provision/aws/config.py,sha256=ApEh63RR_KyCp9nPXX35z6jBREoulJPQ5st8K9Jlclo,23385
115
116
  sky/provision/aws/instance.py,sha256=eCslJ2XfJo_pkQMnKFQqhGnUIRvwKiT12oxBY5-klss,40750
116
117
  sky/provision/aws/utils.py,sha256=m49pS-SHGW7Au3bhDeTPsL8N5iRzbwOXzyEWRCc1Vho,3238
117
118
  sky/provision/azure/__init__.py,sha256=87cgk1_Ws7n9rqaDDPv-HpfrkVeSQMdFQnhnXwyx9g4,548
118
- sky/provision/azure/azure-config-template.json,sha256=dwTO-DG70UtBifN59NzsJwPZHZ4uCs7_oLooHgXG_N8,4349
119
- sky/provision/azure/azure-vm-template.json,sha256=k0A4xclQ-xQbAdcjo516sZqMDsU-n8_jeRuPxtGKBFI,10901
120
- sky/provision/azure/config.py,sha256=qNUNcX1HboosuZASEVgJ_K-g7CNNWExodWXFIsoq5V8,7288
121
- sky/provision/azure/instance.py,sha256=3xHRkWcElAgaOuOzcBdwfnLni8zD8KwNgYmj3A7gljA,33244
119
+ sky/provision/azure/azure-config-template.json,sha256=jsyzjE03FLoR8TF9phe7XMdmQyRQpbfwCMlSxjPjEig,4531
120
+ sky/provision/azure/config.py,sha256=zFgWWK-UWsbuxOo7_TTVL2rqWMqUWmkQl9bnP7w18xI,7907
121
+ sky/provision/azure/instance.py,sha256=xHHPSfPoBJxC4IkzHeaGfQZoxEpElSK7LC04z34spgc,39319
122
122
  sky/provision/cudo/__init__.py,sha256=KAEl26MVPsk7IoP9Gg-MOJJRIV6-X9B0fbyHdyJWdLo,741
123
123
  sky/provision/cudo/config.py,sha256=RYOVkV0MoUqVBJRZiKhBZhjFygeyFs7eUdVMdPg1vds,327
124
124
  sky/provision/cudo/cudo_machine_type.py,sha256=_VNXWPELmlFXbtdcnPvkuLuyE9CZ923BUCdiac-ClDY,696
@@ -137,7 +137,7 @@ sky/provision/gcp/instance_utils.py,sha256=veRBr6Oziv0KaUdC4acuWeaOremNV0gMYCCHa
137
137
  sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
138
138
  sky/provision/kubernetes/__init__.py,sha256=y6yVfii81WYG3ROxv4hiIj-ydinS5-xGxLvXnARVQoI,719
139
139
  sky/provision/kubernetes/config.py,sha256=WEKcFXXhe89bLGAvoMiBvTDxdxkpTIA6ezrj2vmzldc,29072
140
- sky/provision/kubernetes/instance.py,sha256=Qth9AWc8OBGB7WeGJ4ERlopNA8y2wg1AvS5XPJEuXXQ,38421
140
+ sky/provision/kubernetes/instance.py,sha256=FOt77bFSKwi12J1_1qXhUrKiCqLfKWFgcRa1cLlNFlU,38453
141
141
  sky/provision/kubernetes/network.py,sha256=EpNjRQ131CXepqbdkoRKFu4szVrm0oKEpv1l8EgOkjU,12364
142
142
  sky/provision/kubernetes/network_utils.py,sha256=t1FS3K400fetH7cBuRgQJZl5_jEeMshsvsYmnMUcq8k,11399
143
143
  sky/provision/kubernetes/utils.py,sha256=2N5c4yA7CEn4DjvCiUO73W4XDEjgixcJRVdgs913QQE,89523
@@ -219,7 +219,7 @@ sky/skylet/ray_patches/resource_demand_scheduler.py.patch,sha256=AVV-Hw-Rxw16aFm
219
219
  sky/skylet/ray_patches/updater.py.patch,sha256=ZNMGVYICPBB44jLbEx2KvCgIY7BWYdDv3-2b2HJWmAQ,289
220
220
  sky/skylet/ray_patches/worker.py.patch,sha256=_OBhibdr3xOy5Qje6Tt8D1eQVm_msi50TJbCJmOTxVU,565
221
221
  sky/templates/aws-ray.yml.j2,sha256=K0rAuyf1XC_GPFp1BR9df42-Be12A6T2UF0BllVSpYg,8005
222
- sky/templates/azure-ray.yml.j2,sha256=RtYAcAmFQd6TB3j-pbxi7ekjWhznqFhJtzdkqH_nXqM,6135
222
+ sky/templates/azure-ray.yml.j2,sha256=zjASvx-Y0ZNEvCg9hsBhp3mt0Je5fvUv6XYUAYdrNqI,6245
223
223
  sky/templates/cudo-ray.yml.j2,sha256=SEHVY57iBauCOE2HYJtYVFEKlriAkdwQu_p86a1n_bA,3548
224
224
  sky/templates/fluidstack-ray.yml.j2,sha256=t8TCULgiErCZdtFmBZVsA8ZdcqR7ccwsmQhuDFTBEAU,3541
225
225
  sky/templates/gcp-ray.yml.j2,sha256=y95B-Nk6hFxm6vEIaxI1wFzAIcy_GcKC3XMYo9m-ThI,9662
@@ -240,15 +240,15 @@ sky/templates/sky-serve-controller.yaml.j2,sha256=V1IiYhArv_D_7JzC3sVN4nKlSCCCL1
240
240
  sky/templates/vsphere-ray.yml.j2,sha256=cOQ-qdpxGA2FHajMMhTJI-SmlYzdPterX4Gsiq-nkb0,3587
241
241
  sky/usage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
242
  sky/usage/constants.py,sha256=8xpg9vhDU9A3eObtpkNFjwa42oCazqGEv4yw_vJSO7U,590
243
- sky/usage/usage_lib.py,sha256=uqclBc87_9D_QVWigCjOIfWFoVB6re68C7RnwjzRYvg,17870
243
+ sky/usage/usage_lib.py,sha256=mxsbwUMEQjesUOIv4Yne-Ze7rVxSQYr3_wBXruifGRA,17898
244
244
  sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
245
  sky/utils/accelerator_registry.py,sha256=BO4iYH5bV80Xyp4EPfO0n1D3LL0FvESCy7xm59Je3_o,3798
246
246
  sky/utils/admin_policy_utils.py,sha256=zFCu1OFIrZRfQNY0JFRO1502WFfdqZhwAU_QgM4fO9U,5943
247
247
  sky/utils/cluster_yaml_utils.py,sha256=1wRRYqI1kI-eFs1pMW4r_FFjHJ0zamq6v2RRI-Gtx5E,849
248
248
  sky/utils/command_runner.py,sha256=3CDcqRXEmoe3C-t2P58McgcRg6p9m5haUWYj1rOLuqM,34858
249
249
  sky/utils/command_runner.pyi,sha256=mJOzCgcYZAfHwnY_6Wf1YwlTEJGb9ihzc2f0rE0Kw98,7751
250
- sky/utils/common_utils.py,sha256=MwFhIcvCEMBo7kbENUjN3qRNO5SoMV0fzAORc65c5x0,24525
251
- sky/utils/controller_utils.py,sha256=V05hiLJIjqqXssYzs_Gchk4-tijgpMgLJsRW8ymhS-E,40625
250
+ sky/utils/common_utils.py,sha256=Qy25LuIoTT0qg391EWyT9i5D6fwk1S4OdFwRpCTZ9Vk,24657
251
+ sky/utils/controller_utils.py,sha256=wF4_y1PCsLAWoo3XEtECwkNYTN6hO3vn_cxGxgQYcd8,43268
252
252
  sky/utils/dag_utils.py,sha256=gjGZiJj4_GYsraXX67e6ElvbmOByJcyjSfvVgYZiXvs,5588
253
253
  sky/utils/db_utils.py,sha256=AOvMmBEN9cF4I7CoXihPCtus4mU2VDGjBQSVMMgzKlA,2786
254
254
  sky/utils/env_options.py,sha256=3oAaUPxowL6vI2XmxXrH56V7Myj9IJWsL-MXFmRFVdI,1294
@@ -274,9 +274,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7Z
274
274
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
275
275
  sky/utils/kubernetes/rsync_helper.sh,sha256=hyYDaYSNxYaNvzUQBzC8AidB7nDeojizjkzc_CTxycY,1077
276
276
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
277
- skypilot_nightly-1.0.0.dev20241023.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
278
- skypilot_nightly-1.0.0.dev20241023.dist-info/METADATA,sha256=6-0lKUe3hPKV5QaL0oSkB1tfG8-_YiqTr9B65uAplTw,19540
279
- skypilot_nightly-1.0.0.dev20241023.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
280
- skypilot_nightly-1.0.0.dev20241023.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
281
- skypilot_nightly-1.0.0.dev20241023.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
282
- skypilot_nightly-1.0.0.dev20241023.dist-info/RECORD,,
277
+ skypilot_nightly-1.0.0.dev20241025.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
278
+ skypilot_nightly-1.0.0.dev20241025.dist-info/METADATA,sha256=siLhZo4MgO_jZOW2C51DpjE_Uxw1MOaDZyaemct3w1g,19540
279
+ skypilot_nightly-1.0.0.dev20241025.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
280
+ skypilot_nightly-1.0.0.dev20241025.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
281
+ skypilot_nightly-1.0.0.dev20241025.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
282
+ skypilot_nightly-1.0.0.dev20241025.dist-info/RECORD,,