skypilot-nightly 1.0.0.dev20251009__py3-none-any.whl → 1.0.0.dev20251107__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.
Potentially problematic release.
This version of skypilot-nightly might be problematic. Click here for more details.
- sky/__init__.py +6 -2
- sky/adaptors/aws.py +25 -7
- sky/adaptors/coreweave.py +278 -0
- sky/adaptors/kubernetes.py +64 -0
- sky/adaptors/shadeform.py +89 -0
- sky/admin_policy.py +20 -0
- sky/authentication.py +59 -149
- sky/backends/backend_utils.py +104 -63
- sky/backends/cloud_vm_ray_backend.py +84 -39
- sky/catalog/data_fetchers/fetch_runpod.py +698 -0
- sky/catalog/data_fetchers/fetch_shadeform.py +142 -0
- sky/catalog/kubernetes_catalog.py +24 -28
- sky/catalog/runpod_catalog.py +5 -1
- sky/catalog/shadeform_catalog.py +165 -0
- sky/check.py +25 -13
- sky/client/cli/command.py +335 -86
- sky/client/cli/flags.py +4 -2
- sky/client/cli/table_utils.py +17 -9
- sky/client/sdk.py +59 -12
- sky/cloud_stores.py +73 -0
- sky/clouds/__init__.py +2 -0
- sky/clouds/aws.py +71 -16
- sky/clouds/azure.py +12 -5
- sky/clouds/cloud.py +19 -9
- sky/clouds/cudo.py +12 -5
- sky/clouds/do.py +4 -1
- sky/clouds/fluidstack.py +12 -5
- sky/clouds/gcp.py +12 -5
- sky/clouds/hyperbolic.py +12 -5
- sky/clouds/ibm.py +12 -5
- sky/clouds/kubernetes.py +62 -25
- sky/clouds/lambda_cloud.py +12 -5
- sky/clouds/nebius.py +12 -5
- sky/clouds/oci.py +12 -5
- sky/clouds/paperspace.py +4 -1
- sky/clouds/primeintellect.py +4 -1
- sky/clouds/runpod.py +12 -5
- sky/clouds/scp.py +12 -5
- sky/clouds/seeweb.py +4 -1
- sky/clouds/shadeform.py +400 -0
- sky/clouds/ssh.py +4 -2
- sky/clouds/vast.py +12 -5
- sky/clouds/vsphere.py +4 -1
- sky/core.py +12 -11
- sky/dashboard/out/404.html +1 -1
- sky/dashboard/out/_next/static/chunks/1141-e6aa9ab418717c59.js +11 -0
- sky/dashboard/out/_next/static/chunks/{1871-49141c317f3a9020.js → 1871-74503c8e80fd253b.js} +1 -1
- sky/dashboard/out/_next/static/chunks/2260-7703229c33c5ebd5.js +1 -0
- sky/dashboard/out/_next/static/chunks/2755.fff53c4a3fcae910.js +26 -0
- sky/dashboard/out/_next/static/chunks/3294.72362fa129305b19.js +1 -0
- sky/dashboard/out/_next/static/chunks/{3785.a19328ba41517b8b.js → 3785.ad6adaa2a0fa9768.js} +1 -1
- sky/dashboard/out/_next/static/chunks/{4725.10f7a9a5d3ea8208.js → 4725.a830b5c9e7867c92.js} +1 -1
- sky/dashboard/out/_next/static/chunks/6856-ef8ba11f96d8c4a3.js +1 -0
- sky/dashboard/out/_next/static/chunks/6990-32b6e2d3822301fa.js +1 -0
- sky/dashboard/out/_next/static/chunks/7615-3301e838e5f25772.js +1 -0
- sky/dashboard/out/_next/static/chunks/8969-1e4613c651bf4051.js +1 -0
- sky/dashboard/out/_next/static/chunks/9025.fa408f3242e9028d.js +6 -0
- sky/dashboard/out/_next/static/chunks/9353-cff34f7e773b2e2b.js +1 -0
- sky/dashboard/out/_next/static/chunks/9360.7310982cf5a0dc79.js +31 -0
- sky/dashboard/out/_next/static/chunks/pages/{_app-ce361c6959bc2001.js → _app-bde01e4a2beec258.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-c736ead69c2d86ec.js +16 -0
- sky/dashboard/out/_next/static/chunks/pages/clusters/{[cluster]-477555ab7c0b13d8.js → [cluster]-a37d2063af475a1c.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/{clusters-2f61f65487f6d8ff.js → clusters-d44859594e6f8064.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/infra/{[context]-553b8b5cb65e100b.js → [context]-c0b5935149902e6f.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/{infra-910a22500c50596f.js → infra-aed0ea19df7cf961.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-5796e8d6aea291a0.js +16 -0
- sky/dashboard/out/_next/static/chunks/pages/jobs/pools/{[pool]-bc979970c247d8f3.js → [pool]-6edeb7d06032adfc.js} +2 -2
- sky/dashboard/out/_next/static/chunks/pages/{jobs-a35a9dc3c5ccd657.js → jobs-479dde13399cf270.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/{users-98d2ed979084162a.js → users-5ab3b907622cf0fe.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/{volumes-835d14ba94808f79.js → volumes-b84b948ff357c43e.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-e8688c35c06f0ac5.js → [name]-c5a3eeee1c218af1.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/{workspaces-69c80d677d3c2949.js → workspaces-22b23febb3e89ce1.js} +1 -1
- sky/dashboard/out/_next/static/chunks/webpack-2679be77fc08a2f8.js +1 -0
- sky/dashboard/out/_next/static/css/0748ce22df867032.css +3 -0
- sky/dashboard/out/_next/static/zB0ed6ge_W1MDszVHhijS/_buildManifest.js +1 -0
- sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- sky/dashboard/out/clusters/[cluster].html +1 -1
- sky/dashboard/out/clusters.html +1 -1
- sky/dashboard/out/config.html +1 -1
- sky/dashboard/out/index.html +1 -1
- sky/dashboard/out/infra/[context].html +1 -1
- sky/dashboard/out/infra.html +1 -1
- sky/dashboard/out/jobs/[job].html +1 -1
- sky/dashboard/out/jobs/pools/[pool].html +1 -1
- sky/dashboard/out/jobs.html +1 -1
- sky/dashboard/out/users.html +1 -1
- sky/dashboard/out/volumes.html +1 -1
- sky/dashboard/out/workspace/new.html +1 -1
- sky/dashboard/out/workspaces/[name].html +1 -1
- sky/dashboard/out/workspaces.html +1 -1
- sky/data/data_utils.py +92 -1
- sky/data/mounting_utils.py +143 -19
- sky/data/storage.py +168 -11
- sky/exceptions.py +13 -1
- sky/execution.py +13 -0
- sky/global_user_state.py +189 -113
- sky/jobs/client/sdk.py +32 -10
- sky/jobs/client/sdk_async.py +9 -3
- sky/jobs/constants.py +3 -1
- sky/jobs/controller.py +164 -192
- sky/jobs/file_content_utils.py +80 -0
- sky/jobs/log_gc.py +201 -0
- sky/jobs/recovery_strategy.py +59 -82
- sky/jobs/scheduler.py +20 -9
- sky/jobs/server/core.py +105 -23
- sky/jobs/server/server.py +40 -28
- sky/jobs/server/utils.py +32 -11
- sky/jobs/state.py +588 -110
- sky/jobs/utils.py +442 -209
- sky/logs/agent.py +1 -1
- sky/metrics/utils.py +45 -6
- sky/optimizer.py +1 -1
- sky/provision/__init__.py +7 -0
- sky/provision/aws/instance.py +2 -1
- sky/provision/azure/instance.py +2 -1
- sky/provision/common.py +2 -0
- sky/provision/cudo/instance.py +2 -1
- sky/provision/do/instance.py +2 -1
- sky/provision/fluidstack/instance.py +4 -3
- sky/provision/gcp/instance.py +2 -1
- sky/provision/hyperbolic/instance.py +2 -1
- sky/provision/instance_setup.py +10 -2
- sky/provision/kubernetes/constants.py +0 -1
- sky/provision/kubernetes/instance.py +222 -89
- sky/provision/kubernetes/network.py +12 -8
- sky/provision/kubernetes/utils.py +114 -53
- sky/provision/kubernetes/volume.py +5 -4
- sky/provision/lambda_cloud/instance.py +2 -1
- sky/provision/nebius/instance.py +2 -1
- sky/provision/oci/instance.py +2 -1
- sky/provision/paperspace/instance.py +2 -1
- sky/provision/provisioner.py +11 -2
- sky/provision/runpod/instance.py +2 -1
- sky/provision/scp/instance.py +2 -1
- sky/provision/seeweb/instance.py +3 -3
- sky/provision/shadeform/__init__.py +11 -0
- sky/provision/shadeform/config.py +12 -0
- sky/provision/shadeform/instance.py +351 -0
- sky/provision/shadeform/shadeform_utils.py +83 -0
- sky/provision/vast/instance.py +2 -1
- sky/provision/vsphere/instance.py +2 -1
- sky/resources.py +1 -1
- sky/schemas/api/responses.py +9 -5
- sky/schemas/db/skypilot_config/001_initial_schema.py +30 -0
- sky/schemas/db/spot_jobs/004_job_file_contents.py +42 -0
- sky/schemas/db/spot_jobs/005_logs_gc.py +38 -0
- sky/schemas/generated/jobsv1_pb2.py +52 -52
- sky/schemas/generated/jobsv1_pb2.pyi +4 -2
- sky/schemas/generated/managed_jobsv1_pb2.py +39 -35
- sky/schemas/generated/managed_jobsv1_pb2.pyi +21 -5
- sky/serve/client/impl.py +11 -3
- sky/serve/replica_managers.py +5 -2
- sky/serve/serve_utils.py +9 -2
- sky/serve/server/impl.py +7 -2
- sky/serve/server/server.py +18 -15
- sky/serve/service.py +2 -2
- sky/server/auth/oauth2_proxy.py +2 -5
- sky/server/common.py +31 -28
- sky/server/constants.py +5 -1
- sky/server/daemons.py +27 -19
- sky/server/requests/executor.py +138 -74
- sky/server/requests/payloads.py +9 -1
- sky/server/requests/preconditions.py +13 -10
- sky/server/requests/request_names.py +120 -0
- sky/server/requests/requests.py +485 -153
- sky/server/requests/serializers/decoders.py +26 -13
- sky/server/requests/serializers/encoders.py +56 -11
- sky/server/requests/threads.py +106 -0
- sky/server/rest.py +70 -18
- sky/server/server.py +283 -104
- sky/server/stream_utils.py +233 -59
- sky/server/uvicorn.py +18 -17
- sky/setup_files/alembic.ini +4 -0
- sky/setup_files/dependencies.py +32 -13
- sky/sky_logging.py +0 -2
- sky/skylet/constants.py +30 -7
- sky/skylet/events.py +7 -0
- sky/skylet/log_lib.py +8 -2
- sky/skylet/log_lib.pyi +1 -1
- sky/skylet/services.py +26 -13
- sky/skylet/subprocess_daemon.py +103 -29
- sky/skypilot_config.py +87 -75
- sky/ssh_node_pools/server.py +9 -8
- sky/task.py +67 -54
- sky/templates/kubernetes-ray.yml.j2 +8 -1
- sky/templates/nebius-ray.yml.j2 +1 -0
- sky/templates/shadeform-ray.yml.j2 +72 -0
- sky/templates/websocket_proxy.py +142 -12
- sky/users/permission.py +8 -1
- sky/utils/admin_policy_utils.py +16 -3
- sky/utils/asyncio_utils.py +78 -0
- sky/utils/auth_utils.py +153 -0
- sky/utils/cli_utils/status_utils.py +8 -2
- sky/utils/command_runner.py +11 -0
- sky/utils/common.py +3 -1
- sky/utils/common_utils.py +7 -4
- sky/utils/context.py +57 -51
- sky/utils/context_utils.py +30 -12
- sky/utils/controller_utils.py +35 -8
- sky/utils/db/db_utils.py +37 -10
- sky/utils/db/migration_utils.py +8 -4
- sky/utils/locks.py +24 -6
- sky/utils/resource_checker.py +4 -1
- sky/utils/resources_utils.py +53 -29
- sky/utils/schemas.py +23 -4
- sky/utils/subprocess_utils.py +17 -4
- sky/volumes/server/server.py +7 -6
- sky/workspaces/server.py +13 -12
- {skypilot_nightly-1.0.0.dev20251009.dist-info → skypilot_nightly-1.0.0.dev20251107.dist-info}/METADATA +306 -55
- {skypilot_nightly-1.0.0.dev20251009.dist-info → skypilot_nightly-1.0.0.dev20251107.dist-info}/RECORD +215 -195
- sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js +0 -1
- sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js +0 -11
- sky/dashboard/out/_next/static/chunks/2755.97300e1362fe7c98.js +0 -26
- sky/dashboard/out/_next/static/chunks/3015-8d748834fcc60b46.js +0 -1
- sky/dashboard/out/_next/static/chunks/3294.1fafbf42b3bcebff.js +0 -1
- sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -1
- sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js +0 -1
- sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -1
- sky/dashboard/out/_next/static/chunks/8969-66237729cdf9749e.js +0 -1
- sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -6
- sky/dashboard/out/_next/static/chunks/9360.71e83b2ddc844ec2.js +0 -31
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8f058b0346db2aff.js +0 -16
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-4f7079dcab6ed653.js +0 -16
- sky/dashboard/out/_next/static/chunks/webpack-6a5ddd0184bfa22c.js +0 -1
- sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -3
- sky/dashboard/out/_next/static/hIViZcQBkn0HE8SpaSsUU/_buildManifest.js +0 -1
- /sky/dashboard/out/_next/static/{hIViZcQBkn0HE8SpaSsUU → zB0ed6ge_W1MDszVHhijS}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20251009.dist-info → skypilot_nightly-1.0.0.dev20251107.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20251009.dist-info → skypilot_nightly-1.0.0.dev20251107.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251009.dist-info → skypilot_nightly-1.0.0.dev20251107.dist-info}/licenses/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20251009.dist-info → skypilot_nightly-1.0.0.dev20251107.dist-info}/top_level.txt +0 -0
|
@@ -90,7 +90,7 @@ class Precondition(abc.ABC):
|
|
|
90
90
|
while True:
|
|
91
91
|
if self.timeout > 0 and time.time() - start_time > self.timeout:
|
|
92
92
|
# Cancel the request on timeout.
|
|
93
|
-
api_requests.
|
|
93
|
+
await api_requests.set_request_failed_async(
|
|
94
94
|
self.request_id,
|
|
95
95
|
exceptions.RequestCancelled(
|
|
96
96
|
f'Request {self.request_id} precondition wait timed '
|
|
@@ -98,13 +98,15 @@ class Precondition(abc.ABC):
|
|
|
98
98
|
return False
|
|
99
99
|
|
|
100
100
|
# Check if the request has been cancelled
|
|
101
|
-
request = await api_requests.get_request_async(self.request_id
|
|
101
|
+
request = await api_requests.get_request_async(self.request_id,
|
|
102
|
+
fields=['status'])
|
|
102
103
|
if request is None:
|
|
103
104
|
logger.error(f'Request {self.request_id} not found')
|
|
104
105
|
return False
|
|
105
106
|
if request.status == api_requests.RequestStatus.CANCELLED:
|
|
106
107
|
logger.debug(f'Request {self.request_id} cancelled')
|
|
107
108
|
return False
|
|
109
|
+
del request
|
|
108
110
|
|
|
109
111
|
try:
|
|
110
112
|
met, status_msg = await self.check()
|
|
@@ -112,13 +114,11 @@ class Precondition(abc.ABC):
|
|
|
112
114
|
return True
|
|
113
115
|
if status_msg is not None and status_msg != last_status_msg:
|
|
114
116
|
# Update the status message if it has changed.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
assert req is not None, self.request_id
|
|
118
|
-
req.status_msg = status_msg
|
|
117
|
+
await api_requests.update_status_msg_async(
|
|
118
|
+
self.request_id, status_msg)
|
|
119
119
|
last_status_msg = status_msg
|
|
120
120
|
except (Exception, SystemExit, KeyboardInterrupt) as e: # pylint: disable=broad-except
|
|
121
|
-
api_requests.
|
|
121
|
+
await api_requests.set_request_failed_async(self.request_id, e)
|
|
122
122
|
logger.info(f'Request {self.request_id} failed due to '
|
|
123
123
|
f'{common_utils.format_exception(e)}')
|
|
124
124
|
return False
|
|
@@ -164,11 +164,14 @@ class ClusterStartCompletePrecondition(Precondition):
|
|
|
164
164
|
requests = await api_requests.get_request_tasks_async(
|
|
165
165
|
req_filter=api_requests.RequestTaskFilter(
|
|
166
166
|
status=[
|
|
167
|
-
api_requests.RequestStatus.
|
|
168
|
-
api_requests.RequestStatus.
|
|
167
|
+
api_requests.RequestStatus.PENDING,
|
|
168
|
+
api_requests.RequestStatus.RUNNING
|
|
169
169
|
],
|
|
170
170
|
include_request_names=['sky.launch', 'sky.start'],
|
|
171
|
-
cluster_names=[self.cluster_name]
|
|
171
|
+
cluster_names=[self.cluster_name],
|
|
172
|
+
# Only get the request ID to avoid fetching the whole request.
|
|
173
|
+
# We're only interested in the count, not the whole request.
|
|
174
|
+
fields=['request_id']))
|
|
172
175
|
if len(requests) == 0:
|
|
173
176
|
# No running or pending tasks, the start process is done.
|
|
174
177
|
return True, None
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"""Request names."""
|
|
2
|
+
import enum
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class RequestName(str, enum.Enum):
|
|
6
|
+
"""Enum of all the request names."""
|
|
7
|
+
# General requests
|
|
8
|
+
CHECK = 'check'
|
|
9
|
+
ENABLED_CLOUDS = 'enabled_clouds'
|
|
10
|
+
REALTIME_KUBERNETES_GPU_AVAILABILITY = (
|
|
11
|
+
'realtime_kubernetes_gpu_availability')
|
|
12
|
+
KUBERNETES_NODE_INFO = 'kubernetes_node_info'
|
|
13
|
+
STATUS_KUBERNETES = 'status_kubernetes'
|
|
14
|
+
LIST_ACCELERATORS = 'list_accelerators'
|
|
15
|
+
LIST_ACCELERATOR_COUNTS = 'list_accelerator_counts'
|
|
16
|
+
OPTIMIZE = 'optimize'
|
|
17
|
+
# Cluster requests
|
|
18
|
+
CLUSTER_LAUNCH = 'launch'
|
|
19
|
+
CLUSTER_EXEC = 'exec'
|
|
20
|
+
CLUSTER_STOP = 'stop'
|
|
21
|
+
CLUSTER_STATUS = 'status'
|
|
22
|
+
CLUSTER_ENDPOINTS = 'endpoints'
|
|
23
|
+
CLUSTER_DOWN = 'down'
|
|
24
|
+
CLUSTER_START = 'start'
|
|
25
|
+
CLUSTER_AUTOSTOP = 'autostop'
|
|
26
|
+
CLUSTER_QUEUE = 'queue'
|
|
27
|
+
CLUSTER_JOB_STATUS = 'job_status'
|
|
28
|
+
CLUSTER_JOB_CANCEL = 'cancel'
|
|
29
|
+
CLUSTER_JOB_LOGS = 'logs'
|
|
30
|
+
CLUSTER_JOB_DOWNLOAD_LOGS = 'download_logs'
|
|
31
|
+
CLUSTER_COST_REPORT = 'cost_report'
|
|
32
|
+
# Storage requests
|
|
33
|
+
STORAGE_LS = 'storage_ls'
|
|
34
|
+
STORAGE_DELETE = 'storage_delete'
|
|
35
|
+
# Local requests
|
|
36
|
+
LOCAL_UP = 'local_up'
|
|
37
|
+
LOCAL_DOWN = 'local_down'
|
|
38
|
+
# API requests
|
|
39
|
+
API_CANCEL = 'api_cancel'
|
|
40
|
+
ALL_CONTEXTS = 'all_contexts'
|
|
41
|
+
# Managed jobs requests
|
|
42
|
+
JOBS_LAUNCH = 'jobs.launch'
|
|
43
|
+
JOBS_QUEUE = 'jobs.queue'
|
|
44
|
+
JOBS_QUEUE_V2 = 'jobs.queue_v2'
|
|
45
|
+
JOBS_CANCEL = 'jobs.cancel'
|
|
46
|
+
JOBS_LOGS = 'jobs.logs'
|
|
47
|
+
JOBS_DOWNLOAD_LOGS = 'jobs.download_logs'
|
|
48
|
+
JOBS_POOL_APPLY = 'jobs.pool_apply'
|
|
49
|
+
JOBS_POOL_DOWN = 'jobs.pool_down'
|
|
50
|
+
JOBS_POOL_STATUS = 'jobs.pool_status'
|
|
51
|
+
JOBS_POOL_LOGS = 'jobs.pool_logs'
|
|
52
|
+
JOBS_POOL_SYNC_DOWN_LOGS = 'jobs.pool_sync_down_logs'
|
|
53
|
+
# Serve requests
|
|
54
|
+
SERVE_UP = 'serve.up'
|
|
55
|
+
SERVE_UPDATE = 'serve.update'
|
|
56
|
+
SERVE_DOWN = 'serve.down'
|
|
57
|
+
SERVE_TERMINATE_REPLICA = 'serve.terminate_replica'
|
|
58
|
+
SERVE_STATUS = 'serve.status'
|
|
59
|
+
SERVE_LOGS = 'serve.logs'
|
|
60
|
+
SERVE_SYNC_DOWN_LOGS = 'serve.sync_down_logs'
|
|
61
|
+
# Volumes requests
|
|
62
|
+
VOLUME_LIST = 'volume_list'
|
|
63
|
+
VOLUME_DELETE = 'volume_delete'
|
|
64
|
+
VOLUME_APPLY = 'volume_apply'
|
|
65
|
+
# Workspaces requests
|
|
66
|
+
WORKSPACES_GET = 'workspaces.get'
|
|
67
|
+
WORKSPACES_UPDATE = 'workspaces.update'
|
|
68
|
+
WORKSPACES_CREATE = 'workspaces.create'
|
|
69
|
+
WORKSPACES_DELETE = 'workspaces.delete'
|
|
70
|
+
WORKSPACES_GET_CONFIG = 'workspaces.get_config'
|
|
71
|
+
WORKSPACES_UPDATE_CONFIG = 'workspaces.update_config'
|
|
72
|
+
# SSH node pools requests
|
|
73
|
+
SSH_NODE_POOLS_UP = 'ssh_node_pools.up'
|
|
74
|
+
SSH_NODE_POOLS_DOWN = 'ssh_node_pools.down'
|
|
75
|
+
# Internal request daemons
|
|
76
|
+
REQUEST_DAEMON_STATUS_REFRESH = 'status-refresh'
|
|
77
|
+
REQUEST_DAEMON_VOLUME_REFRESH = 'volume-refresh'
|
|
78
|
+
REQUEST_DAEMON_MANAGED_JOB_STATUS_REFRESH = 'managed-job-status-refresh'
|
|
79
|
+
REQUEST_DAEMON_SKY_SERVE_STATUS_REFRESH = 'sky-serve-status-refresh'
|
|
80
|
+
REQUEST_DAEMON_POOL_STATUS_REFRESH = 'pool-status-refresh'
|
|
81
|
+
|
|
82
|
+
def __repr__(self):
|
|
83
|
+
return self.value
|
|
84
|
+
|
|
85
|
+
def __str__(self):
|
|
86
|
+
return self.value
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class AdminPolicyRequestName(str, enum.Enum):
|
|
90
|
+
"""Enum of all the request names that are
|
|
91
|
+
used for admin policy application."""
|
|
92
|
+
# General requests
|
|
93
|
+
# validate call is not stored in the request db,
|
|
94
|
+
# but is defined here for admin policy application
|
|
95
|
+
VALIDATE = 'validate'
|
|
96
|
+
OPTIMIZE = RequestName.OPTIMIZE.value
|
|
97
|
+
# Cluster requests
|
|
98
|
+
CLUSTER_LAUNCH = RequestName.CLUSTER_LAUNCH.value
|
|
99
|
+
CLUSTER_EXEC = RequestName.CLUSTER_EXEC.value
|
|
100
|
+
# Jobs requests
|
|
101
|
+
JOBS_LAUNCH = RequestName.JOBS_LAUNCH.value
|
|
102
|
+
# jobs launch controller request is not stored in the request db,
|
|
103
|
+
# but is defined here for admin policy application
|
|
104
|
+
JOBS_LAUNCH_CONTROLLER = 'jobs.launch_controller'
|
|
105
|
+
JOBS_POOL_APPLY = RequestName.JOBS_POOL_APPLY.value
|
|
106
|
+
# Serve requests
|
|
107
|
+
SERVE_UP = RequestName.SERVE_UP.value
|
|
108
|
+
# serve launch controller request is not stored in the request db,
|
|
109
|
+
# but is defined here for admin policy application
|
|
110
|
+
SERVE_LAUNCH_CONTROLLER = 'serve.launch_controller'
|
|
111
|
+
SERVE_UPDATE = RequestName.SERVE_UPDATE.value
|
|
112
|
+
# serve launch replica request is not stored in the request db,
|
|
113
|
+
# but is defined here for admin policy application
|
|
114
|
+
SERVE_LAUNCH_REPLICA = 'serve.launch_replica'
|
|
115
|
+
|
|
116
|
+
def __repr__(self):
|
|
117
|
+
return self.value
|
|
118
|
+
|
|
119
|
+
def __str__(self):
|
|
120
|
+
return self.value
|