diff --git a/changes/2556.fix.md b/changes/2556.fix.md new file mode 100644 index 0000000000..79c5719f0a --- /dev/null +++ b/changes/2556.fix.md @@ -0,0 +1 @@ +Prevent session status from being transit to `PULLING` status event if image pull is not required diff --git a/src/ai/backend/manager/models/image.py b/src/ai/backend/manager/models/image.py index bc0c92d99d..6ea48935c4 100644 --- a/src/ai/backend/manager/models/image.py +++ b/src/ai/backend/manager/models/image.py @@ -445,7 +445,7 @@ def _parse_row(self): "tag": self.tag, "architecture": self.architecture, "registry": self.registry, - "digest": self.config_digest, + "digest": self.config_digest.strip() if self.config_digest else None, "labels": self.labels, "size_bytes": self.size_bytes, "resource_limits": res_limits, @@ -547,7 +547,7 @@ def populate_row( registry=row.registry, architecture=row.architecture, is_local=row.is_local, - digest=row.config_digest, + digest=row.config_digest.strip() if row.config_digest else None, labels=[KVPair(key=k, value=v) for k, v in row.labels.items()], aliases=[alias_row.alias for alias_row in row.aliases], size_bytes=row.size_bytes, @@ -563,7 +563,7 @@ def populate_row( installed=len(installed_agents) > 0, installed_agents=installed_agents if not hide_agents else None, # legacy - hash=row.config_digest, + hash=row.config_digest.strip() if row.config_digest else None, ) ret.raw_labels = row.labels return ret @@ -788,7 +788,7 @@ def from_row(cls, row: ImageRow | None) -> ImageNode | None: registry=row.registry, architecture=row.architecture, is_local=row.is_local, - digest=row.config_digest, + digest=row.config_digest.strip() if row.config_digest else None, labels=[KVPair(key=k, value=v) for k, v in row.labels.items()], size_bytes=row.size_bytes, resource_limits=[