skypilot-nightly 1.0.0.dev20240906__py3-none-any.whl → 1.0.0.dev20240907__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 = '2e545b8db70991bc74d112d5070fa908078f9cdb'
8
+ _SKYPILOT_COMMIT_SHA = '363f27bd1fc5444531966bae7ce03e406b03d646'
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.dev20240906'
38
+ __version__ = '1.0.0.dev20240907'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
sky/clouds/azure.py CHANGED
@@ -58,12 +58,11 @@ class Azure(clouds.Cloud):
58
58
  # names, so the limit is 64 - 4 - 7 - 10 = 43.
59
59
  # Reference: https://azure.github.io/PSRule.Rules.Azure/en/rules/Azure.ResourceGroup.Name/ # pylint: disable=line-too-long
60
60
  _MAX_CLUSTER_NAME_LEN_LIMIT = 42
61
- _BEST_DISK_TIER = resources_utils.DiskTier.MEDIUM
61
+ _BEST_DISK_TIER = resources_utils.DiskTier.HIGH
62
62
  _DEFAULT_DISK_TIER = resources_utils.DiskTier.MEDIUM
63
63
  # Azure does not support high disk and ultra disk tier.
64
- _SUPPORTED_DISK_TIERS = (
65
- set(resources_utils.DiskTier) -
66
- {resources_utils.DiskTier.HIGH, resources_utils.DiskTier.ULTRA})
64
+ _SUPPORTED_DISK_TIERS = (set(resources_utils.DiskTier) -
65
+ {resources_utils.DiskTier.ULTRA})
67
66
 
68
67
  _INDENT_PREFIX = ' ' * 4
69
68
 
@@ -361,7 +360,9 @@ class Azure(clouds.Cloud):
361
360
  start_index += 1
362
361
  assert False, 'Low disk tier should always be supported on Azure.'
363
362
 
364
- return {
363
+ disk_tier = _failover_disk_tier()
364
+
365
+ resources_vars = {
365
366
  'instance_type': r.instance_type,
366
367
  'custom_resources': custom_resources,
367
368
  'num_gpus': acc_count,
@@ -371,12 +372,18 @@ class Azure(clouds.Cloud):
371
372
  'zones': None,
372
373
  **image_config,
373
374
  'need_nvidia_driver_extension': need_nvidia_driver_extension,
374
- 'disk_tier': Azure._get_disk_type(_failover_disk_tier()),
375
+ 'disk_tier': Azure._get_disk_type(disk_tier),
375
376
  'cloud_init_setup_commands': cloud_init_setup_commands,
376
377
  'azure_subscription_id': self.get_project_id(dryrun),
377
378
  'resource_group': f'{cluster_name.name_on_cloud}-{region_name}',
378
379
  }
379
380
 
381
+ # Setting disk performance tier for high disk tier.
382
+ if disk_tier == resources_utils.DiskTier.HIGH:
383
+ resources_vars['disk_performance_tier'] = 'P50'
384
+
385
+ return resources_vars
386
+
380
387
  def _get_feasible_launchable_resources(
381
388
  self, resources: 'resources.Resources'
382
389
  ) -> 'resources_utils.FeasibleResources':
@@ -600,10 +607,10 @@ class Azure(clouds.Cloud):
600
607
  disk_tier: Optional[resources_utils.DiskTier]) -> Tuple[bool, str]:
601
608
  if disk_tier is None or disk_tier == resources_utils.DiskTier.BEST:
602
609
  return True, ''
603
- if disk_tier == resources_utils.DiskTier.HIGH or disk_tier == resources_utils.DiskTier.ULTRA:
610
+ if disk_tier == resources_utils.DiskTier.ULTRA:
604
611
  return False, (
605
- 'Azure disk_tier={high, ultra} is not supported now. '
606
- 'Please use disk_tier={low, medium, best} instead.')
612
+ 'Azure disk_tier=ultra is not supported now. '
613
+ 'Please use disk_tier={low, medium, high, best} instead.')
607
614
  # Only S-series supported premium ssd
608
615
  # see https://stackoverflow.com/questions/48590520/azure-requested-operation-cannot-be-performed-because-storage-account-type-pre # pylint: disable=line-too-long
609
616
  if cls._get_disk_type(
@@ -611,7 +618,7 @@ class Azure(clouds.Cloud):
611
618
  ) == 'Premium_LRS' and not Azure._is_s_series(instance_type):
612
619
  return False, (
613
620
  'Azure premium SSDs are only supported for S-series '
614
- 'instances. To use disk_tier=medium, please make sure '
621
+ 'instances. To use disk_tier>=medium, please make sure '
615
622
  'instance_type is specified to an S-series instance.')
616
623
  return True, ''
617
624
 
@@ -631,7 +638,7 @@ class Azure(clouds.Cloud):
631
638
  # cannot be used as OS disks so we might need data disk support
632
639
  tier2name = {
633
640
  resources_utils.DiskTier.ULTRA: 'Disabled',
634
- resources_utils.DiskTier.HIGH: 'Disabled',
641
+ resources_utils.DiskTier.HIGH: 'Premium_LRS',
635
642
  resources_utils.DiskTier.MEDIUM: 'Premium_LRS',
636
643
  resources_utils.DiskTier.LOW: 'Standard_LRS',
637
644
  }
@@ -18,6 +18,7 @@ from sky.adaptors import azure
18
18
  from sky.provision import common
19
19
  from sky.provision import constants
20
20
  from sky.utils import common_utils
21
+ from sky.utils import subprocess_utils
21
22
  from sky.utils import ux_utils
22
23
 
23
24
  if typing.TYPE_CHECKING:
@@ -274,6 +275,17 @@ def _create_instances(
274
275
  deployment_name=vm_name,
275
276
  parameters=parameters,
276
277
  ).wait()
278
+
279
+ performance_tier = node_config.get('disk_performance_tier', None)
280
+ if performance_tier is not None:
281
+ disks = compute_client.disks.list_by_resource_group(resource_group)
282
+ for disk in disks:
283
+ name = disk.name
284
+ # TODO(tian): Investigate if we can use Python SDK to update this.
285
+ subprocess_utils.run_no_outputs(
286
+ f'az disk update -n {name} -g {resource_group} '
287
+ f'--set tier={performance_tier}')
288
+
277
289
  filters = {
278
290
  constants.TAG_RAY_CLUSTER_NAME: cluster_name_on_cloud,
279
291
  _TAG_SKYPILOT_VM_ID: vm_id
@@ -11,6 +11,7 @@ from sky.utils import resources_utils
11
11
  from sky.utils import ux_utils
12
12
 
13
13
  POLL_INTERVAL = 5
14
+ QUERY_PORTS_TIMEOUT_SECONDS = 30
14
15
 
15
16
  logger = sky_logging.init_logger(__name__)
16
17
 
@@ -224,11 +225,25 @@ def query_ports(
224
225
  ) -> Dict[int, List[common.Endpoint]]:
225
226
  """See sky/provision/__init__.py"""
226
227
  del head_ip, provider_config # Unused.
227
- instances = _filter_instances(cluster_name_on_cloud, None, head_only=True)
228
- assert len(instances) == 1
229
- head_inst = list(instances.values())[0]
230
- return {
231
- port: [common.SocketEndpoint(**endpoint)]
232
- for port, endpoint in head_inst['port2endpoint'].items()
233
- if port in resources_utils.port_ranges_to_set(ports)
234
- }
228
+ # RunPod ports sometimes take a while to be ready.
229
+ start_time = time.time()
230
+ ports_to_query = resources_utils.port_ranges_to_set(ports)
231
+ while True:
232
+ instances = _filter_instances(cluster_name_on_cloud,
233
+ None,
234
+ head_only=True)
235
+ assert len(instances) == 1
236
+ head_inst = list(instances.values())[0]
237
+ ready_ports: Dict[int, List[common.Endpoint]] = {
238
+ port: [common.SocketEndpoint(**endpoint)]
239
+ for port, endpoint in head_inst['port2endpoint'].items()
240
+ if port in ports_to_query
241
+ }
242
+ not_ready_ports = ports_to_query - set(ready_ports.keys())
243
+ if not not_ready_ports:
244
+ return ready_ports
245
+ if time.time() - start_time > QUERY_PORTS_TIMEOUT_SECONDS:
246
+ logger.warning(f'Querying ports {ports} timed out. Ports '
247
+ f'{not_ready_ports} are not ready.')
248
+ return ready_ports
249
+ time.sleep(1)
@@ -81,6 +81,9 @@ available_node_types:
81
81
  {{ cmd }}
82
82
  {%- endfor %}
83
83
  need_nvidia_driver_extension: {{need_nvidia_driver_extension}}
84
+ {%- if disk_performance_tier is not none %}
85
+ disk_performance_tier: {{disk_performance_tier}}
86
+ {%- endif %}
84
87
  # TODO: attach disk
85
88
 
86
89
  head_node_type: ray.head.default
@@ -169,7 +169,9 @@ roleRef:
169
169
  kind: Role
170
170
  name: skypilot-system-service-account-role
171
171
  apiGroup: rbac.authorization.k8s.io
172
- ---
172
+ EOF
173
+ # Apply optional ingress-related roles, but don't make the script fail if it fails
174
+ kubectl apply -f - <<EOF || echo "Failed to apply optional ingress-related roles. Nginx ingress is likely not installed. This is not critical and the script will continue."
173
175
  # Optional: Role for accessing ingress resources
174
176
  apiVersion: rbac.authorization.k8s.io/v1
175
177
  kind: Role
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20240906
3
+ Version: 1.0.0.dev20240907
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=KUaBF_zJk4J7rLYkxjkEXZHIkZOyas42Bgy5v5cjx3s,5588
1
+ sky/__init__.py,sha256=mOsHkFpaIrSqMgc4H57tcwwApJLz_ChgpL_3m8lgqGY,5588
2
2
  sky/authentication.py,sha256=PXKsabUKnvhoTNoNwZzo66qjCLAsuc5pQ8esVu0IYh8,20424
3
3
  sky/check.py,sha256=sqUCow5Gqqtp2ouk7tZ3whwDOK23wqyUJvcxMBsich8,9080
4
4
  sky/cli.py,sha256=2cOw3lXzRA-uLlEH-eK7N_1VmUpf1LR4Ztu-ZaKu3Is,201673
@@ -40,7 +40,7 @@ sky/benchmark/benchmark_state.py,sha256=X8CXmuU9KgsDRhKedhFgjeRMUFWtQsjFs1qECvPG
40
40
  sky/benchmark/benchmark_utils.py,sha256=oJOzJ4fs2sruxYh4Tl1NZ5fi2-3oWfXtoeCIAq2hgjw,26136
41
41
  sky/clouds/__init__.py,sha256=WuNIJEnZmBO72tU5awgaaL3rdvFRSkgaYNNeuY68dXo,1356
42
42
  sky/clouds/aws.py,sha256=piC1CJnY7rvBxpllW9aMB3SbTLt4JDrSUJL3moyYn4Q,48168
43
- sky/clouds/azure.py,sha256=VqD9TF90u3YBb91ZEKpv-K_UMYa_lLbhn-hmFMcger4,28350
43
+ sky/clouds/azure.py,sha256=fo81PYEgSDcAG8fvFYAu0brrCL4WOHFZzsaNWtkW6Y0,28533
44
44
  sky/clouds/cloud.py,sha256=ufoep7SYzxHzphEFILJA0ggCwKGIqQMXAmRjb3X3QnU,33498
45
45
  sky/clouds/cloud_registry.py,sha256=4yQMv-iBSgyN5aNL4Qxbn0JVE-dkVoEUIgj7S1z9S_Q,955
46
46
  sky/clouds/cudo.py,sha256=otfYWN7jHqbKJU9meUEOZcjmCC_9_QLEQ4BZ5vHDyWo,13147
@@ -118,7 +118,7 @@ sky/provision/azure/__init__.py,sha256=87cgk1_Ws7n9rqaDDPv-HpfrkVeSQMdFQnhnXwyx9
118
118
  sky/provision/azure/azure-config-template.json,sha256=dwTO-DG70UtBifN59NzsJwPZHZ4uCs7_oLooHgXG_N8,4349
119
119
  sky/provision/azure/azure-vm-template.json,sha256=k0A4xclQ-xQbAdcjo516sZqMDsU-n8_jeRuPxtGKBFI,10901
120
120
  sky/provision/azure/config.py,sha256=Fx_N_F9912q2gUHt0FhAxVDwlTbd9cLxrP5rii0KJOM,6772
121
- sky/provision/azure/instance.py,sha256=JXZRWTeYojInFVEhizwhrzA1IImjLppgQygSvrgNmBg,32443
121
+ sky/provision/azure/instance.py,sha256=-95c__W4d0mgKweUPhT3tPLAdNtdruroHrfIvNTFQtY,32962
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
@@ -150,7 +150,7 @@ sky/provision/paperspace/instance.py,sha256=8qkvZt2-gBYCiDpT9-lztaP2_DgDdYQAAHFv
150
150
  sky/provision/paperspace/utils.py,sha256=Bl3POslZjtZU_wbBIXid7ubhRy2j5kpsesR85q7MN5w,9428
151
151
  sky/provision/runpod/__init__.py,sha256=6HYvHI27EaLrX1SS0vWVhdLu5HDBeZCdvAeDJuwM5pk,556
152
152
  sky/provision/runpod/config.py,sha256=9ulZJVL7nHuxhTdoj8D7lNn7SdicJ5zc6FIcHIG9tcg,321
153
- sky/provision/runpod/instance.py,sha256=kKEIY4ENSIRo8CRGVnThneVLfogdhrv1xwwCrtXwEj0,8874
153
+ sky/provision/runpod/instance.py,sha256=ucmFQEzapbxylsl6K9EUo7bHTZYzvfECo6tpJc-MFrw,9577
154
154
  sky/provision/runpod/utils.py,sha256=ZjrcpjKzwS2nXQ21dW405PLxBl_V9awcfRjucGB3alw,6795
155
155
  sky/provision/vsphere/__init__.py,sha256=5icB8-kfs926S9DVfNJSCBVr7z7cmCEDr04-YHX89_4,788
156
156
  sky/provision/vsphere/config.py,sha256=f_ojGmi_vbnwJ8Ri48cqhZHBOuIkj41j9bFbq-ldPOo,504
@@ -217,7 +217,7 @@ sky/skylet/ray_patches/resource_demand_scheduler.py.patch,sha256=AVV-Hw-Rxw16aFm
217
217
  sky/skylet/ray_patches/updater.py.patch,sha256=ZNMGVYICPBB44jLbEx2KvCgIY7BWYdDv3-2b2HJWmAQ,289
218
218
  sky/skylet/ray_patches/worker.py.patch,sha256=_OBhibdr3xOy5Qje6Tt8D1eQVm_msi50TJbCJmOTxVU,565
219
219
  sky/templates/aws-ray.yml.j2,sha256=wijRSqqAoX8YalAvZCQf1DmfmyJgPy2DrfC33OEqFxM,7933
220
- sky/templates/azure-ray.yml.j2,sha256=wJM98G8sp9J63LclZp4bm30GFWwFSoBQgtN1B9j6nNU,6005
220
+ sky/templates/azure-ray.yml.j2,sha256=RtYAcAmFQd6TB3j-pbxi7ekjWhznqFhJtzdkqH_nXqM,6135
221
221
  sky/templates/cudo-ray.yml.j2,sha256=SEHVY57iBauCOE2HYJtYVFEKlriAkdwQu_p86a1n_bA,3548
222
222
  sky/templates/fluidstack-ray.yml.j2,sha256=t8TCULgiErCZdtFmBZVsA8ZdcqR7ccwsmQhuDFTBEAU,3541
223
223
  sky/templates/gcp-ray.yml.j2,sha256=q2xSWxxYI8MVAq_mA__8FF6PwEqXCAW1SOEOGTt0qPw,9591
@@ -264,15 +264,15 @@ sky/utils/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
264
264
  sky/utils/kubernetes/create_cluster.sh,sha256=rv5Lz6AR00yBJMRyScfMSQiGKptMhtHWRsvyG20-u9c,7764
265
265
  sky/utils/kubernetes/delete_cluster.sh,sha256=BSccHF43GyepDNf-FZcenzHzpXXATkVD92vgn1lWPgk,927
266
266
  sky/utils/kubernetes/generate_kind_config.py,sha256=_TNLnifA_r7-CRq083IP1xjelYqiLjzQX9ohuqYpDH8,3187
267
- sky/utils/kubernetes/generate_kubeconfig.sh,sha256=jrHZRfy2oyXnyCNGy38eLUhKdjJG76CMpMQDNLhjrcQ,9018
267
+ sky/utils/kubernetes/generate_kubeconfig.sh,sha256=AcYhuuG5jXWGHUmyRuH-oKy5qcn92gXhu6bXOt6eD6g,9274
268
268
  sky/utils/kubernetes/gpu_labeler.py,sha256=MEUv0U4ACDcNwtFVltlv017XJMjxx1Bndf6fL0i6eqg,6960
269
269
  sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=KPqp23B-zQ2SZK03jdHeF9fLTogMEFxotE35IosIpRg,1186
270
270
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
271
271
  sky/utils/kubernetes/rsync_helper.sh,sha256=1ad-m4s8QTPxaBQxNIL8AGDfX4un6T0dxZgk-R7OLyE,154
272
272
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
273
- skypilot_nightly-1.0.0.dev20240906.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
274
- skypilot_nightly-1.0.0.dev20240906.dist-info/METADATA,sha256=A4MH55bftdna18x7OpwOOY1MwWXbbPx2soeW-pMK5JI,18870
275
- skypilot_nightly-1.0.0.dev20240906.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
276
- skypilot_nightly-1.0.0.dev20240906.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
277
- skypilot_nightly-1.0.0.dev20240906.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
278
- skypilot_nightly-1.0.0.dev20240906.dist-info/RECORD,,
273
+ skypilot_nightly-1.0.0.dev20240907.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
274
+ skypilot_nightly-1.0.0.dev20240907.dist-info/METADATA,sha256=Vyls5rRkU9g88Qa5qjN-C0ELMUVtX918YLMskF_FY0k,18870
275
+ skypilot_nightly-1.0.0.dev20240907.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
276
+ skypilot_nightly-1.0.0.dev20240907.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
277
+ skypilot_nightly-1.0.0.dev20240907.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
278
+ skypilot_nightly-1.0.0.dev20240907.dist-info/RECORD,,