Skip to content

Commit 13e506b

Browse files
authored
[release] remove deprecations for 0.10 and 0.11 (#8061)
* [release] remove deprecations for 0.10 and 0.11 * lint * minor updates * test fixes * revert docs changes * revert skypilot-cluster label removal - bump to 0.12.0
1 parent 5a380e9 commit 13e506b

File tree

32 files changed

+192
-793
lines changed

32 files changed

+192
-793
lines changed

charts/external-metrics/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ prometheus:
1111
size: 10Gi
1212
kube-state-metrics:
1313
enabled: true
14-
# TODO (kyuds): remove skypilot-cluster label in v0.11.0; deprecated in favor of skypilot-cluster-name.
14+
# TODO (kyuds): remove skypilot-cluster label in v0.12.0; deprecated in favor of skypilot-cluster-name.
1515
metricLabelsAllowlist:
1616
- pods=[skypilot-cluster,skypilot-cluster-name]
1717
prometheus-node-exporter:

charts/skypilot/templates/api-deployment.yaml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -226,18 +226,8 @@ spec:
226226
done
227227
{{- end }}
228228
229-
if sky api start -h | grep -q -- "--foreground"; then
230-
mkdir -p /root/.sky/api_server
231-
exec sky api start {{ include "skypilot.apiArgs" . }} --foreground 2>&1 | tee -a /root/.sky/api_server/server.log
232-
else
233-
# For backward compatibility, run in background if --foreground is not supported.
234-
# TODO(aylei): this will be dropped in 0.11.0.
235-
if sky api start {{ include "skypilot.apiArgs" . }}; then
236-
tail -n+0 -f /root/.sky/api_server/server.log
237-
else
238-
cat /root/.sky/api_server/server.log
239-
fi
240-
fi
229+
mkdir -p /root/.sky/api_server
230+
exec sky api start {{ include "skypilot.apiArgs" . }} --foreground 2>&1 | tee -a /root/.sky/api_server/server.log
241231
ports:
242232
- containerPort: 46580
243233
livenessProbe:

charts/skypilot/templates/ingress-nodeport.yaml

Lines changed: 0 additions & 40 deletions
This file was deleted.

charts/skypilot/templates/rbac.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
{{- if .Values.rbac.create }}
2-
{{/* TODO(aylei): removed in v0.11.0 */}}
3-
{{- if .Values.rbac.rules }}
4-
{{- fail "`.rbac.rules` is deprecated. Please use `.rbac.namespaceRules` and `.rbac.clusterRules` instead" }}
5-
{{- end }}
62
---
73
apiVersion: v1
84
kind: ServiceAccount

charts/skypilot/values.schema.json

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -342,18 +342,6 @@
342342
"null"
343343
]
344344
},
345-
"httpNodePort": {
346-
"type": [
347-
"number",
348-
"null"
349-
]
350-
},
351-
"httpsNodePort": {
352-
"type": [
353-
"number",
354-
"null"
355-
]
356-
},
357345
"ingressClassName": {
358346
"type": "string"
359347
},

charts/skypilot/values.yaml

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -286,28 +286,6 @@ ingress:
286286
# @schema type: [object, null]
287287
annotations: null
288288

289-
# Whether enable an additional NodePort service for the ingress controller
290-
# Default to null for backward compatibility:
291-
# - For existing deployments, error out and ask users to set ingress.nodePortEnabled explicitly
292-
# - For new deployments, disable the NodePort service, equivalent to ingress.nodePortEnabled=false
293-
# So, for deployments that use default values, upgrade from 0.8.0 nightly will:
294-
# - Ask users to set ingress.nodePortEnabled explicitly
295-
# - Create a new LoadBalancer endpoint since ingress-nginx.controller.service.type is now default to LoadBalancer
296-
# It is recommended to keep only one endpoint by explicitly setting ingress.nodePortEnabled=false and switch to ingress-nginx.controller.service.type
297-
# if you are upgrading from 0.8.0 nightly.
298-
# Deprecated: use ingress-nginx.controller.service.type=NodePort instead
299-
# TODO(aylei): remove these fields in v0.10.0
300-
# @schema hidden: true
301-
nodePortEnabled: null
302-
# Specific nodePort to use for the ingress controller
303-
# If not set, Kubernetes will assign random ports in the NodePort range (default 30000-32767)
304-
# Deprecated: use ingress-nginx.controller.service.nodePorts.http instead
305-
# @schema type: [number, null]
306-
httpNodePort: 30050 # Set to null to automatically assign a random port
307-
# Deprecated: use ingress-nginx.controller.service.nodePorts.https instead
308-
# @schema type: [number, null]
309-
httpsNodePort: 30051 # Set to null to automatically assign a random port
310-
311289
# TODO(aylei): deprecate skypilot managed proxy auth to reduce our maintenance burden, replace with examples instead.
312290
# OAuth2 Proxy configuration for authentication
313291
oauth2-proxy:
@@ -617,7 +595,7 @@ prometheus:
617595
{{ end}}
618596
kube-state-metrics:
619597
enabled: true
620-
# TODO (kyuds): remove skypilot-cluster label in v0.11.0; deprecated in favor of skypilot-cluster-name.
598+
# TODO (kyuds): remove skypilot-cluster label in v0.12.0; deprecated in favor of skypilot-cluster-name.
621599
metricLabelsAllowlist:
622600
- pods=[skypilot-cluster,skypilot-cluster-name]
623601
prometheus-node-exporter:

docs/source/reference/api-server/api-server-admin-deploy.rst

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -947,29 +947,6 @@ If you want to use an existing service account and permissions that meet the :re
947947
--set rbac.serviceAccountName=my-existing-service-account
948948
949949
950-
.. _sky-migrate-legacy-service:
951-
952-
.. dropdown:: Migrate from legacy NodePort service
953-
954-
955-
If you are upgrading from an early 0.8.0 nightly with a previously deployed NodePort service (named ``${RELEASE_NAME}-ingress-controller-np``), an error will be raised to ask for migration. In addition, a new service will be created to expose the API server (using ``LoadBalancer`` service type by default). You can choose any of the following options to proceed the upgrade process based on your needs:
956-
957-
- Keep the legacy NodePort service and gradually migrate to the new LoadBalancer service:
958-
959-
Add ``--set ingress.nodePortEnabled=true`` to your ``helm upgrade`` command to keep the legacy NodePort service. Existing clients can continue to use the previous NodePort service. After all clients have been migrated to the new service, you can disable the legacy NodePort service by adding ``--set ingress.nodePortEnabled=false`` to the ``helm upgrade`` command.
960-
961-
- Disable the legacy NodePort service:
962-
963-
Add ``--set ingress.nodePortEnabled=false`` to your ``helm upgrade`` command to disable the legacy NodePort service. Clients will need to use the new service to connect to the API server.
964-
965-
.. note::
966-
967-
Make sure there is no clients using the NodePort service before disabling it.
968-
969-
.. note::
970-
971-
Refer to :ref:`sky-get-api-server-url` for how to customize and/or connect to the new service.
972-
973950
.. _sky-api-server-helm-multiple-deploy:
974951
975952
Reusing ingress controller for API server

docs/source/reference/api-server/helm-values-spec.rst

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,6 @@ Below is the available helm value keys and the default value of each key:
114114
:ref:`host <helm-values-ingress-host>`: null
115115
:ref:`path <helm-values-ingress-path>`: '/'
116116
:ref:`ingressClassName <helm-values-ingress-ingressClassName>`: nginx
117-
:ref:`nodePortEnabled <helm-values-ingress-nodePortEnabled>`: null
118-
:ref:`httpNodePort <helm-values-ingress-httpNodePort>`: 30050
119-
:ref:`httpsNodePort <helm-values-ingress-httpsNodePort>`: 30051
120117
:ref:`annotations <helm-values-ingress-annotations>`: null
121118
# Deprecated: use auth.oauth instead.
122119
:ref:`oauth2-proxy <helm-values-ingress-oauth2-proxy>`:
@@ -1254,48 +1251,6 @@ Default: ``nginx``
12541251
ingress:
12551252
ingressClassName: nginx
12561253
1257-
.. _helm-values-ingress-nodePortEnabled:
1258-
1259-
``ingress.nodePortEnabled``
1260-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
1261-
1262-
Whether to enable an additional NodePort service for the ingress controller. Deprecated: use ``ingress-nginx.controller.service.type=NodePort`` instead.
1263-
1264-
Default: ``null``
1265-
1266-
.. code-block:: yaml
1267-
1268-
ingress:
1269-
nodePortEnabled: false
1270-
1271-
.. _helm-values-ingress-httpNodePort:
1272-
1273-
``ingress.httpNodePort``
1274-
^^^^^^^^^^^^^^^^^^^^^^^^
1275-
1276-
Specific nodePort to use for HTTP traffic. Deprecated: use ``ingress-nginx.controller.service.nodePorts.http`` instead.
1277-
1278-
Default: ``30050``
1279-
1280-
.. code-block:: yaml
1281-
1282-
ingress:
1283-
httpNodePort: 30050
1284-
1285-
.. _helm-values-ingress-httpsNodePort:
1286-
1287-
``ingress.httpsNodePort``
1288-
^^^^^^^^^^^^^^^^^^^^^^^^^
1289-
1290-
Specific nodePort to use for HTTPS traffic. Deprecated: use ``ingress-nginx.controller.service.nodePorts.https`` instead.
1291-
1292-
Default: ``30051``
1293-
1294-
.. code-block:: yaml
1295-
1296-
ingress:
1297-
httpsNodePort: 30051
1298-
12991254
.. _helm-values-ingress-annotations:
13001255
13011256
``ingress.annotations``

sky/backends/backend_utils.py

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,11 +1064,7 @@ def write_cluster_config(
10641064
with open(tmp_yaml_path, 'w', encoding='utf-8') as f:
10651065
f.write(restored_yaml_content)
10661066

1067-
# Read the cluster name from the tmp yaml file, to take the backward
1068-
# compatbility restortion above into account.
1069-
# TODO: remove this after 2 minor releases, 0.10.0.
1070-
yaml_config = yaml_utils.read_yaml(tmp_yaml_path)
1071-
config_dict['cluster_name_on_cloud'] = yaml_config['cluster_name']
1067+
config_dict['cluster_name_on_cloud'] = cluster_name_on_cloud
10721068

10731069
# Make sure to do this before we optimize file mounts. Optimization is
10741070
# non-deterministic, but everything else before this point should be
@@ -3637,31 +3633,6 @@ def check_rsync_installed() -> None:
36373633
' $ sudo apt install rsync') from None
36383634

36393635

3640-
def check_stale_runtime_on_remote(returncode: int, stderr: str,
3641-
cluster_name: str) -> None:
3642-
"""Raises RuntimeError if remote SkyPilot runtime needs to be updated.
3643-
3644-
We detect this by parsing certain backward-incompatible error messages from
3645-
`stderr`. Typically due to the local client version just got updated, and
3646-
the remote runtime is an older version.
3647-
"""
3648-
pattern = re.compile(r'AttributeError: module \'sky\.(.*)\' has no '
3649-
r'attribute \'(.*)\'')
3650-
if returncode != 0:
3651-
# TODO(zhwu): Backward compatibility for old SkyPilot runtime version on
3652-
# the remote cluster. Remove this after 0.10.0 is released.
3653-
attribute_error = re.findall(pattern, stderr)
3654-
if attribute_error or 'SkyPilot runtime is too old' in stderr:
3655-
with ux_utils.print_exception_no_traceback():
3656-
raise RuntimeError(
3657-
f'{colorama.Fore.RED}SkyPilot runtime needs to be updated '
3658-
f'on the remote cluster: {cluster_name}. To update, run '
3659-
'(existing jobs will not be interrupted): '
3660-
f'{colorama.Style.BRIGHT}sky start -f -y '
3661-
f'{cluster_name}{colorama.Style.RESET_ALL}'
3662-
f'\n--- Details ---\n{stderr.strip()}\n') from None
3663-
3664-
36653636
def get_endpoints(cluster: str,
36663637
port: Optional[Union[int, str]] = None,
36673638
skip_status_check: bool = False) -> Dict[int, str]:

sky/backends/cloud_vm_ray_backend.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4431,10 +4431,6 @@ def _maybe_add_managed_job_code(job_submit_cmd: str) -> str:
44314431
job_submit_cmd,
44324432
stream_logs=False,
44334433
require_outputs=True)
4434-
# Happens when someone calls `sky exec` but remote is outdated for
4435-
# running a job. Necessitating calling `sky launch`.
4436-
backend_utils.check_stale_runtime_on_remote(returncode, stderr,
4437-
handle.cluster_name)
44384434
output = stdout + stderr
44394435
if _is_message_too_long(returncode, output=output):
44404436
# If the job submit script is too long, we need to retry it
@@ -4502,10 +4498,6 @@ def _add_job(self, handle: CloudVmRayResourceHandle,
45024498
stream_logs=False,
45034499
require_outputs=True,
45044500
separate_stderr=True)
4505-
# Happens when someone calls `sky exec` but remote is outdated for
4506-
# adding a job. Necessitating calling `sky launch`.
4507-
backend_utils.check_stale_runtime_on_remote(returncode, stderr,
4508-
handle.cluster_name)
45094501
# TODO(zhwu): this sometimes will unexpectedly fail, we can add
45104502
# retry for this, after we figure out the reason.
45114503
subprocess_utils.handle_returncode(returncode, code,

0 commit comments

Comments
 (0)