skypilot-nightly 1.0.0.dev20241109__py3-none-any.whl → 1.0.0.dev20241111__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 (32) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/cloud_vm_ray_backend.py +0 -19
  3. sky/clouds/oci.py +11 -21
  4. sky/clouds/service_catalog/oci_catalog.py +1 -1
  5. sky/clouds/utils/oci_utils.py +16 -2
  6. sky/dag.py +19 -15
  7. sky/provision/__init__.py +1 -0
  8. sky/provision/docker_utils.py +1 -1
  9. sky/provision/kubernetes/instance.py +104 -102
  10. sky/provision/oci/__init__.py +15 -0
  11. sky/provision/oci/config.py +51 -0
  12. sky/provision/oci/instance.py +430 -0
  13. sky/{skylet/providers/oci/query_helper.py → provision/oci/query_utils.py} +148 -59
  14. sky/serve/__init__.py +2 -0
  15. sky/serve/load_balancer.py +34 -8
  16. sky/serve/load_balancing_policies.py +23 -1
  17. sky/serve/service.py +4 -1
  18. sky/serve/service_spec.py +19 -0
  19. sky/setup_files/MANIFEST.in +0 -1
  20. sky/skylet/job_lib.py +29 -17
  21. sky/templates/kubernetes-ray.yml.j2 +21 -1
  22. sky/templates/oci-ray.yml.j2 +3 -53
  23. sky/utils/schemas.py +8 -0
  24. {skypilot_nightly-1.0.0.dev20241109.dist-info → skypilot_nightly-1.0.0.dev20241111.dist-info}/METADATA +1 -1
  25. {skypilot_nightly-1.0.0.dev20241109.dist-info → skypilot_nightly-1.0.0.dev20241111.dist-info}/RECORD +29 -29
  26. sky/skylet/providers/oci/__init__.py +0 -2
  27. sky/skylet/providers/oci/node_provider.py +0 -488
  28. sky/skylet/providers/oci/utils.py +0 -21
  29. {skypilot_nightly-1.0.0.dev20241109.dist-info → skypilot_nightly-1.0.0.dev20241111.dist-info}/LICENSE +0 -0
  30. {skypilot_nightly-1.0.0.dev20241109.dist-info → skypilot_nightly-1.0.0.dev20241111.dist-info}/WHEEL +0 -0
  31. {skypilot_nightly-1.0.0.dev20241109.dist-info → skypilot_nightly-1.0.0.dev20241111.dist-info}/entry_points.txt +0 -0
  32. {skypilot_nightly-1.0.0.dev20241109.dist-info → skypilot_nightly-1.0.0.dev20241111.dist-info}/top_level.txt +0 -0
sky/skylet/job_lib.py CHANGED
@@ -11,8 +11,7 @@ import shlex
11
11
  import sqlite3
12
12
  import subprocess
13
13
  import time
14
- import typing
15
- from typing import Any, Dict, List, Optional, Tuple
14
+ from typing import Any, Dict, List, Optional
16
15
 
17
16
  import colorama
18
17
  import filelock
@@ -24,9 +23,6 @@ from sky.utils import common_utils
24
23
  from sky.utils import db_utils
25
24
  from sky.utils import log_utils
26
25
 
27
- if typing.TYPE_CHECKING:
28
- from ray.dashboard.modules.job import pydantic_models as ray_pydantic
29
-
30
26
  logger = sky_logging.init_logger(__name__)
31
27
 
32
28
  _LINUX_NEW_LINE = '\n'
@@ -184,12 +180,20 @@ class JobScheduler:
184
180
  def schedule_step(self, force_update_jobs: bool = False) -> None:
185
181
  if force_update_jobs:
186
182
  update_status()
187
- pending_jobs = self._get_pending_jobs()
183
+ pending_job_ids = self._get_pending_job_ids()
188
184
  # TODO(zhwu, mraheja): One optimization can be allowing more than one
189
185
  # job staying in the pending state after ray job submit, so that to be
190
186
  # faster to schedule a large amount of jobs.
191
- for job_id, run_cmd, submit, created_time in pending_jobs:
187
+ for job_id in pending_job_ids:
192
188
  with filelock.FileLock(_get_lock_path(job_id)):
189
+ pending_job = _get_pending_job(job_id)
190
+ if pending_job is None:
191
+ # Pending job can be removed by another thread, due to the
192
+ # job being scheduled already.
193
+ continue
194
+ run_cmd = pending_job['run_cmd']
195
+ submit = pending_job['submit']
196
+ created_time = pending_job['created_time']
193
197
  # We don't have to refresh the job status before checking, as
194
198
  # the job status will only be stale in rare cases where ray job
195
199
  # crashes; or the job stays in INIT state for a long time.
@@ -208,8 +212,8 @@ class JobScheduler:
208
212
  self._run_job(job_id, run_cmd)
209
213
  return
210
214
 
211
- def _get_pending_jobs(self) -> List[Tuple[int, str, int, int]]:
212
- """Returns the metadata for jobs in the pending jobs table
215
+ def _get_pending_job_ids(self) -> List[int]:
216
+ """Returns the job ids in the pending jobs table
213
217
 
214
218
  The information contains job_id, run command, submit time,
215
219
  creation time.
@@ -220,9 +224,10 @@ class JobScheduler:
220
224
  class FIFOScheduler(JobScheduler):
221
225
  """First in first out job scheduler"""
222
226
 
223
- def _get_pending_jobs(self) -> List[Tuple[int, str, int, int]]:
224
- return list(
225
- _CURSOR.execute('SELECT * FROM pending_jobs ORDER BY job_id'))
227
+ def _get_pending_job_ids(self) -> List[int]:
228
+ rows = _CURSOR.execute(
229
+ 'SELECT job_id FROM pending_jobs ORDER BY job_id').fetchall()
230
+ return [row[0] for row in rows]
226
231
 
227
232
 
228
233
  scheduler = FIFOScheduler()
@@ -519,11 +524,16 @@ def _get_jobs_by_ids(job_ids: List[int]) -> List[Dict[str, Any]]:
519
524
 
520
525
 
521
526
  def _get_pending_job(job_id: int) -> Optional[Dict[str, Any]]:
522
- rows = _CURSOR.execute('SELECT created_time, submit FROM pending_jobs '
523
- f'WHERE job_id={job_id!r}')
527
+ rows = _CURSOR.execute(
528
+ 'SELECT created_time, submit, run_cmd FROM pending_jobs '
529
+ f'WHERE job_id={job_id!r}')
524
530
  for row in rows:
525
- created_time, submit = row
526
- return {'created_time': created_time, 'submit': submit}
531
+ created_time, submit, run_cmd = row
532
+ return {
533
+ 'created_time': created_time,
534
+ 'submit': submit,
535
+ 'run_cmd': run_cmd
536
+ }
527
537
  return None
528
538
 
529
539
 
@@ -794,7 +804,9 @@ def cancel_jobs_encoded_results(jobs: Optional[List[int]],
794
804
  logger.warning(str(e))
795
805
  continue
796
806
 
797
- if job['status'] in [
807
+ # Get the job status again to avoid race condition.
808
+ job_status = get_status_no_lock(job['job_id'])
809
+ if job_status in [
798
810
  JobStatus.PENDING, JobStatus.SETTING_UP, JobStatus.RUNNING
799
811
  ]:
800
812
  _set_status_no_lock(job['job_id'], JobStatus.CANCELLED)
@@ -324,6 +324,15 @@ available_node_types:
324
324
  command: ["/bin/bash", "-c", "--"]
325
325
  args:
326
326
  - |
327
+ # Helper function to conditionally use sudo
328
+ prefix_cmd() { if [ $(id -u) -ne 0 ]; then echo "sudo"; else echo ""; fi; }
329
+
330
+ # Run apt update in background and log to a file
331
+ (
332
+ DEBIAN_FRONTEND=noninteractive $(prefix_cmd) apt-get update > /tmp/apt-update.log 2>&1 || \
333
+ echo "Warning: apt-get update failed. Continuing anyway..." >> /tmp/apt-update.log
334
+ ) &
335
+
327
336
  function mylsof { p=$(for pid in /proc/{0..9}*; do i=$(basename "$pid"); for file in "$pid"/fd/*; do link=$(readlink -e "$file"); if [ "$link" = "$1" ]; then echo "$i"; fi; done; done); echo "$p"; };
328
337
 
329
338
  # Tails file and checks every 5 sec for
@@ -419,7 +428,18 @@ setup_commands:
419
428
  # Line 'sudo grep ..': set the number of threads per process to unlimited to avoid ray job submit stucking issue when the number of running ray jobs increase.
420
429
  # Line 'mkdir -p ..': disable host key check
421
430
  # Line 'python3 -c ..': patch the buggy ray files and enable `-o allow_other` option for `goofys`
422
- - sudo DEBIAN_FRONTEND=noninteractive apt install lsof gcc patch pciutils rsync fuse curl -y;
431
+ - |
432
+ PACKAGES="gcc patch pciutils rsync fuse curl";
433
+ MISSING_PACKAGES="";
434
+ for pkg in $PACKAGES; do
435
+ if ! dpkg -l | grep -q "^ii $pkg "; then
436
+ MISSING_PACKAGES="$MISSING_PACKAGES $pkg";
437
+ fi
438
+ done;
439
+ if [ ! -z "$MISSING_PACKAGES" ]; then
440
+ echo "Installing missing packages: $MISSING_PACKAGES";
441
+ sudo DEBIAN_FRONTEND=noninteractive apt-get install -y $MISSING_PACKAGES;
442
+ fi;
423
443
  mkdir -p ~/.ssh; touch ~/.ssh/config;
424
444
  {%- for initial_setup_command in initial_setup_commands %}
425
445
  {{ initial_setup_command }}
@@ -7,7 +7,7 @@ idle_timeout_minutes: 60
7
7
 
8
8
  provider:
9
9
  type: external
10
- module: sky.skylet.providers.oci.OCINodeProvider
10
+ module: sky.provision.oci
11
11
  region: {{region}}
12
12
  cache_stopped_nodes: True
13
13
  # Disable launch config check for worker nodes as it can cause resource leakage.
@@ -39,25 +39,6 @@ available_node_types:
39
39
  Preemptible: {{use_spot}}
40
40
  AuthorizedKey: |
41
41
  skypilot:ssh_public_key_content
42
- {% if num_nodes > 1 %}
43
- ray_worker_default:
44
- min_workers: {{num_nodes - 1}}
45
- max_workers: {{num_nodes - 1}}
46
- resources: {}
47
- node_config:
48
- InstanceType: {{instance_type}}
49
- VCPUs: {{cpus}}
50
- MemoryInGbs: {{memory}}
51
- BootVolumeSize: {{disk_size}}
52
- BootVolumePerf: {{vpu}}
53
- AvailabilityDomain: {{zone}}
54
- ImageId: {{image}}
55
- AppCatalogListingId: {{app_catalog_listing_id}}
56
- ResourceVersion: {{resource_version}}
57
- Preemptible: {{use_spot}}
58
- AuthorizedKey: |
59
- skypilot:ssh_public_key_content
60
- {%- endif %}
61
42
 
62
43
  head_node_type: ray_head_default
63
44
 
@@ -70,9 +51,6 @@ file_mounts: {
70
51
  {%- endfor %}
71
52
  }
72
53
 
73
- rsync_exclude: []
74
-
75
- initialization_commands: []
76
54
 
77
55
  # List of shell commands to run to set up nodes.
78
56
  # NOTE: these are very performance-sensitive. Each new item opens/closes an SSH
@@ -113,34 +91,6 @@ setup_commands:
113
91
  [ -f /etc/fuse.conf ] && sudo sed -i 's/#user_allow_other/user_allow_other/g' /etc/fuse.conf || (sudo sh -c 'echo "user_allow_other" > /etc/fuse.conf');
114
92
  sudo iptables -I INPUT -i ens3 -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT;
115
93
 
116
- # Command to start ray on the head node. You don't need to change this.
117
- # NOTE: these are very performance-sensitive. Each new item opens/closes an SSH
118
- # connection, which is expensive. Try your best to co-locate commands into fewer
119
- # items! The same comment applies for worker_start_ray_commands.
120
- #
121
- # Increment the following for catching performance bugs easier:
122
- # current num items (num SSH connections): 2
123
- head_start_ray_commands:
124
- # NOTE: --disable-usage-stats in `ray start` saves 10 seconds of idle wait.
125
- # Line "which prlimit ..": increase the limit of the number of open files for the raylet process, as the `ulimit` may not take effect at this point, because it requires
126
- # all the sessions to be reloaded. This is a workaround.
127
- - {{ sky_activate_python_env }}; {{ sky_ray_cmd }} stop; RAY_SCHEDULER_EVENTS=0 RAY_DEDUP_LOGS=0 {{ sky_ray_cmd }} start --disable-usage-stats --head --port={{ray_port}} --dashboard-port={{ray_dashboard_port}} --object-manager-port=8076 --autoscaling-config=~/ray_bootstrap_config.yaml {{"--resources='%s'" % custom_resources if custom_resources}} --temp-dir {{ray_temp_dir}} || exit 1;
128
- which prlimit && for id in $(pgrep -f raylet/raylet); do sudo prlimit --nofile=1048576:1048576 --pid=$id || true; done;
129
- {{dump_port_command}}; {{ray_head_wait_initialized_command}}
130
-
131
- {%- if num_nodes > 1 %}
132
- worker_start_ray_commands:
133
- - {{ sky_activate_python_env }}; {{ sky_ray_cmd }} stop; RAY_SCHEDULER_EVENTS=0 RAY_DEDUP_LOGS=0 {{ sky_ray_cmd }} start --disable-usage-stats --address=$RAY_HEAD_IP:{{ray_port}} --object-manager-port=8076 {{"--resources='%s'" % custom_resources if custom_resources}} --temp-dir {{ray_temp_dir}} || exit 1;
134
- which prlimit && for id in $(pgrep -f raylet/raylet); do sudo prlimit --nofile=1048576:1048576 --pid=$id || true; done;
135
- {%- else %}
136
- worker_start_ray_commands: []
137
- {%- endif %}
138
-
139
- head_node: {}
140
- worker_nodes: {}
94
+ # Command to start ray clusters are now placed in `sky.provision.instance_setup`.
95
+ # We do not need to list it here anymore.
141
96
 
142
- # These fields are required for external cloud providers.
143
- head_setup_commands: []
144
- worker_setup_commands: []
145
- cluster_synced_files: []
146
- file_mounts_sync_continuously: False
sky/utils/schemas.py CHANGED
@@ -308,6 +308,9 @@ def get_storage_schema():
308
308
 
309
309
  def get_service_schema():
310
310
  """Schema for top-level `service:` field (for SkyServe)."""
311
+ # To avoid circular imports, only import when needed.
312
+ # pylint: disable=import-outside-toplevel
313
+ from sky.serve import load_balancing_policies
311
314
  return {
312
315
  '$schema': 'https://json-schema.org/draft/2020-12/schema',
313
316
  'type': 'object',
@@ -382,6 +385,11 @@ def get_service_schema():
382
385
  'replicas': {
383
386
  'type': 'integer',
384
387
  },
388
+ 'load_balancing_policy': {
389
+ 'type': 'string',
390
+ 'case_insensitive_enum': list(
391
+ load_balancing_policies.LB_POLICIES.keys())
392
+ },
385
393
  }
386
394
  }
387
395
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241109
3
+ Version: 1.0.0.dev20241111
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,11 +1,11 @@
1
- sky/__init__.py,sha256=vuaxCFFtQHJTriSEGG_wKshl6nmhDcnt70q66x1rkvA,5882
1
+ sky/__init__.py,sha256=JxZi3opPkeceUxnwl2tlNNr19fC_0QQ_mQ9N6cSQb-Q,5882
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=pAdCT60OxxiXI9KXDyP2lQ9u9vMc6aMtq5Xi2h_hbdw,20984
4
4
  sky/check.py,sha256=D3Y3saIFAYVvPxuBHnVgJEO0fUVDxgjwuMBaO-D778k,9472
5
5
  sky/cli.py,sha256=jEjXs5Z0u263eJIsTHoKyG9oOY6giqw19s2di9kEv1s,212088
6
6
  sky/cloud_stores.py,sha256=RjFgmRhUh1Kk__f6g3KxzLp9s7dA0pFK4W1AukEuUaw,21153
7
7
  sky/core.py,sha256=0-4W_DKJZgbwXuzNZKQ2R_qJxqxbqqNfyi0U0PQBKvQ,38230
8
- sky/dag.py,sha256=O9g8NnO8L1SGUEDyqW9W341AH4Wvd3nJs54niR-pkrk,2822
8
+ sky/dag.py,sha256=f3sJlkH4bE6Uuz3ozNtsMhcBpRx7KmC9Sa4seDKt4hU,3104
9
9
  sky/exceptions.py,sha256=E3C2Ejcc8RUDAUQn7ar_Jr97C_AxD2rKKMmJOfLJ9d0,8965
10
10
  sky/execution.py,sha256=TwcorzFxR_0m8uazPdeKltU3g3ikgUSqqzcSBrHp7K4,26070
11
11
  sky/global_user_state.py,sha256=PywEmUutF97XBgRMClR6IS5_KM8JJC0oA1LsPUZebp0,28681
@@ -31,7 +31,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
31
31
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
32
32
  sky/backends/backend.py,sha256=wwfbrxPhjMPs6PSyy3tAHI8WJhl-xhgzWBsAZjmJJ6g,6249
33
33
  sky/backends/backend_utils.py,sha256=2myfryj1zG9xxPaX6XYYJruxAOGNGbpsy2ckT4A77sE,121813
34
- sky/backends/cloud_vm_ray_backend.py,sha256=6Ew9Ej92KGlumlCnyDcGSEbHInj7g2Shqwx4oxRkWVQ,233122
34
+ sky/backends/cloud_vm_ray_backend.py,sha256=cL-IDyk9AOmHTAiQbXVwEr4dX6KPx4M-GiVEXxUYPWQ,232147
35
35
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
36
36
  sky/backends/local_docker_backend.py,sha256=0JL5m0YUgOmOL4aWEUe4tmt89dsxjk4_WXkPwgEKEis,16801
37
37
  sky/backends/wheel_utils.py,sha256=CUVOwlBtQjOMv-RSDGx2jMQ0M1D0w9ZPm0TDafJwBDI,8180
@@ -50,7 +50,7 @@ sky/clouds/gcp.py,sha256=BjCehW3s0IYkRDdEEDm0vYWXQDpOV8KU98OMVRPnQNg,54676
50
50
  sky/clouds/ibm.py,sha256=w8bo1EIY_YWYNu0fy-OpAyr6DZviU0tpIXUsiV01rVE,21423
51
51
  sky/clouds/kubernetes.py,sha256=tYjQFatOQmgtRzMt3J54CxM0w2ZPQwAo5SyyYkBcW9Y,28657
52
52
  sky/clouds/lambda_cloud.py,sha256=ExL_uixdFrF9qSL5JYXpaOXCZ9_eOA2q444kcmBHBXQ,12644
53
- sky/clouds/oci.py,sha256=sHJrVhUhOKvJ-skbd2ZJ82IR63OXp43krmyPpM8BZqw,27084
53
+ sky/clouds/oci.py,sha256=NOH-yYi1fbMkjqoz39zVXUEexE9MjE1c7YTvGtUgKzQ,26663
54
54
  sky/clouds/paperspace.py,sha256=4cjNua6jpuxmfidvLY4tSRX1oj_QaaHDinPMunGplyU,10868
55
55
  sky/clouds/runpod.py,sha256=_4myVdGIvQshkka8fn6mBXHgz5TZqhrNhAEM2_HrCT8,11487
56
56
  sky/clouds/scp.py,sha256=NivPvzQxA90R37QR3fgTup8ScGfxKsXAhH0xklAj5QU,15817
@@ -67,7 +67,7 @@ sky/clouds/service_catalog/gcp_catalog.py,sha256=v_5fsB3dB9oD8U7lBKnCe5ii6AUWEOi
67
67
  sky/clouds/service_catalog/ibm_catalog.py,sha256=1iK0KvbI82U7sySb7chr-qm_16x3tTnZ6nIo7o76ouc,4493
68
68
  sky/clouds/service_catalog/kubernetes_catalog.py,sha256=5ilQ-JK1ZS2EZp8GpCKok0H3S1fdI_aAznzIDWCY1NY,9110
69
69
  sky/clouds/service_catalog/lambda_catalog.py,sha256=2R-ccu63BbdvO6X80MtxiniA-jLewXb6I0Ye1rYD9fY,5302
70
- sky/clouds/service_catalog/oci_catalog.py,sha256=DQaP0iQlxZEHWJs862ilynUfUEQDIjCGltS7kSadgYo,8572
70
+ sky/clouds/service_catalog/oci_catalog.py,sha256=cyA6ZqwHGOKuPxUl_dKmFGdeWdQGMrvl_-o2MtyF998,8580
71
71
  sky/clouds/service_catalog/paperspace_catalog.py,sha256=MOlfoGRChjEwMzu4nRAho8DrIwwUJ3QlRzrMA1RLqvE,3789
72
72
  sky/clouds/service_catalog/runpod_catalog.py,sha256=oWYVgSMiK3DxBE5AgROyExIq9kCTaOr3hDLSc31kqTU,4205
73
73
  sky/clouds/service_catalog/scp_catalog.py,sha256=nrtD0hAZd1rUDsFuHI1hrBgAVSE5YprdWoYSXQooIqU,5195
@@ -85,7 +85,7 @@ sky/clouds/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
85
85
  sky/clouds/utils/aws_utils.py,sha256=W5BRC-2F_VY4BymRA1kS6-MufsI3V8cfY_hv--4gJBU,1986
86
86
  sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4t8,3555
87
87
  sky/clouds/utils/gcp_utils.py,sha256=QejfgXOIVRv5-fv3Soi96VeVNVyquwVwy3M58N3YfNs,6633
88
- sky/clouds/utils/oci_utils.py,sha256=t-5QEQEs8swN683AAp-oDD6yQJOQqVBbsVcHkNyqnbU,4968
88
+ sky/clouds/utils/oci_utils.py,sha256=LILpS38_exeMjmJdNpzwDR8hfGSpWjaRKl1CWKA-zHs,5579
89
89
  sky/clouds/utils/scp_utils.py,sha256=RUp7NwyhKygOoVOwvdAOGdoQNSJjryOG6WSExCf-yas,15812
90
90
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
91
91
  sky/data/data_transfer.py,sha256=MBmjey9_p2L3IKNKTi8um09SlZe32n4wK3CkVnlTVvo,7346
@@ -103,10 +103,10 @@ sky/jobs/utils.py,sha256=Ff3TttIEdVeM1_kOVkviqIDjeVfBPIXVE8i-yP1VDM8,37976
103
103
  sky/jobs/dashboard/dashboard.py,sha256=KMSarpVcfnc-ELPFvy1M9_I1k4kSeXubTk3ibQC67Tg,3219
104
104
  sky/jobs/dashboard/static/favicon.ico,sha256=uYlvgxSM7gjBmXpZ8wydvZUPAbJiiix-rc2Xe5mma9s,15086
105
105
  sky/jobs/dashboard/templates/index.html,sha256=su1tqgcsXNl1lGl9hfIR6ig1f531OO57x1Tc2mNDK7U,11139
106
- sky/provision/__init__.py,sha256=UhYsGRribEyK1--PPT0Dom9051jlpdn8UCNhO8qpPOc,6262
106
+ sky/provision/__init__.py,sha256=llAtnAAzx0TKT17B0JL_2ZiKea9RRQRxSzkWHQYqWTo,6292
107
107
  sky/provision/common.py,sha256=E8AlSUFcn0FYQq1erNmoVfMAdsF9tP2yxfyk-9PLvQU,10286
108
108
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
109
- sky/provision/docker_utils.py,sha256=cKYasCwbMf6C2_0vTxg2GvbrnhFvko-xDl1frfm7wxc,19199
109
+ sky/provision/docker_utils.py,sha256=l4AMzwXGZd8RyNq8AwOaKV9bFSofLYfSyj2NBhkXYsY,19200
110
110
  sky/provision/instance_setup.py,sha256=gI739UMCqtPqdA522D92bPu5sA3OHBMDmIGmqqxsIwY,23652
111
111
  sky/provision/logging.py,sha256=yZWgejrFBhhRjAtvFu5N5bRXIMK5TuwNjp1vKQqz2pw,2103
112
112
  sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
@@ -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=rY43hZOInP20kYofW0MGs7wDbJ4NxMw1FtKAJAPGIOU,43960
140
+ sky/provision/kubernetes/instance.py,sha256=MFtTh-dNIuTZcHD20PQG_QuULFRFaPxwlUczR6sRnsk,43601
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
@@ -147,6 +147,10 @@ sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X
147
147
  sky/provision/lambda_cloud/config.py,sha256=jq1iLzp4Up61r4JGxvtpVbJlgXnea3LHYQhCQyyl7ik,272
148
148
  sky/provision/lambda_cloud/instance.py,sha256=5-XuX-KwlRq8y62NXNzY_p6aJs4iCPGBf5U4pIR4liI,8975
149
149
  sky/provision/lambda_cloud/lambda_utils.py,sha256=wIXV1Qe362f8Q9u8DSx2e9IJs4CF03Jr3idHCzhlRz4,9879
150
+ sky/provision/oci/__init__.py,sha256=5E6EUtTK3mqGVREw5TuVl5DxteBYTZigIii7c8gHExU,612
151
+ sky/provision/oci/config.py,sha256=diSDTyHLokcuXGB2XgZCHFvsXa8bah1PP2XuMouW_UU,1650
152
+ sky/provision/oci/instance.py,sha256=Y7z7N8sTpnzznL_GAtBeErzrF7r-zd9BZ7ZnC9DjFQg,16649
153
+ sky/provision/oci/query_utils.py,sha256=SUVOVRawFslEfkIRPqe8_pLYJRiGQvKpQ77-LRf9kgI,20304
150
154
  sky/provision/paperspace/__init__.py,sha256=1nbUPWio7UA5gCQkO_rfEDfgXT17u5OtuByxQx4Ez6g,598
151
155
  sky/provision/paperspace/config.py,sha256=oNmffSt-V466pE0DmML8hOCX1CiA24jAqE5JEKuqpyI,1541
152
156
  sky/provision/paperspace/constants.py,sha256=NcLJGivJxshJwhR28yVHysWQ2gtMAkTVmHC91d3kyKM,957
@@ -171,19 +175,19 @@ sky/provision/vsphere/common/service_manager_factory.py,sha256=YkvfHiRXFK_Nb406z
171
175
  sky/provision/vsphere/common/ssl_helper.py,sha256=TYzN9K0i_Mk_17PKGyGPgvOGfoizysuuIeYapcy_tWE,795
172
176
  sky/provision/vsphere/common/vapiconnect.py,sha256=R2I1ZWBA19d11fZ_FrIzQT8E1aLl1HU4Rdcj8Z5r3NE,2932
173
177
  sky/provision/vsphere/common/vim_utils.py,sha256=EMWLS8ILpdx6XwUZ9I53y0B_1yFrRrlr4jjIMT84hAc,17877
174
- sky/serve/__init__.py,sha256=gFZt7W3UPMi4qvYe2xgkHg1VxbR1WGavKyWLBUD3mpg,1731
178
+ sky/serve/__init__.py,sha256=Bqw8nB9u1QF3ryjbV797SPZq0DWAcjT94E_5B8J24ag,1808
175
179
  sky/serve/autoscalers.py,sha256=khY1oZ22PRaUQNsLCoNKH178X_NiJw0LSLOKr7_LNgY,30275
176
180
  sky/serve/constants.py,sha256=7MflfgTHO9gDSux93U4BmNeEMWXxZB4q7I54KUwgp-s,4651
177
181
  sky/serve/controller.py,sha256=R5iIEGEEFtbm_6MvSGelYZP-vSmW0cSFuy64OexUc4g,11719
178
182
  sky/serve/core.py,sha256=hszs95BwtC4wIJujGNokvFC46VjojgRz1BbYOIIPh6k,31601
179
- sky/serve/load_balancer.py,sha256=aUfDsgUT_fYrchCwJCeunMPXmAkwJAY58BEu-IN2FaA,11571
180
- sky/serve/load_balancing_policies.py,sha256=ExdwH_pxPYpJ6CkoTQCOPSa4lzwbq1LFFMKzmIu8ryk,2331
183
+ sky/serve/load_balancer.py,sha256=I4W66eh1t1kA_C_VaMPI76WeDTCl3Z6rFxF6rQIWd6E,12636
184
+ sky/serve/load_balancing_policies.py,sha256=_k4tkwIvhulR02Ln9ixYB_b97KOypr2xfSjMx8_zky0,3143
181
185
  sky/serve/replica_managers.py,sha256=1xYDK9Te5wFEF5hUK0gyNIUib0MY-HScLHUBDlTSl-k,57774
182
186
  sky/serve/serve_state.py,sha256=Q7De4GoBEPxlN_t1Lpn-Y1fd94SeHZ3E-94f1OTuhpc,19086
183
187
  sky/serve/serve_utils.py,sha256=wqBxChpJylZ_qHWyFmMBJqrG8_7xTIOr9nlOeyHs9P8,39431
184
- sky/serve/service.py,sha256=fkfJvNJ2BO6rfV0TblZG-QkOXaCyZlpkwbGgrsTzf2w,11872
185
- sky/serve/service_spec.py,sha256=1aS6b-ku7W4CjyekXKDxjZsDdt-O8ygos-jFeXu31cA,13766
186
- sky/setup_files/MANIFEST.in,sha256=CXz8lIJMgWlH9TvYgzIL3vPFtSDoQq-UMfD9K62rtH4,590
188
+ sky/serve/service.py,sha256=gVem2vX8XuR_1wTqwrzbszQAbjzjDP2ddd787aynT9g,12017
189
+ sky/serve/service_spec.py,sha256=34dMQ37INHltBzWaxHl3y_o9X3wLOCWA5jUhmhH1II4,14740
190
+ sky/setup_files/MANIFEST.in,sha256=WF0T89NLichHxZDDSQzvSpiONtAEFyur2MPmGczgTIo,555
187
191
  sky/setup_files/setup.py,sha256=G767GNB-jXqyC8MR-IdiojnnI2E6tP4gMYenKU14ZGA,12156
188
192
  sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
189
193
  sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -192,7 +196,7 @@ sky/skylet/autostop_lib.py,sha256=JPDHmByuhoNYXSUHl-OnyeJUkOFWn7gDM1FrS7Kr3E8,44
192
196
  sky/skylet/configs.py,sha256=UtnpmEL0F9hH6PSjhsps7xgjGZ6qzPOfW1p2yj9tSng,1887
193
197
  sky/skylet/constants.py,sha256=w05Enrg9RhGp99P1WDYMKK_ki0M-e0bS8Wr-VZR0Vn8,14468
194
198
  sky/skylet/events.py,sha256=A09E7LmmwzcGrSG0n8K7d3EZ1ZJr1mmmzoGyhnArYJA,12303
195
- sky/skylet/job_lib.py,sha256=FD1n9vE0daOEUKSH3lnccfBh7Vs81R8s4ILZyKu2o7M,37275
199
+ sky/skylet/job_lib.py,sha256=aY2qqZGA59hVTp6FtP3N_Wkrl8wzO8XFOOjhODpQGZg,37737
196
200
  sky/skylet/log_lib.py,sha256=BmhAgcLvlin3szhj33IH0kbdCALacVisF2x61BQpZdY,21888
197
201
  sky/skylet/log_lib.pyi,sha256=AHMkW2DGK2erFovb3ToZWxRiYaATlzkxKb5J9pkgF2Y,4295
198
202
  sky/skylet/skylet.py,sha256=U9plr5hmhD9-Nyy0LMCymlE8DWtRXTFXQvfbFsS746Y,1153
@@ -203,10 +207,6 @@ sky/skylet/providers/ibm/__init__.py,sha256=GXo5F9ztvs0qMDI_G9wM5KvzySfYugslJMHH
203
207
  sky/skylet/providers/ibm/node_provider.py,sha256=olNtCoCxjXTT-C_youwdQ9UF1DPgO8OVwDueotGFaJI,38280
204
208
  sky/skylet/providers/ibm/utils.py,sha256=63vhKqLLOhAZdibSp8VWWONeyCER9F6U2VLrSpzlizk,1292
205
209
  sky/skylet/providers/ibm/vpc_provider.py,sha256=GiOGlWYqqeBETfAeKqVj2-9shsMSP7z1WnO8UP5JTNo,34630
206
- sky/skylet/providers/oci/__init__.py,sha256=LRMTj6OhQoxiFJw4uNxG8cn6PllP8A-lGJL3Cs5DJok,91
207
- sky/skylet/providers/oci/node_provider.py,sha256=YPqiRag_cysvYMIMDGbMn6lOumvHad6FLJB5DGPr00Q,20492
208
- sky/skylet/providers/oci/query_helper.py,sha256=dUsvPGzWPNF5O2NjQvuC8tkilT4H11gMj6R7Qel2fDc,17202
209
- sky/skylet/providers/oci/utils.py,sha256=lCpdklxgSwK-hqErTicpIe_xkpSlIc8u943C-9_MJfU,508
210
210
  sky/skylet/providers/scp/__init__.py,sha256=15SiAh1YphXkZsHySaw_CeAmXRdoM4JtNIAt7SLbUvg,91
211
211
  sky/skylet/providers/scp/config.py,sha256=lhMXyG9btMlg59nmvtnMdIDN07jBbQOheAx-bHbGbhw,5077
212
212
  sky/skylet/providers/scp/node_provider.py,sha256=W5J-170JVIpwT9Fv20fJ_PpdAVsqx9pigE-RkkG_kQE,22459
@@ -228,11 +228,11 @@ sky/templates/jobs-controller.yaml.j2,sha256=Gu3ogFxFYr09VEXP-6zEbrCUOFo1aYxWEjA
228
228
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
229
229
  sky/templates/kubernetes-loadbalancer.yml.j2,sha256=IxrNYM366N01bbkJEbZ_UPYxUP8wyVEbRNFHRsBuLsw,626
230
230
  sky/templates/kubernetes-port-forward-proxy-command.sh,sha256=HlG7CPBBedCVBlL9qv0erW_eKm6Irj0LFyaAWuJW_lc,3148
231
- sky/templates/kubernetes-ray.yml.j2,sha256=dsWlkX-0b1igeZI4c0u0Jzia5I_9gezCiewR6pX1LlY,18374
231
+ sky/templates/kubernetes-ray.yml.j2,sha256=Ek6nePe_IP1b0mqMLnbyjp7wpo1-kwranD_AFRXJ9tU,19152
232
232
  sky/templates/kubernetes-ssh-jump.yml.j2,sha256=k5W5sOIMppU7dDkJMwPlqsUcb92y7L5_TVG3hkgMy8M,2747
233
233
  sky/templates/lambda-ray.yml.j2,sha256=HyvO_tX2vxwSsc4IFVSqGuIbjLMk0bevP9bcxb8ZQII,4498
234
234
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
235
- sky/templates/oci-ray.yml.j2,sha256=E-xnadts-x88vYRI1QGFzgfGGKFospmo2N9d_0cPN5I,7144
235
+ sky/templates/oci-ray.yml.j2,sha256=92dvXGaUd2Kwep9fgTjOsAPJiBLr8GQTjy7pFvuPAyE,4562
236
236
  sky/templates/paperspace-ray.yml.j2,sha256=HQjZNamrB_a4fOMCxQXSVdV5JIHtbGtAE0JzEO8uuVQ,4021
237
237
  sky/templates/runpod-ray.yml.j2,sha256=p3BtYBHzROtNJqnjEo1xCmGSJQfCZYdarWszhDYyl0Q,3697
238
238
  sky/templates/scp-ray.yml.j2,sha256=I9u8Ax-lit-d6UrCC9BVU8avst8w1cwK6TrzZBcz_JM,5608
@@ -257,7 +257,7 @@ sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM
257
257
  sky/utils/log_utils.py,sha256=ptv2sbsiJSgk4NvdccrMsUR-MvOKnbu4BQiRSishgk0,12472
258
258
  sky/utils/resources_utils.py,sha256=Xqi7gxPYw2y5wl5okUI5zx5LEij0hJF_V3Zi8q7TXYg,7890
259
259
  sky/utils/rich_utils.py,sha256=hmnI1X5dKvRIQzB7EyNb34FT97qFNve-0QHqM5r0mVk,3066
260
- sky/utils/schemas.py,sha256=mogoStpQ77S936VfChinAW2I1DT4q2c5E7qY_qNiO0w,29094
260
+ sky/utils/schemas.py,sha256=67LK87wBywblIyF-QgG5hgL1BvBuHsxeQLQBO0M5OH4,29447
261
261
  sky/utils/subprocess_utils.py,sha256=mMFCTfxbyav5LJ1epJJXkgfFYmd828naTOMVfYjuEWY,6905
262
262
  sky/utils/timeline.py,sha256=ao_nm0y52ZQILfL7Y92c3pSEFRyPm_ElORC3DrI5BwQ,3936
263
263
  sky/utils/ux_utils.py,sha256=CqyIFGDuSE8fQasPkna_loZMwtboC9KedR09WEQ7qz0,6502
@@ -275,9 +275,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7Z
275
275
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
276
276
  sky/utils/kubernetes/rsync_helper.sh,sha256=hyYDaYSNxYaNvzUQBzC8AidB7nDeojizjkzc_CTxycY,1077
277
277
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
278
- skypilot_nightly-1.0.0.dev20241109.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
279
- skypilot_nightly-1.0.0.dev20241109.dist-info/METADATA,sha256=YM8C71GXOj5CoHQlj5yNYhL8UkZ75DL-qMMTPXCOmXY,19708
280
- skypilot_nightly-1.0.0.dev20241109.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
281
- skypilot_nightly-1.0.0.dev20241109.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
282
- skypilot_nightly-1.0.0.dev20241109.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
283
- skypilot_nightly-1.0.0.dev20241109.dist-info/RECORD,,
278
+ skypilot_nightly-1.0.0.dev20241111.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
279
+ skypilot_nightly-1.0.0.dev20241111.dist-info/METADATA,sha256=ILiS9hM4X6WG3syvXek7BxYF7SvXnZ9o8h5bmcFL2sI,19708
280
+ skypilot_nightly-1.0.0.dev20241111.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
281
+ skypilot_nightly-1.0.0.dev20241111.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
282
+ skypilot_nightly-1.0.0.dev20241111.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
283
+ skypilot_nightly-1.0.0.dev20241111.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- """OCI node provider"""
2
- from sky.skylet.providers.oci.node_provider import OCINodeProvider