skypilot-nightly 1.0.0.dev20251014__py3-none-any.whl → 1.0.0.dev20251015__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 +2 -2
- sky/backends/backend_utils.py +29 -15
- sky/backends/cloud_vm_ray_backend.py +5 -1
- sky/dashboard/out/404.html +1 -1
- sky/dashboard/out/_next/static/chunks/{webpack-66f23594d38c7f16.js → webpack-ac3a34c8f9fef041.js} +1 -1
- 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/provision/common.py +2 -0
- sky/provision/instance_setup.py +10 -2
- sky/provision/kubernetes/instance.py +34 -10
- sky/provision/kubernetes/utils.py +9 -0
- sky/server/requests/preconditions.py +2 -4
- sky/server/requests/requests.py +13 -23
- sky/utils/asyncio_utils.py +18 -0
- {skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/METADATA +37 -36
- {skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/RECORD +35 -34
- /sky/dashboard/out/_next/static/{9Fek73R28lDp1A5J4N7g7 → -bih7JVStsXyeasac-dvQ}/_buildManifest.js +0 -0
- /sky/dashboard/out/_next/static/{9Fek73R28lDp1A5J4N7g7 → -bih7JVStsXyeasac-dvQ}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/licenses/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/top_level.txt +0 -0
sky/__init__.py
CHANGED
|
@@ -7,7 +7,7 @@ import urllib.request
|
|
|
7
7
|
from sky.utils import directory_utils
|
|
8
8
|
|
|
9
9
|
# Replaced with the current commit when building the wheels.
|
|
10
|
-
_SKYPILOT_COMMIT_SHA = '
|
|
10
|
+
_SKYPILOT_COMMIT_SHA = '4f345c81bd4baeb1ea1e7a98dc6b650f6ec6c7c5'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _get_git_commit():
|
|
@@ -37,7 +37,7 @@ def _get_git_commit():
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
__commit__ = _get_git_commit()
|
|
40
|
-
__version__ = '1.0.0.
|
|
40
|
+
__version__ = '1.0.0.dev20251015'
|
|
41
41
|
__root_dir__ = directory_utils.get_sky_dir()
|
|
42
42
|
|
|
43
43
|
|
sky/backends/backend_utils.py
CHANGED
|
@@ -3340,7 +3340,10 @@ def get_clusters(
|
|
|
3340
3340
|
force_refresh_statuses=force_refresh_statuses,
|
|
3341
3341
|
include_user_info=True,
|
|
3342
3342
|
summary_response=summary_response)
|
|
3343
|
-
if
|
|
3343
|
+
# record may be None if the cluster is deleted during refresh,
|
|
3344
|
+
# e.g. all the Pods of a cluster on Kubernetes have been
|
|
3345
|
+
# deleted before refresh.
|
|
3346
|
+
if record is not None and 'error' not in record:
|
|
3344
3347
|
_update_records_with_handle_info([record])
|
|
3345
3348
|
if include_credentials:
|
|
3346
3349
|
_update_records_with_credentials([record])
|
|
@@ -3360,37 +3363,48 @@ def get_clusters(
|
|
|
3360
3363
|
cluster_names_with_launch_request = {
|
|
3361
3364
|
request.cluster_name for request in requests
|
|
3362
3365
|
}
|
|
3366
|
+
# Preserve the index of the cluster name as it appears on "records"
|
|
3363
3367
|
cluster_names_without_launch_request = [
|
|
3364
|
-
|
|
3368
|
+
(i, cluster_name)
|
|
3369
|
+
for i, cluster_name in enumerate(cluster_names)
|
|
3365
3370
|
if cluster_name not in cluster_names_with_launch_request
|
|
3366
3371
|
]
|
|
3367
3372
|
# for clusters that have an active launch request, we do not refresh the status
|
|
3368
|
-
updated_records = [
|
|
3369
|
-
record for record in records
|
|
3370
|
-
if record['name'] in cluster_names_with_launch_request
|
|
3371
|
-
]
|
|
3373
|
+
updated_records = []
|
|
3372
3374
|
if len(cluster_names_without_launch_request) > 0:
|
|
3373
3375
|
with progress:
|
|
3374
3376
|
updated_records = subprocess_utils.run_in_parallel(
|
|
3375
|
-
_refresh_cluster_record,
|
|
3376
|
-
|
|
3377
|
+
_refresh_cluster_record, [
|
|
3378
|
+
cluster_name
|
|
3379
|
+
for _, cluster_name in cluster_names_without_launch_request
|
|
3380
|
+
])
|
|
3381
|
+
# Preserve the index of the cluster name as it appears on "records"
|
|
3382
|
+
# before filtering for clusters being launched.
|
|
3383
|
+
updated_records_dict: Dict[int, Optional[Dict[str, Any]]] = {
|
|
3384
|
+
cluster_names_without_launch_request[i][0]: updated_records[i]
|
|
3385
|
+
for i in range(len(cluster_names_without_launch_request))
|
|
3386
|
+
}
|
|
3377
3387
|
# Show information for removed clusters.
|
|
3378
3388
|
kept_records = []
|
|
3379
3389
|
autodown_clusters, remaining_clusters, failed_clusters = [], [], []
|
|
3380
3390
|
for i, record in enumerate(records):
|
|
3381
|
-
if
|
|
3391
|
+
if i not in updated_records_dict:
|
|
3392
|
+
# record was not refreshed, keep the original record
|
|
3393
|
+
kept_records.append(record)
|
|
3394
|
+
continue
|
|
3395
|
+
updated_record = updated_records_dict[i]
|
|
3396
|
+
if updated_record is None:
|
|
3382
3397
|
if record['to_down']:
|
|
3383
|
-
autodown_clusters.append(
|
|
3398
|
+
autodown_clusters.append(record['name'])
|
|
3384
3399
|
else:
|
|
3385
|
-
remaining_clusters.append(
|
|
3386
|
-
elif
|
|
3387
|
-
failed_clusters.append(
|
|
3388
|
-
(cluster_names[i], updated_records[i]['error']))
|
|
3400
|
+
remaining_clusters.append(record['name'])
|
|
3401
|
+
elif updated_record['status'] == 'UNKNOWN':
|
|
3402
|
+
failed_clusters.append((record['name'], updated_record['error']))
|
|
3389
3403
|
# Keep the original record if the status is unknown,
|
|
3390
3404
|
# so that the user can still see the cluster.
|
|
3391
3405
|
kept_records.append(record)
|
|
3392
3406
|
else:
|
|
3393
|
-
kept_records.append(
|
|
3407
|
+
kept_records.append(updated_record)
|
|
3394
3408
|
|
|
3395
3409
|
if autodown_clusters:
|
|
3396
3410
|
plural = 's' if len(autodown_clusters) > 1 else ''
|
|
@@ -605,7 +605,11 @@ class RayCodeGen:
|
|
|
605
605
|
# skip the scheduling step.
|
|
606
606
|
job_lib.scheduler.schedule_step()
|
|
607
607
|
|
|
608
|
-
|
|
608
|
+
# If some nodes are down and then new nodes are added after launching again,
|
|
609
|
+
# the result of `ray.nodes()` will include all the nodes, so we need to get
|
|
610
|
+
# the alive nodes.
|
|
611
|
+
alive_nodes = [n for n in ray.nodes() if 'Alive' in n and n['Alive']]
|
|
612
|
+
total_num_nodes = len(alive_nodes)
|
|
609
613
|
setup_bundles = [{{"CPU": _SETUP_CPUS}} for _ in range(total_num_nodes)]
|
|
610
614
|
setup_pg = ray.util.placement_group(setup_bundles, strategy='STRICT_SPREAD')
|
|
611
615
|
setup_workers = [run_bash_command_with_log_and_return_pid \\
|
sky/dashboard/out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/_next/static/chunks/{webpack-66f23594d38c7f16.js → webpack-ac3a34c8f9fef041.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var t,e,n,r,c,o,u,i,f,a={},s={};function d(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={exports:{}},r=!0;try{a[t](n,n.exports,d),r=!1}finally{r&&delete s[t]}return n.exports}d.m=a,t=[],d.O=function(e,n,r,c){if(n){c=c||0;for(var o=t.length;o>0&&t[o-1][2]>c;o--)t[o]=t[o-1];t[o]=[n,r,c];return}for(var u=1/0,o=0;o<t.length;o++){for(var n=t[o][0],r=t[o][1],c=t[o][2],i=!0,f=0;f<n.length;f++)u>=c&&Object.keys(d.O).every(function(t){return d.O[t](n[f])})?n.splice(f--,1):(i=!1,c<u&&(u=c));if(i){t.splice(o--,1);var a=r();void 0!==a&&(e=a)}}return e},d.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return d.d(e,{a:e}),e},n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},d.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var c=Object.create(null);d.r(c);var o={};e=e||[null,n({}),n([]),n(n)];for(var u=2&r&&t;"object"==typeof u&&!~e.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(e){o[e]=function(){return t[e]}});return o.default=function(){return t},d.d(c,o),c},d.d=function(t,e){for(var n in e)d.o(e,n)&&!d.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},d.f={},d.e=function(t){return Promise.all(Object.keys(d.f).reduce(function(e,n){return d.f[n](t,e),e},[]))},d.u=function(t){return 2350===t?"static/chunks/2350.fab69e61bac57b23.js":2369===t?"static/chunks/2369.fc20f0c2c8ed9fe7.js":3937===t?"static/chunks/3937.210053269f121201.js":9025===t?"static/chunks/9025.c12318fb6a1a9093.js":4937===t?"static/chunks/4937.a2baa2df5572a276.js":3294===t?"static/chunks/3294.1fafbf42b3bcebff.js":8640===t?"static/chunks/8640.5b9475a2d18c5416.js":2755===t?"static/chunks/2755.97300e1362fe7c98.js":9847===t?"static/chunks/9847.3aaca6bb33455140.js":4725===t?"static/chunks/4725.10f7a9a5d3ea8208.js":
|
|
1
|
+
!function(){"use strict";var t,e,n,r,c,o,u,i,f,a={},s={};function d(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={exports:{}},r=!0;try{a[t](n,n.exports,d),r=!1}finally{r&&delete s[t]}return n.exports}d.m=a,t=[],d.O=function(e,n,r,c){if(n){c=c||0;for(var o=t.length;o>0&&t[o-1][2]>c;o--)t[o]=t[o-1];t[o]=[n,r,c];return}for(var u=1/0,o=0;o<t.length;o++){for(var n=t[o][0],r=t[o][1],c=t[o][2],i=!0,f=0;f<n.length;f++)u>=c&&Object.keys(d.O).every(function(t){return d.O[t](n[f])})?n.splice(f--,1):(i=!1,c<u&&(u=c));if(i){t.splice(o--,1);var a=r();void 0!==a&&(e=a)}}return e},d.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return d.d(e,{a:e}),e},n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},d.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var c=Object.create(null);d.r(c);var o={};e=e||[null,n({}),n([]),n(n)];for(var u=2&r&&t;"object"==typeof u&&!~e.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(e){o[e]=function(){return t[e]}});return o.default=function(){return t},d.d(c,o),c},d.d=function(t,e){for(var n in e)d.o(e,n)&&!d.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},d.f={},d.e=function(t){return Promise.all(Object.keys(d.f).reduce(function(e,n){return d.f[n](t,e),e},[]))},d.u=function(t){return 2350===t?"static/chunks/2350.fab69e61bac57b23.js":2369===t?"static/chunks/2369.fc20f0c2c8ed9fe7.js":3937===t?"static/chunks/3937.210053269f121201.js":9025===t?"static/chunks/9025.c12318fb6a1a9093.js":4937===t?"static/chunks/4937.a2baa2df5572a276.js":3294===t?"static/chunks/3294.1fafbf42b3bcebff.js":8640===t?"static/chunks/8640.5b9475a2d18c5416.js":2755===t?"static/chunks/2755.97300e1362fe7c98.js":9847===t?"static/chunks/9847.3aaca6bb33455140.js":4725===t?"static/chunks/4725.10f7a9a5d3ea8208.js":9360===t?"static/chunks/9360.71e83b2ddc844ec2.js":3785===t?"static/chunks/3785.a19328ba41517b8b.js":"static/chunks/"+t+"-"+({616:"3d59f75e2ccf9321",1121:"d0782b9251f0fcd3",1141:"3b40c39626f99c89",1272:"1ef0bf0237faccdb",1871:"49141c317f3a9020",3015:"7e0e8f06bb2f881c",3850:"ff4a9a69d978632b",5739:"d67458fcb1386c92",6130:"2be46d70a38f1e82",6135:"4b4d5e824b7f9d3c",6601:"06114c982db410b6",6856:"5fdc9b851a18acdb",6989:"01359c57e018caa4",6990:"f6818c84ed8f1c86",7359:"c8d04e06886000b3",7411:"b15471acd2cba716",8969:"66237729cdf9749e"})[t]+".js"},d.miniCssF=function(t){},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),d.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r={},c="_N_E:",d.l=function(t,e,n,o){if(r[t]){r[t].push(e);return}if(void 0!==n)for(var u,i,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var s=f[a];if(s.getAttribute("src")==t||s.getAttribute("data-webpack")==c+n){u=s;break}}u||(i=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,d.nc&&u.setAttribute("nonce",d.nc),u.setAttribute("data-webpack",c+n),u.src=d.tu(t)),r[t]=[e];var b=function(e,n){u.onerror=u.onload=null,clearTimeout(l);var c=r[t];if(delete r[t],u.parentNode&&u.parentNode.removeChild(u),c&&c.forEach(function(t){return t(n)}),e)return e(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),i&&document.head.appendChild(u)},d.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},d.tt=function(){return void 0===o&&(o={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},d.tu=function(t){return d.tt().createScriptURL(t)},d.p="/dashboard/_next/",u={2272:0},d.f.j=function(t,e){var n=d.o(u,t)?u[t]:void 0;if(0!==n){if(n)e.push(n[2]);else if(2272!=t){var r=new Promise(function(e,r){n=u[t]=[e,r]});e.push(n[2]=r);var c=d.p+d.u(t),o=Error();d.l(c,function(e){if(d.o(u,t)&&(0!==(n=u[t])&&(u[t]=void 0),n)){var r=e&&("load"===e.type?"missing":e.type),c=e&&e.target&&e.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+c+")",o.name="ChunkLoadError",o.type=r,o.request=c,n[1](o)}},"chunk-"+t,t)}else u[t]=0}},d.O.j=function(t){return 0===u[t]},i=function(t,e){var n,r,c=e[0],o=e[1],i=e[2],f=0;if(c.some(function(t){return 0!==u[t]})){for(n in o)d.o(o,n)&&(d.m[n]=o[n]);if(i)var a=i(d)}for(t&&t(e);f<c.length;f++)r=c[f],d.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return d.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(i.bind(null,0)),f.push=i.bind(null,f.push.bind(f)),d.nc=void 0}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8f058b0346db2aff.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-5fdc9b851a18acdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-49141c317f3a9020.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-477555ab7c0b13d8.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/clusters.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/config.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-553b8b5cb65e100b.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/infra.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-910a22500c50596f.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-e5c9ce6a24fc0de4.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-bc979970c247d8f3.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/pools/[pool]","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/jobs.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/users.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-98d2ed979084162a.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/dashboard/out/volumes.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-835d14ba94808f79.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-3b40c39626f99c89.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-e8688c35c06f0ac5.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-ac3a34c8f9fef041.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"-bih7JVStsXyeasac-dvQ","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
sky/provision/common.py
CHANGED
|
@@ -97,6 +97,8 @@ class InstanceInfo:
|
|
|
97
97
|
external_ip: Optional[str]
|
|
98
98
|
tags: Dict[str, str]
|
|
99
99
|
ssh_port: int = 22
|
|
100
|
+
# The internal service address of the instance on Kubernetes.
|
|
101
|
+
internal_svc: Optional[str] = None
|
|
100
102
|
|
|
101
103
|
def get_feasible_ip(self) -> str:
|
|
102
104
|
"""Get the most feasible IPs of the instance. This function returns
|
sky/provision/instance_setup.py
CHANGED
|
@@ -434,8 +434,16 @@ def start_ray_on_worker_nodes(cluster_name: str, no_restart: bool,
|
|
|
434
434
|
# use the external IP of the head node.
|
|
435
435
|
use_external_ip = cluster_info.custom_ray_options.pop(
|
|
436
436
|
'use_external_ip', False)
|
|
437
|
-
|
|
438
|
-
|
|
437
|
+
|
|
438
|
+
if use_external_ip:
|
|
439
|
+
head_ip = head_instance.external_ip
|
|
440
|
+
else:
|
|
441
|
+
# For Kubernetes, use the internal service address of the head node.
|
|
442
|
+
# Keep this consistent with the logic in kubernetes-ray.yml.j2
|
|
443
|
+
if head_instance.internal_svc:
|
|
444
|
+
head_ip = head_instance.internal_svc
|
|
445
|
+
else:
|
|
446
|
+
head_ip = head_instance.internal_ip
|
|
439
447
|
|
|
440
448
|
ray_cmd = ray_worker_start_command(custom_resource,
|
|
441
449
|
cluster_info.custom_ray_options,
|
|
@@ -959,12 +959,19 @@ def _create_pods(region: str, cluster_name: str, cluster_name_on_cloud: str,
|
|
|
959
959
|
|
|
960
960
|
def _create_resource_thread(i: int):
|
|
961
961
|
pod_spec_copy = copy.deepcopy(pod_spec)
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
962
|
+
# 0 is for head pod, while 1+ is for worker pods.
|
|
963
|
+
if i == 0:
|
|
964
|
+
if head_pod_name is None:
|
|
965
|
+
# First pod should be head if no head exists
|
|
966
|
+
pod_spec_copy['metadata']['labels'].update(
|
|
967
|
+
constants.HEAD_NODE_TAGS)
|
|
968
|
+
head_selector = _head_service_selector(cluster_name_on_cloud)
|
|
969
|
+
pod_spec_copy['metadata']['labels'].update(head_selector)
|
|
970
|
+
pod_spec_copy['metadata'][
|
|
971
|
+
'name'] = f'{cluster_name_on_cloud}-head'
|
|
972
|
+
else:
|
|
973
|
+
# If head pod already exists, we skip creating it.
|
|
974
|
+
return
|
|
968
975
|
else:
|
|
969
976
|
# Worker pods
|
|
970
977
|
pod_spec_copy['metadata']['labels'].update(
|
|
@@ -1105,9 +1112,16 @@ def _create_pods(region: str, cluster_name: str, cluster_name_on_cloud: str,
|
|
|
1105
1112
|
'and then up the cluster again.')
|
|
1106
1113
|
raise exceptions.InconsistentHighAvailabilityError(message)
|
|
1107
1114
|
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1115
|
+
created_resources = []
|
|
1116
|
+
if to_start_count > 0:
|
|
1117
|
+
# Create pods in parallel.
|
|
1118
|
+
# Use `config.count` instead of `to_start_count` to keep the index of
|
|
1119
|
+
# the Pods consistent especially for the case where some Pods are down
|
|
1120
|
+
# due to node failure or manual termination, etc. and then launch
|
|
1121
|
+
# again to create the Pods back.
|
|
1122
|
+
# The existing Pods will be skipped in _create_resource_thread.
|
|
1123
|
+
created_resources = subprocess_utils.run_in_parallel(
|
|
1124
|
+
_create_resource_thread, list(range(config.count)), _NUM_THREADS)
|
|
1111
1125
|
|
|
1112
1126
|
if to_create_deployment:
|
|
1113
1127
|
deployments = copy.deepcopy(created_resources)
|
|
@@ -1350,6 +1364,9 @@ def get_cluster_info(
|
|
|
1350
1364
|
external_ip=None,
|
|
1351
1365
|
ssh_port=port,
|
|
1352
1366
|
tags=pod.metadata.labels,
|
|
1367
|
+
# TODO(hailong): `cluster.local` may need to be configurable
|
|
1368
|
+
# Service name is same as the pod name for now.
|
|
1369
|
+
internal_svc=f'{pod_name}.{namespace}.svc.cluster.local',
|
|
1353
1370
|
)
|
|
1354
1371
|
]
|
|
1355
1372
|
if _is_head(pod):
|
|
@@ -1388,6 +1405,13 @@ def get_cluster_info(
|
|
|
1388
1405
|
logger.debug(
|
|
1389
1406
|
f'Using ssh user {ssh_user} for cluster {cluster_name_on_cloud}')
|
|
1390
1407
|
|
|
1408
|
+
# cpu_request may be a string like `100m`, need to parse and convert
|
|
1409
|
+
num_cpus = kubernetes_utils.parse_cpu_or_gpu_resource_to_float(cpu_request)
|
|
1410
|
+
# 'num-cpus' for ray must be an integer, but we should not set it to 0 if
|
|
1411
|
+
# cpus is <1.
|
|
1412
|
+
# Keep consistent with the logic in clouds/kubernetes.py
|
|
1413
|
+
str_cpus = str(max(int(num_cpus), 1))
|
|
1414
|
+
|
|
1391
1415
|
return common.ClusterInfo(
|
|
1392
1416
|
instances=pods,
|
|
1393
1417
|
head_instance_id=head_pod_name,
|
|
@@ -1397,7 +1421,7 @@ def get_cluster_info(
|
|
|
1397
1421
|
# problems for other pods.
|
|
1398
1422
|
custom_ray_options={
|
|
1399
1423
|
'object-store-memory': 500000000,
|
|
1400
|
-
'num-cpus':
|
|
1424
|
+
'num-cpus': str_cpus,
|
|
1401
1425
|
},
|
|
1402
1426
|
provider_name='kubernetes',
|
|
1403
1427
|
provider_config=provider_config)
|
|
@@ -2241,6 +2241,15 @@ def get_kube_config_context_namespace(
|
|
|
2241
2241
|
return DEFAULT_NAMESPACE
|
|
2242
2242
|
|
|
2243
2243
|
|
|
2244
|
+
def parse_cpu_or_gpu_resource_to_float(resource_str: str) -> float:
|
|
2245
|
+
if not resource_str:
|
|
2246
|
+
return 0.0
|
|
2247
|
+
if resource_str[-1] == 'm':
|
|
2248
|
+
return float(resource_str[:-1]) / 1000
|
|
2249
|
+
else:
|
|
2250
|
+
return float(resource_str)
|
|
2251
|
+
|
|
2252
|
+
|
|
2244
2253
|
def parse_cpu_or_gpu_resource(resource_qty_str: str) -> Union[int, float]:
|
|
2245
2254
|
resource_str = str(resource_qty_str)
|
|
2246
2255
|
if resource_str[-1] == 'm':
|
|
@@ -112,10 +112,8 @@ class Precondition(abc.ABC):
|
|
|
112
112
|
return True
|
|
113
113
|
if status_msg is not None and status_msg != last_status_msg:
|
|
114
114
|
# 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
|
|
115
|
+
await api_requests.update_status_msg_async(
|
|
116
|
+
self.request_id, status_msg)
|
|
119
117
|
last_status_msg = status_msg
|
|
120
118
|
except (Exception, SystemExit, KeyboardInterrupt) as e: # pylint: disable=broad-except
|
|
121
119
|
api_requests.set_request_failed(self.request_id, e)
|
sky/server/requests/requests.py
CHANGED
|
@@ -14,8 +14,8 @@ import sqlite3
|
|
|
14
14
|
import threading
|
|
15
15
|
import time
|
|
16
16
|
import traceback
|
|
17
|
-
from typing import (Any,
|
|
18
|
-
|
|
17
|
+
from typing import (Any, Callable, Dict, Generator, List, NamedTuple, Optional,
|
|
18
|
+
Tuple)
|
|
19
19
|
|
|
20
20
|
import anyio
|
|
21
21
|
import colorama
|
|
@@ -32,6 +32,7 @@ from sky.server import daemons
|
|
|
32
32
|
from sky.server.requests import payloads
|
|
33
33
|
from sky.server.requests.serializers import decoders
|
|
34
34
|
from sky.server.requests.serializers import encoders
|
|
35
|
+
from sky.utils import asyncio_utils
|
|
35
36
|
from sky.utils import common_utils
|
|
36
37
|
from sky.utils import ux_utils
|
|
37
38
|
from sky.utils.db import db_utils
|
|
@@ -578,27 +579,14 @@ def update_request(request_id: str) -> Generator[Optional[Request], None, None]:
|
|
|
578
579
|
|
|
579
580
|
@init_db
|
|
580
581
|
@metrics_lib.time_me
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
"""
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
@contextlib.asynccontextmanager
|
|
590
|
-
async def _cm():
|
|
591
|
-
# Acquire the lock to avoid race conditions between multiple request
|
|
592
|
-
# operations, e.g. execute and cancel.
|
|
593
|
-
async with filelock.AsyncFileLock(request_lock_path(request_id)):
|
|
594
|
-
request = await _get_request_no_lock_async(request_id)
|
|
595
|
-
try:
|
|
596
|
-
yield request
|
|
597
|
-
finally:
|
|
598
|
-
if request is not None:
|
|
599
|
-
await _add_or_update_request_no_lock_async(request)
|
|
600
|
-
|
|
601
|
-
return _cm()
|
|
582
|
+
@asyncio_utils.shield
|
|
583
|
+
async def update_status_msg_async(request_id: str, status_msg: str) -> None:
|
|
584
|
+
"""Update the status message of a request"""
|
|
585
|
+
async with filelock.AsyncFileLock(request_lock_path(request_id)):
|
|
586
|
+
request = await _get_request_no_lock_async(request_id)
|
|
587
|
+
if request is not None:
|
|
588
|
+
request.status_msg = status_msg
|
|
589
|
+
await _add_or_update_request_no_lock_async(request)
|
|
602
590
|
|
|
603
591
|
|
|
604
592
|
_get_request_sql = (f'SELECT {", ".join(REQUEST_COLUMNS)} FROM {REQUEST_TABLE} '
|
|
@@ -651,6 +639,7 @@ def get_request(request_id: str) -> Optional[Request]:
|
|
|
651
639
|
|
|
652
640
|
@init_db_async
|
|
653
641
|
@metrics_lib.time_me_async
|
|
642
|
+
@asyncio_utils.shield
|
|
654
643
|
async def get_request_async(request_id: str) -> Optional[Request]:
|
|
655
644
|
"""Async version of get_request."""
|
|
656
645
|
async with filelock.AsyncFileLock(request_lock_path(request_id)):
|
|
@@ -704,6 +693,7 @@ def create_if_not_exists(request: Request) -> bool:
|
|
|
704
693
|
|
|
705
694
|
@init_db_async
|
|
706
695
|
@metrics_lib.time_me_async
|
|
696
|
+
@asyncio_utils.shield
|
|
707
697
|
async def create_if_not_exists_async(request: Request) -> bool:
|
|
708
698
|
"""Async version of create_if_not_exists."""
|
|
709
699
|
async with filelock.AsyncFileLock(request_lock_path(request.request_id)):
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Asyncio utilities."""
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import functools
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def shield(func):
|
|
8
|
+
"""Shield the decorated async function from cancellation.
|
|
9
|
+
|
|
10
|
+
Note that filelock.AsyncFileLock is not cancellation safe, thus the
|
|
11
|
+
function calls filelock.AsyncFileLock must be shielded.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
@functools.wraps(func)
|
|
15
|
+
async def async_wrapper(*args, **kwargs):
|
|
16
|
+
return await asyncio.shield(func(*args, **kwargs))
|
|
17
|
+
|
|
18
|
+
return async_wrapper
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skypilot-nightly
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev20251015
|
|
4
4
|
Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
|
|
5
5
|
Author: SkyPilot Team
|
|
6
6
|
License: Apache 2.0
|
|
@@ -156,51 +156,51 @@ Requires-Dist: aiosqlite; extra == "server"
|
|
|
156
156
|
Requires-Dist: greenlet; extra == "server"
|
|
157
157
|
Provides-Extra: shadeform
|
|
158
158
|
Provides-Extra: all
|
|
159
|
-
Requires-Dist:
|
|
160
|
-
Requires-Dist:
|
|
161
|
-
Requires-Dist:
|
|
162
|
-
Requires-Dist:
|
|
163
|
-
Requires-Dist:
|
|
164
|
-
Requires-Dist:
|
|
165
|
-
Requires-Dist: awscli>=1.27.10; extra == "all"
|
|
166
|
-
Requires-Dist: azure-common; extra == "all"
|
|
167
|
-
Requires-Dist: azure-core>=1.24.0; extra == "all"
|
|
168
|
-
Requires-Dist: colorama<0.4.5; extra == "all"
|
|
159
|
+
Requires-Dist: pydo>=0.3.0; extra == "all"
|
|
160
|
+
Requires-Dist: tomli; python_version < "3.11" and extra == "all"
|
|
161
|
+
Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
|
|
162
|
+
Requires-Dist: aiohttp; extra == "all"
|
|
163
|
+
Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
|
|
164
|
+
Requires-Dist: google-cloud-storage; extra == "all"
|
|
169
165
|
Requires-Dist: pyjwt; extra == "all"
|
|
170
|
-
Requires-Dist:
|
|
171
|
-
Requires-Dist: ray[default]>=2.6.1; extra == "all"
|
|
172
|
-
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
|
|
173
|
-
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
|
|
166
|
+
Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
|
|
174
167
|
Requires-Dist: websockets; extra == "all"
|
|
175
|
-
Requires-Dist:
|
|
176
|
-
Requires-Dist:
|
|
177
|
-
Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
|
|
178
|
-
Requires-Dist: ecsapi>=0.2.0; extra == "all"
|
|
168
|
+
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
|
|
169
|
+
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
|
|
179
170
|
Requires-Dist: msgraph-sdk; extra == "all"
|
|
180
|
-
Requires-Dist:
|
|
181
|
-
Requires-Dist:
|
|
182
|
-
Requires-Dist:
|
|
171
|
+
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
172
|
+
Requires-Dist: azure-core>=1.31.0; extra == "all"
|
|
173
|
+
Requires-Dist: aiosqlite; extra == "all"
|
|
183
174
|
Requires-Dist: ibm-vpc; extra == "all"
|
|
184
|
-
Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
|
|
185
175
|
Requires-Dist: ibm-cloud-sdk-core; extra == "all"
|
|
186
|
-
Requires-Dist: azure-
|
|
187
|
-
Requires-Dist:
|
|
176
|
+
Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
|
|
177
|
+
Requires-Dist: sqlalchemy_adapter; extra == "all"
|
|
178
|
+
Requires-Dist: oci; extra == "all"
|
|
188
179
|
Requires-Dist: grpcio>=1.63.0; extra == "all"
|
|
180
|
+
Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
|
|
181
|
+
Requires-Dist: colorama<0.4.5; extra == "all"
|
|
182
|
+
Requires-Dist: python-dateutil; extra == "all"
|
|
183
|
+
Requires-Dist: cudo-compute>=0.1.10; extra == "all"
|
|
184
|
+
Requires-Dist: botocore>=1.29.10; extra == "all"
|
|
185
|
+
Requires-Dist: azure-core>=1.24.0; extra == "all"
|
|
186
|
+
Requires-Dist: awscli>=1.27.10; extra == "all"
|
|
187
|
+
Requires-Dist: passlib; extra == "all"
|
|
188
|
+
Requires-Dist: msrestazure; extra == "all"
|
|
189
|
+
Requires-Dist: ray[default]>=2.6.1; extra == "all"
|
|
190
|
+
Requires-Dist: greenlet; extra == "all"
|
|
189
191
|
Requires-Dist: docker; extra == "all"
|
|
190
|
-
Requires-Dist:
|
|
191
|
-
Requires-Dist: aiohttp; extra == "all"
|
|
192
|
-
Requires-Dist: tomli; python_version < "3.11" and extra == "all"
|
|
193
|
-
Requires-Dist: google-cloud-storage; extra == "all"
|
|
194
|
-
Requires-Dist: pydo>=0.3.0; extra == "all"
|
|
195
|
-
Requires-Dist: oci; extra == "all"
|
|
196
|
-
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
192
|
+
Requires-Dist: ecsapi>=0.2.0; extra == "all"
|
|
197
193
|
Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
|
|
198
|
-
Requires-Dist: cudo-compute>=0.1.10; extra == "all"
|
|
199
194
|
Requires-Dist: ibm-cos-sdk; extra == "all"
|
|
200
|
-
Requires-Dist:
|
|
195
|
+
Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
|
|
196
|
+
Requires-Dist: casbin; extra == "all"
|
|
201
197
|
Requires-Dist: boto3>=1.26.1; extra == "all"
|
|
202
|
-
Requires-Dist:
|
|
203
|
-
Requires-Dist:
|
|
198
|
+
Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
|
|
199
|
+
Requires-Dist: nebius>=0.2.47; extra == "all"
|
|
200
|
+
Requires-Dist: azure-identity>=1.19.0; extra == "all"
|
|
201
|
+
Requires-Dist: azure-cli>=2.65.0; extra == "all"
|
|
202
|
+
Requires-Dist: azure-common; extra == "all"
|
|
203
|
+
Requires-Dist: anyio; extra == "all"
|
|
204
204
|
Dynamic: author
|
|
205
205
|
Dynamic: classifier
|
|
206
206
|
Dynamic: description
|
|
@@ -250,6 +250,7 @@ Dynamic: summary
|
|
|
250
250
|
----
|
|
251
251
|
|
|
252
252
|
:fire: *News* :fire:
|
|
253
|
+
- [Oct 2025] Train and serve [Andrej Karpathy's](https://x.com/karpathy/status/1977755427569111362) **nanochat** - the best ChatGPT that $100 can buy: [**example**](./llm/nanochat)
|
|
253
254
|
- [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./examples/training/torchtitan)
|
|
254
255
|
- [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
|
|
255
256
|
- [Sep 2025] Network and Storage Benchmarks for LLM training on the cloud: [**blog**](https://maknee.github.io/blog/2025/Network-And-Storage-Training-Skypilot/)
|
{skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/RECORD
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sky/__init__.py,sha256=
|
|
1
|
+
sky/__init__.py,sha256=2EggPl-0SLMdeXoEZ9vjvk7pesAy9L5l3HV_UV_Jkec,6759
|
|
2
2
|
sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
|
|
3
3
|
sky/authentication.py,sha256=GSwh3wfodBqn8FtBcrqSw2UZZEwW8dKqXN3ubFAiqBw,25879
|
|
4
4
|
sky/check.py,sha256=hBDTkiADC3HFfO6brZV819FVWcdOs3aiuhB6x6mY4Q4,29728
|
|
@@ -38,8 +38,8 @@ sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
|
|
|
38
38
|
sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
|
|
39
39
|
sky/backends/__init__.py,sha256=l1xXpkzPFMma0ZkT4GzVMu7uvgS3AsECg6zLc0S3JHQ,702
|
|
40
40
|
sky/backends/backend.py,sha256=zmF6TuKtUwzsP1hq0TI9nuuUySlPc9sgeW6F4GC8Ckk,8352
|
|
41
|
-
sky/backends/backend_utils.py,sha256=
|
|
42
|
-
sky/backends/cloud_vm_ray_backend.py,sha256=
|
|
41
|
+
sky/backends/backend_utils.py,sha256=cWR5Q0ZAsXOt6xDGhGAFIX2z6mhMnDFp0nYP6rA44Iw,178964
|
|
42
|
+
sky/backends/cloud_vm_ray_backend.py,sha256=LsBGwAwa50kUJzNV79gkYEU-nkt5KgSv5GjvQk9bfnA,308745
|
|
43
43
|
sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
|
|
44
44
|
sky/backends/local_docker_backend.py,sha256=ncc8-WJrMRnqPl9fzvGr-nftIz7tTzKtUi-p_z_nH60,17366
|
|
45
45
|
sky/backends/wheel_utils.py,sha256=DE71Muq5qLRhGpCVg1Rb6YOI7S_BzT8Hak27Pz8L4yw,12486
|
|
@@ -123,19 +123,19 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
|
|
|
123
123
|
sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
|
|
124
124
|
sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
|
|
125
125
|
sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
|
|
126
|
-
sky/dashboard/out/404.html,sha256=
|
|
127
|
-
sky/dashboard/out/clusters.html,sha256=
|
|
128
|
-
sky/dashboard/out/config.html,sha256=
|
|
126
|
+
sky/dashboard/out/404.html,sha256=16qR5-0_FTMIk1o9-fLNyE2DKb2Gofq40LafdIT2TaQ,1423
|
|
127
|
+
sky/dashboard/out/clusters.html,sha256=R01X98Aw0W5y3VqVqjeMRy3_Kped6GgbTn1HVbwKndE,1418
|
|
128
|
+
sky/dashboard/out/config.html,sha256=wc99c0cS8oefbChV6oAEhpztOBurcGaLin71oUU_kJU,1414
|
|
129
129
|
sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
|
|
130
|
-
sky/dashboard/out/index.html,sha256=
|
|
131
|
-
sky/dashboard/out/infra.html,sha256=
|
|
132
|
-
sky/dashboard/out/jobs.html,sha256=
|
|
130
|
+
sky/dashboard/out/index.html,sha256=gv0-QZafebN7opYgElFwlcCR2xt6QS70SpjjgPcM6bs,1407
|
|
131
|
+
sky/dashboard/out/infra.html,sha256=4oObWmvO7Euf4s5g52YTN28_m8hx9rIu0qV9K2pchaI,1412
|
|
132
|
+
sky/dashboard/out/jobs.html,sha256=tu7IOfmN1m69MkdXwNDNYnXl9XQpohL2vqlu1pcQO98,1410
|
|
133
133
|
sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
|
|
134
|
-
sky/dashboard/out/users.html,sha256=
|
|
135
|
-
sky/dashboard/out/volumes.html,sha256=
|
|
136
|
-
sky/dashboard/out/workspaces.html,sha256=
|
|
137
|
-
sky/dashboard/out/_next/static/
|
|
138
|
-
sky/dashboard/out/_next/static/
|
|
134
|
+
sky/dashboard/out/users.html,sha256=AorhdugbjFVwbBWtM1VI2ySTpRYuaaKzIFJNCvHp7Nk,1412
|
|
135
|
+
sky/dashboard/out/volumes.html,sha256=W9I8guNmqJQ33iPV9W9D-cEnOZJ2dYTTPQnDgFNLYBc,1416
|
|
136
|
+
sky/dashboard/out/workspaces.html,sha256=ifj1HyvrkfrG4vsHSSLo8YSkuiwAwPX409RoQMf3AB8,1422
|
|
137
|
+
sky/dashboard/out/_next/static/-bih7JVStsXyeasac-dvQ/_buildManifest.js,sha256=1ombZKzLAegWk-mEKBFMtiwI-xk8sWY2rYidGQBNj7Y,2394
|
|
138
|
+
sky/dashboard/out/_next/static/-bih7JVStsXyeasac-dvQ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
|
139
139
|
sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js,sha256=jIvnDxaTleAz3HdZK9-RScSB0ZMg8-D63KQmn8avaHI,8883
|
|
140
140
|
sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js,sha256=M5vM2c9SRPEly-CQj0Vj7wJzyFSyuALDik9KFLXWmec,18285
|
|
141
141
|
sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
|
|
@@ -171,7 +171,7 @@ sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_Qbam
|
|
|
171
171
|
sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
|
|
172
172
|
sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
|
|
173
173
|
sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
|
174
|
-
sky/dashboard/out/_next/static/chunks/webpack-
|
|
174
|
+
sky/dashboard/out/_next/static/chunks/webpack-ac3a34c8f9fef041.js,sha256=lB59I24ZAyv24WfqSZkvHAqb98mvwQCOjNwZoA8CUrw,4770
|
|
175
175
|
sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
|
|
176
176
|
sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
|
177
177
|
sky/dashboard/out/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js,sha256=oo_EAAsi1TLXO-art_64PTCZjakwl-7wVUZnB3-SJK8,869
|
|
@@ -190,14 +190,14 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-bc979970c247d8f3.j
|
|
|
190
190
|
sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
|
|
191
191
|
sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-e8688c35c06f0ac5.js,sha256=TVmk0pD0iszL39u2Ru56HLEFFLO648NeT2KbEcW5X5o,1495
|
|
192
192
|
sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
|
|
193
|
-
sky/dashboard/out/clusters/[cluster].html,sha256=
|
|
194
|
-
sky/dashboard/out/clusters/[cluster]/[job].html,sha256=
|
|
195
|
-
sky/dashboard/out/infra/[context].html,sha256=
|
|
196
|
-
sky/dashboard/out/jobs/[job].html,sha256=
|
|
197
|
-
sky/dashboard/out/jobs/pools/[pool].html,sha256=
|
|
193
|
+
sky/dashboard/out/clusters/[cluster].html,sha256=elINV0nrYc4n_aGd5TkaS0J6dyC0etiUkFCqez8LZcs,2937
|
|
194
|
+
sky/dashboard/out/clusters/[cluster]/[job].html,sha256=4ZVw19I3WJUDUdULEY6QdMcJ93rRBegraScZ97XBHg0,2073
|
|
195
|
+
sky/dashboard/out/infra/[context].html,sha256=lIONaHuehCUiJ13gntfkNvxFUeA9e9E44bj_dgNIk1U,1436
|
|
196
|
+
sky/dashboard/out/jobs/[job].html,sha256=SavWM39Gbidgu4KvCUO6rbEdV4lcuhdTrYlY_3K-3ck,2305
|
|
197
|
+
sky/dashboard/out/jobs/pools/[pool].html,sha256=5_jqRJu3fUykryDtNyZGK_PHEWMkv013YqA5CXGY8FI,2143
|
|
198
198
|
sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
|
|
199
|
-
sky/dashboard/out/workspace/new.html,sha256=
|
|
200
|
-
sky/dashboard/out/workspaces/[name].html,sha256=
|
|
199
|
+
sky/dashboard/out/workspace/new.html,sha256=MIrr2do5mXYld-YF6S3_Lk0m9q_W5VMgtItOhrhZAIE,1428
|
|
200
|
+
sky/dashboard/out/workspaces/[name].html,sha256=a7MLMZZt66iIwSDEkrkxFGfOhwIqXg0d0WVllEDJo7A,2759
|
|
201
201
|
sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
|
|
202
202
|
sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
|
|
203
203
|
sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
|
|
@@ -225,10 +225,10 @@ sky/logs/gcp.py,sha256=eKVEcHO3FJRg_YTcE9omE8uAIF6AdBWWpkEPqWFAqXg,3857
|
|
|
225
225
|
sky/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
226
|
sky/metrics/utils.py,sha256=WvaOPWcHefbM-DKCj_dblpOBgobW5OIfl_mxEO08KPc,15605
|
|
227
227
|
sky/provision/__init__.py,sha256=JWdDenDcujRsvq2K6RFyk6SjLl0iAvlHfQIt0XPHdjU,9011
|
|
228
|
-
sky/provision/common.py,sha256=
|
|
228
|
+
sky/provision/common.py,sha256=B0Gc6D8Bo4debxCOKGup8LDdc1db99TzFQdAlcg2D8Q,10912
|
|
229
229
|
sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
|
|
230
230
|
sky/provision/docker_utils.py,sha256=DLot-fMAg7bQh_cgpcXjlD3tBvcOGbfyBezX-DzKHAM,24786
|
|
231
|
-
sky/provision/instance_setup.py,sha256=
|
|
231
|
+
sky/provision/instance_setup.py,sha256=xJy4802XzOWvyggcurSF_6zuS_aR2jgNhWAYo1WBbqA,28103
|
|
232
232
|
sky/provision/logging.py,sha256=_sx_TH6nLt0FF3myS5pEZbiMhXyl4s1XwMidu_TTBUw,2091
|
|
233
233
|
sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
|
|
234
234
|
sky/provision/provisioner.py,sha256=tc26bTCgp-uzeWx3F1mEwUrSP7tTVsc_ol-Wv9TulUA,33629
|
|
@@ -269,10 +269,10 @@ sky/provision/hyperbolic/utils.py,sha256=NCa3ULvIi64-YHYoOnPd3SShlJ6VuQsEwaTBqHF
|
|
|
269
269
|
sky/provision/kubernetes/__init__.py,sha256=xUHCbN5fkbnM5_E1trFHHOndTsvEwBdi-8qvvpK92io,1030
|
|
270
270
|
sky/provision/kubernetes/config.py,sha256=iY6WfgmRK_z5mzHGe_8hQS2Op3qKmZ18UY2MgArIGRE,27782
|
|
271
271
|
sky/provision/kubernetes/constants.py,sha256=vZJQsAVjAgwsOskB48tIFSXtNw7IFnJOQE_H6N-vOYQ,1130
|
|
272
|
-
sky/provision/kubernetes/instance.py,sha256=
|
|
272
|
+
sky/provision/kubernetes/instance.py,sha256=VK8zbeNExCQC4UkDyDmy9Gs2JaXWBGEQ4nlKOptVjWU,76932
|
|
273
273
|
sky/provision/kubernetes/network.py,sha256=Dgj8u7IQBHKHt-mSDhYzue1wfDk96FR_8fO89TwuZ2E,12846
|
|
274
274
|
sky/provision/kubernetes/network_utils.py,sha256=qFiACDq4S1WKMyVbxhGax-K2SJM-4viC8CyEzwvXt6c,11480
|
|
275
|
-
sky/provision/kubernetes/utils.py,sha256=
|
|
275
|
+
sky/provision/kubernetes/utils.py,sha256=8kfYAae6fqAA-gqsC-agUN5_QvdxLG3rZW4nhEefqIo,153961
|
|
276
276
|
sky/provision/kubernetes/volume.py,sha256=b5mozvUCw9rsGxiUS9LxR-MyELK-EQHYglJkGTFNobY,11473
|
|
277
277
|
sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=5oDGZUsDpO1B9E9JZptkakdIy7LWVR_CqHFFZpMulJE,1270
|
|
278
278
|
sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
|
|
@@ -411,9 +411,9 @@ sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
411
411
|
sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
|
|
412
412
|
sky/server/requests/executor.py,sha256=iBfURse_WFzEgpMQ7nm6Hf_ugXl21nvSaaBbqFT2D_o,35192
|
|
413
413
|
sky/server/requests/payloads.py,sha256=nhOGOk-AZApLQBdKLRAtQ3MF7WkJxBA-ZAuF9nMsCxk,28093
|
|
414
|
-
sky/server/requests/preconditions.py,sha256=
|
|
414
|
+
sky/server/requests/preconditions.py,sha256=8Hm1IDG0jF1mg0rr82SsLEHkpWrbQgwBAy77M8U34iQ,7165
|
|
415
415
|
sky/server/requests/process.py,sha256=UpJp5rZizNMFRCNRtudFSjbcJhFarFbtAGDWI9x_ZyE,13197
|
|
416
|
-
sky/server/requests/requests.py,sha256=
|
|
416
|
+
sky/server/requests/requests.py,sha256=8IWTyRTpRT__goshZCiM4jWjzTnMlTzgrOLUMENjHVc,35273
|
|
417
417
|
sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
418
418
|
sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
|
|
419
419
|
sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
|
|
@@ -502,6 +502,7 @@ sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
502
502
|
sky/utils/accelerator_registry.py,sha256=DUG-KA6LTNvcadD18DK6hjBhqjlfp8FxymhxYSdw-QM,4955
|
|
503
503
|
sky/utils/admin_policy_utils.py,sha256=VkE3FGzv5a7KnRO0R1PX0buJ274vF__n1xgXJ_9ykTs,7105
|
|
504
504
|
sky/utils/annotations.py,sha256=No49yFuNIGtFgxU1bmBh2REx_Yn08o7Is-c56QynDIs,1910
|
|
505
|
+
sky/utils/asyncio_utils.py,sha256=5iydD0HIHZLMAGk-uD3VyweEUsi3qDy1LHuNjHdsUC4,440
|
|
505
506
|
sky/utils/atomic.py,sha256=vrw-7XCnckF0xCx-ttamao7evPdGtVsnjaTtgMlBXIE,1280
|
|
506
507
|
sky/utils/benchmark_utils.py,sha256=vBqvgS-7XBat9N4UvtmxXS70i2EQUa4BUv4fsF8g58A,1635
|
|
507
508
|
sky/utils/cluster_utils.py,sha256=PxVIVCBPA8qKkKvrF7bImDC1jhUZeJDADYtV-ELTZXE,15527
|
|
@@ -575,9 +576,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
575
576
|
sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
|
|
576
577
|
sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
|
|
577
578
|
sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
|
|
578
|
-
skypilot_nightly-1.0.0.
|
|
579
|
-
skypilot_nightly-1.0.0.
|
|
580
|
-
skypilot_nightly-1.0.0.
|
|
581
|
-
skypilot_nightly-1.0.0.
|
|
582
|
-
skypilot_nightly-1.0.0.
|
|
583
|
-
skypilot_nightly-1.0.0.
|
|
579
|
+
skypilot_nightly-1.0.0.dev20251015.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
|
|
580
|
+
skypilot_nightly-1.0.0.dev20251015.dist-info/METADATA,sha256=-gMMnpX6LV-bOoMVLxkblJrfG6EB0RtXZm1qfKaPvvM,20779
|
|
581
|
+
skypilot_nightly-1.0.0.dev20251015.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
582
|
+
skypilot_nightly-1.0.0.dev20251015.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
|
|
583
|
+
skypilot_nightly-1.0.0.dev20251015.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
|
|
584
|
+
skypilot_nightly-1.0.0.dev20251015.dist-info/RECORD,,
|
/sky/dashboard/out/_next/static/{9Fek73R28lDp1A5J4N7g7 → -bih7JVStsXyeasac-dvQ}/_buildManifest.js
RENAMED
|
File without changes
|
/sky/dashboard/out/_next/static/{9Fek73R28lDp1A5J4N7g7 → -bih7JVStsXyeasac-dvQ}/_ssgManifest.js
RENAMED
|
File without changes
|
{skypilot_nightly-1.0.0.dev20251014.dist-info → skypilot_nightly-1.0.0.dev20251015.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|