Skip to content

Commit d89b051

Browse files
committed
wip
1 parent 5078fe5 commit d89b051

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

src/ai/backend/manager/models/deployment_policy/row.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import logging
44
import uuid
55
from datetime import datetime
6-
from typing import TYPE_CHECKING, Union
6+
from typing import TYPE_CHECKING
77

88
import sqlalchemy as sa
99
from pydantic import BaseModel, Field, model_validator
@@ -62,7 +62,7 @@ class BlueGreenSpec(BaseModel):
6262
promote_delay_seconds: int = 0
6363

6464

65-
DeploymentStrategySpec = Union[RollingUpdateSpec, BlueGreenSpec]
65+
DeploymentStrategySpec = RollingUpdateSpec | BlueGreenSpec
6666

6767

6868
def _get_endpoint_join_condition() -> sa.ColumnElement[bool]:

src/ai/backend/manager/sokovan/deployment/strategy/rolling_update.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ def evaluate_cycle(
8080
sweep handles it by transitioning to ROLLING_BACK when the
8181
deploying timeout is exceeded.
8282
"""
83-
assert isinstance(spec, RollingUpdateSpec)
83+
if not isinstance(spec, RollingUpdateSpec):
84+
raise TypeError(f"Expected RollingUpdateSpec, got {type(spec).__name__}")
8485
desired = deployment.replica_spec.target_replica_count
8586
deploying_revision_id = deployment.deploying_revision_id
8687
if deploying_revision_id is None:
@@ -136,7 +137,11 @@ def _check_completed(
136137
desired: int,
137138
) -> StrategyCycleResult | None:
138139
"""Return COMPLETED result if all old routes are replaced and enough new are healthy."""
139-
if classified.old_active or classified.new_healthy_count < desired:
140+
if (
141+
classified.old_active
142+
or classified.new_provisioning_count
143+
or classified.new_healthy_count < desired
144+
):
140145
return None
141146
log.info(
142147
"deployment {}: rolling update complete ({} healthy routes)",

0 commit comments

Comments
 (0)