skypilot-nightly 1.0.0.dev20241005__py3-none-any.whl → 1.0.0.dev20241007__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 = '81e19038efe6988ca4d3e78dfb24140c587fa32c'
8
+ _SKYPILOT_COMMIT_SHA = 'd5b6d89c83ea1ee7258f68314da4c6f8add83e04'
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.dev20241005'
38
+ __version__ = '1.0.0.dev20241007'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
sky/serve/controller.py CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  Responsible for autoscaling and replica management.
4
4
  """
5
+ import contextlib
5
6
  import logging
6
7
  import threading
7
8
  import time
@@ -9,6 +10,7 @@ import traceback
9
10
  from typing import Any, Dict, List
10
11
 
11
12
  import fastapi
13
+ from fastapi import responses
12
14
  import uvicorn
13
15
 
14
16
  from sky import serve
@@ -49,7 +51,14 @@ class SkyServeController:
49
51
  autoscalers.Autoscaler.from_spec(service_name, service_spec))
50
52
  self._host = host
51
53
  self._port = port
52
- self._app = fastapi.FastAPI()
54
+ self._app = fastapi.FastAPI(lifespan=self.lifespan)
55
+
56
+ @contextlib.asynccontextmanager
57
+ async def lifespan(self, _: fastapi.FastAPI):
58
+ uvicorn_access_logger = logging.getLogger('uvicorn.access')
59
+ for handler in uvicorn_access_logger.handlers:
60
+ handler.setFormatter(sky_logging.FORMATTER)
61
+ yield
53
62
 
54
63
  def _run_autoscaler(self):
55
64
  logger.info('Starting autoscaler.')
@@ -88,7 +97,8 @@ class SkyServeController:
88
97
  def run(self) -> None:
89
98
 
90
99
  @self._app.post('/controller/load_balancer_sync')
91
- async def load_balancer_sync(request: fastapi.Request):
100
+ async def load_balancer_sync(
101
+ request: fastapi.Request) -> fastapi.Response:
92
102
  request_data = await request.json()
93
103
  # TODO(MaoZiming): Check aggregator type.
94
104
  request_aggregator: Dict[str, Any] = request_data.get(
@@ -96,18 +106,21 @@ class SkyServeController:
96
106
  timestamps: List[int] = request_aggregator.get('timestamps', [])
97
107
  logger.info(f'Received {len(timestamps)} inflight requests.')
98
108
  self._autoscaler.collect_request_information(request_aggregator)
99
- return {
109
+ return responses.JSONResponse(content={
100
110
  'ready_replica_urls':
101
111
  self._replica_manager.get_active_replica_urls()
102
- }
112
+ },
113
+ status_code=200)
103
114
 
104
115
  @self._app.post('/controller/update_service')
105
- async def update_service(request: fastapi.Request):
116
+ async def update_service(request: fastapi.Request) -> fastapi.Response:
106
117
  request_data = await request.json()
107
118
  try:
108
119
  version = request_data.get('version', None)
109
120
  if version is None:
110
- return {'message': 'Error: version is not specified.'}
121
+ return responses.JSONResponse(
122
+ content={'message': 'Error: version is not specified.'},
123
+ status_code=400)
111
124
  update_mode_str = request_data.get(
112
125
  'mode', serve_utils.DEFAULT_UPDATE_MODE.value)
113
126
  update_mode = serve_utils.UpdateMode(update_mode_str)
@@ -136,17 +149,13 @@ class SkyServeController:
136
149
  self._autoscaler.update_version(version,
137
150
  service,
138
151
  update_mode=update_mode)
139
- return {'message': 'Success'}
152
+ return responses.JSONResponse(content={'message': 'Success'},
153
+ status_code=200)
140
154
  except Exception as e: # pylint: disable=broad-except
141
155
  logger.error(f'Error in update_service: '
142
156
  f'{common_utils.format_exception(e)}')
143
- return {'message': 'Error'}
144
-
145
- @self._app.on_event('startup')
146
- def configure_logger():
147
- uvicorn_access_logger = logging.getLogger('uvicorn.access')
148
- for handler in uvicorn_access_logger.handlers:
149
- handler.setFormatter(sky_logging.FORMATTER)
157
+ return responses.JSONResponse(content={'message': 'Error'},
158
+ status_code=500)
150
159
 
151
160
  threading.Thread(target=self._run_autoscaler).start()
152
161
 
sky/serve/serve_utils.py CHANGED
@@ -302,6 +302,10 @@ def update_service_encoded(service_name: str, version: int, mode: str) -> str:
302
302
  raise ValueError('The service is up-ed in an old version and does not '
303
303
  'support update. Please `sky serve down` '
304
304
  'it first and relaunch the service. ')
305
+ elif resp.status_code == 400:
306
+ raise ValueError(f'Client error during service update: {resp.text}')
307
+ elif resp.status_code == 500:
308
+ raise RuntimeError(f'Server error during service update: {resp.text}')
305
309
  elif resp.status_code != 200:
306
310
  raise ValueError(f'Failed to update service: {resp.text}')
307
311
 
@@ -77,6 +77,7 @@ def handle_returncode(returncode: int,
77
77
  command: The command that was run.
78
78
  error_msg: The error message to print.
79
79
  stderr: The stderr of the command.
80
+ stream_logs: Whether to stream logs.
80
81
  """
81
82
  echo = logger.error if stream_logs else logger.debug
82
83
  if returncode != 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20241005
3
+ Version: 1.0.0.dev20241007
4
4
  Summary: SkyPilot: An intercloud broker for the clouds
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -153,7 +153,7 @@ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "vsphere"
153
153
 
154
154
  ----
155
155
  :fire: *News* :fire:
156
- - [Sep, 2024] Point, Launch and Serve **Llama 3.2** on on Kubernetes or Any Cloud: [**example**](./llm/llama-3_2/)
156
+ - [Sep, 2024] Point, Launch and Serve **Llama 3.2** on Kubernetes or Any Cloud: [**example**](./llm/llama-3_2/)
157
157
  - [Sep, 2024] Run and deploy [**Pixtral**](./llm/pixtral), the first open-source multimodal model from Mistral AI.
158
158
  - [Jul, 2024] [**Finetune**](./llm/llama-3_1-finetuning/) and [**serve**](./llm/llama-3_1/) **Llama 3.1** on your infra
159
159
  - [Jun, 2024] Reproduce **GPT** with [llm.c](https://github.com/karpathy/llm.c/discussions/481) on any cloud: [**guide**](./llm/gpt-2/)
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=OUBGGkWNa5mCuhBfSAqpKESJZwLljwwLD34zyE6zVR4,5854
1
+ sky/__init__.py,sha256=qM97VOOUsAX0qlJn1dd3D1SoSS-VZ6VfhyEVw4EvgAc,5854
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=TfKkVnmRIetATSEVQFp-rOOIRGqVig2i8faSQQt_ixA,20974
4
4
  sky/check.py,sha256=jLMIIJrseaZj1_o5WkbaD9XdyXIlCaT6pyAaIFdhdmA,9079
@@ -171,13 +171,13 @@ sky/provision/vsphere/common/vim_utils.py,sha256=EMWLS8ILpdx6XwUZ9I53y0B_1yFrRrl
171
171
  sky/serve/__init__.py,sha256=Qg_XPOtQsUxiN-Q3njHZRfzoMcQ_KKU1QthkiTbESDw,1661
172
172
  sky/serve/autoscalers.py,sha256=khY1oZ22PRaUQNsLCoNKH178X_NiJw0LSLOKr7_LNgY,30275
173
173
  sky/serve/constants.py,sha256=OansIC7a0Pwat-Y5SF43T9phad_EvyjKO3peZgKFEHk,4367
174
- sky/serve/controller.py,sha256=NJaMjFjYTeoxd4qEdQOgieemNDn7jnmS70PIOeP7DWg,7649
174
+ sky/serve/controller.py,sha256=gfE_gB7wxE1VxvnYqw_-KcMGc6X2kufl-NLR7sWdzdY,8172
175
175
  sky/serve/core.py,sha256=cW2SNMPMbGtOcqASHnL__B12BCIErUilGtFw3olQbjk,28947
176
176
  sky/serve/load_balancer.py,sha256=aUfDsgUT_fYrchCwJCeunMPXmAkwJAY58BEu-IN2FaA,11571
177
177
  sky/serve/load_balancing_policies.py,sha256=ExdwH_pxPYpJ6CkoTQCOPSa4lzwbq1LFFMKzmIu8ryk,2331
178
178
  sky/serve/replica_managers.py,sha256=dO962WZ_6YWRDpyNemY7SzC7fZHlNfoL4kUS3MaKwDo,57405
179
179
  sky/serve/serve_state.py,sha256=5BZSKKKxQRk-0mku17Ch4Veu4qOhaFvaOJY3zrZCkLw,19315
180
- sky/serve/serve_utils.py,sha256=scZzEpJtk-Si05VuzIB212DPovuMHFV2b-T-xWNZ2Yw,37785
180
+ sky/serve/serve_utils.py,sha256=im_1cJoJmufFxkBVnhK4nI6XlHvEXersQyIivNruJJc,38009
181
181
  sky/serve/service.py,sha256=fkfJvNJ2BO6rfV0TblZG-QkOXaCyZlpkwbGgrsTzf2w,11872
182
182
  sky/serve/service_spec.py,sha256=iRhW95SERvb4NWtV10uCuhgvW31HuSAmZZ55OX0WK8s,15309
183
183
  sky/setup_files/MANIFEST.in,sha256=BAR1TfVIHwBFfV3najggE8HDXTJyO3fNN0Yhu5aTitI,634
@@ -256,7 +256,7 @@ sky/utils/log_utils.py,sha256=yVu3etgKhiVYX8UG-JFPWZujxWBT4kwxZ5oAPIdjtGs,12054
256
256
  sky/utils/resources_utils.py,sha256=snByBxgx3Hnjfch2uysdAA3D-OAwrnuzTDHug36s5H4,6515
257
257
  sky/utils/rich_utils.py,sha256=5ZVhzlFx-nhqMXwv00eO9xC4rz7ibDlfD2lmGhZrJEY,1581
258
258
  sky/utils/schemas.py,sha256=QT0Fxri2o0SiWkky1DlZhA1dzQRQoB5OdVaej0wJvhc,28787
259
- sky/utils/subprocess_utils.py,sha256=zK0L3mvAkvKX1nFFI4IFEmRWX9ytpguhhxOTYUDKoDs,6507
259
+ sky/utils/subprocess_utils.py,sha256=3R54Elc2n8DQeO6Y8MCDJ6N6v27HDGpbNMIfCquqXYQ,6552
260
260
  sky/utils/timeline.py,sha256=ao_nm0y52ZQILfL7Y92c3pSEFRyPm_ElORC3DrI5BwQ,3936
261
261
  sky/utils/ux_utils.py,sha256=318TRunQCyJpJXonfiJ1SVotNA-6K4F2XgMEYjvWvsk,3264
262
262
  sky/utils/validator.py,sha256=cAFERCoC7jH0DFKepcU4x9SYmdrYL1iVmW9tXA18hvo,701
@@ -273,9 +273,9 @@ sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=KPqp23B-zQ2SZK03jdHeF9fLTog
273
273
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
274
274
  sky/utils/kubernetes/rsync_helper.sh,sha256=Ma-N9a271fTfdgP5-8XIQL7KPf8IPUo-uY004PCdUFo,747
275
275
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=RFLJ3k7MR5UN4SKHykQ0lV9SgXumoULpKYIAt1vh-HU,6560
276
- skypilot_nightly-1.0.0.dev20241005.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
- skypilot_nightly-1.0.0.dev20241005.dist-info/METADATA,sha256=tcBmp-0ZD1iHZcI-Kt3QtpP6Qa51_8FIg-gFO4wk5Ns,18948
278
- skypilot_nightly-1.0.0.dev20241005.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
- skypilot_nightly-1.0.0.dev20241005.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
- skypilot_nightly-1.0.0.dev20241005.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
- skypilot_nightly-1.0.0.dev20241005.dist-info/RECORD,,
276
+ skypilot_nightly-1.0.0.dev20241007.dist-info/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
277
+ skypilot_nightly-1.0.0.dev20241007.dist-info/METADATA,sha256=DB1gJrJOXxSKRlbVrw-6rzua8zYvBLohJnJgwVEuDzk,18945
278
+ skypilot_nightly-1.0.0.dev20241007.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
279
+ skypilot_nightly-1.0.0.dev20241007.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
280
+ skypilot_nightly-1.0.0.dev20241007.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
281
+ skypilot_nightly-1.0.0.dev20241007.dist-info/RECORD,,