diff --git a/docs/source/reference/faq.rst b/docs/source/reference/faq.rst index 649d89ec329..5569c6ec145 100644 --- a/docs/source/reference/faq.rst +++ b/docs/source/reference/faq.rst @@ -12,7 +12,7 @@ Git and GitHub -------------- How to clone private GitHub repositories in a task's ``setup`` commands? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is possible provided you have `set up SSH agent forwarding `_. For example, run the following on your laptop: diff --git a/docs/source/running-jobs/environment-variables.rst b/docs/source/running-jobs/environment-variables.rst index 31b1e520be3..d8f52538ec4 100644 --- a/docs/source/running-jobs/environment-variables.rst +++ b/docs/source/running-jobs/environment-variables.rst @@ -121,30 +121,30 @@ Environment variables for ``run`` :widths: 20 70 10 :header-rows: 1 - * - Name - - Definition - - Example - * - ``SKYPILOT_NODE_RANK`` - - Rank (an integer ID from 0 to :code:`num_nodes-1`) of the node executing the task. Read more :ref:`here `. - - 0 - * - ``SKYPILOT_NODE_IPS`` - - A string of IP addresses of the nodes reserved to execute the task, where each line contains one IP address. Read more :ref:`here `. - - 1.2.3.4 - * - ``SKYPILOT_NUM_GPUS_PER_NODE`` - - Number of GPUs reserved on each node to execute the task; the same as the - count in ``accelerators: :`` (rounded up if a fraction). Read - more :ref:`here `. - - 0 - * - ``SKYPILOT_TASK_ID`` - - A unique ID assigned to each task. - Useful for logging purposes: e.g., use a unique output path on the cluster; pass to Weights & Biases; etc. - - If a task is run as a :ref:`managed spot job `, then all - recoveries of that job will have the same ID value. Read more :ref:`here `. - - sky-2023-07-06-21-18-31-563597_myclus_id-1 - * - ``SKYPILOT_SERVE_REPLICA_ID`` - - The ID of a replica within the service (starting from 1). Available only for a :ref:`service `'s replica task. - - 1 + * - Name + - Definition + - Example + * - ``SKYPILOT_NODE_RANK`` + - Rank (an integer ID from 0 to :code:`num_nodes-1`) of the node executing the task. Read more :ref:`here `. + - 0 + * - ``SKYPILOT_NODE_IPS`` + - A string of IP addresses of the nodes reserved to execute the task, where each line contains one IP address. Read more :ref:`here `. + - 1.2.3.4 + * - ``SKYPILOT_NUM_GPUS_PER_NODE`` + - Number of GPUs reserved on each node to execute the task; the same as the + count in ``accelerators: :`` (rounded up if a fraction). Read + more :ref:`here `. + - 0 + * - ``SKYPILOT_TASK_ID`` + - A unique ID assigned to each task. + Useful for logging purposes: e.g., use a unique output path on the cluster; pass to Weights & Biases; etc. + + If a task is run as a :ref:`managed spot job `, then all + recoveries of that job will have the same ID value. Read more :ref:`here `. + - sky-2023-07-06-21-18-31-563597_myclus_id-1 + * - ``SKYPILOT_SERVE_REPLICA_ID`` + - The ID of a replica within the service (starting from 1). Available only for a :ref:`service `'s replica task. + - 1 The values of these variables are filled in by SkyPilot at task execution time. diff --git a/docs/source/serving/update.rst b/docs/source/serving/update.rst index 4e1338589e1..80fdd480c5e 100644 --- a/docs/source/serving/update.rst +++ b/docs/source/serving/update.rst @@ -10,8 +10,10 @@ SkyServe supports *updating* a deployed service, which can be used to change: * Service spec in ``service`` (e.g., number of replicas or autoscaling spec) During an update, the service will remain accessible with no downtime and its -endpoint will remain the same. By default, `rolling update `__ -is applied, while you can also specify a `blue-green update `__. +endpoint will remain the same. By default, :ref:`rolling update ` +is applied, while you can also specify a :ref:`blue-green update `. + + .. _rolling-update: Rolling Update diff --git a/sky/cli.py b/sky/cli.py index adbe9d24a9e..f68ee4506d2 100644 --- a/sky/cli.py +++ b/sky/cli.py @@ -3800,9 +3800,11 @@ def serve_update( SkyServe will reuse old replicas, if only the service section is changed and no file mounts are specified. + Otherwise, SkyServe will terminate the old replicas and start new replicas. Two update modes are supported: + - "rolling": (default) SkyServe will update the service with rolling update, i.e., it will terminate one old replica whenever one new replica is ready. Traffic can be mixed on old and new replicas.