Skip to content

Commit 3901ed8

Browse files
committed
fix(deployments): filter reconciler lists on data.status (AIRCORE-756)
Entity store persists deployment and volume status under the data JSON column; filtering on top-level status caused list queries to fail and left DELETING deployments stuck. Align controller and status_in list API with data.status and update unit test expectations. Signed-off-by: Tyler Bray <tbray@nvidia.com>
1 parent af422b3 commit 3901ed8

4 files changed

Lines changed: 6 additions & 6 deletions

File tree

plugins/nemo-deployments/src/nemo_deployments_plugin/api/v2/deployments.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ async def list_deployments(
126126
if statuses:
127127
filter_operation = ComparisonOperation(
128128
operator=FilterOperator.IN,
129-
field="status",
129+
field="data.status",
130130
value=statuses,
131131
)
132132
result = await entity_client.list(

plugins/nemo-deployments/src/nemo_deployments_plugin/controller.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ async def _list_deployments(self) -> list[Deployment]:
179179
Deployment,
180180
filter_operation=ComparisonOperation(
181181
operator=FilterOperator.IN,
182-
field="status",
182+
field="data.status",
183183
value=list(NON_TERMINAL_DEPLOYMENT_STATUSES),
184184
),
185185
)
@@ -197,7 +197,7 @@ async def _list_volumes(self) -> list[Volume]:
197197
Volume,
198198
filter_operation=ComparisonOperation(
199199
operator=FilterOperator.IN,
200-
field="status",
200+
field="data.status",
201201
value=list(NON_TERMINAL_VOLUME_STATUSES),
202202
),
203203
)
@@ -218,7 +218,7 @@ async def _list_terminal_deployments_for_orphan_grace(self) -> list[Deployment]:
218218
Deployment,
219219
filter_operation=ComparisonOperation(
220220
operator=FilterOperator.IN,
221-
field="status",
221+
field="data.status",
222222
value=list(_TERMINAL_ORPHAN_STATUSES),
223223
),
224224
)

plugins/nemo-deployments/tests/unit/reconciler/test_entity_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ async def test_list_all_pages_fetches_multiple_pages() -> None:
3737
Deployment,
3838
filter_operation=ComparisonOperation(
3939
operator=FilterOperator.IN,
40-
field="status",
40+
field="data.status",
4141
value=["PENDING"],
4242
),
4343
)

plugins/nemo-deployments/tests/unit/test_api_deployments.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def test_list_deployments_status_in(client: TestClient, mock_entity_client: Asyn
104104
assert len(resp.json()["data"]) == 1
105105
call_kwargs = mock_entity_client.list.await_args.kwargs
106106
assert call_kwargs["filter_operation"].operator.value == "$in"
107-
assert call_kwargs["filter_operation"].field == "status"
107+
assert call_kwargs["filter_operation"].field == "data.status"
108108

109109

110110
def test_list_deployments_invalid_status_in_400(client: TestClient) -> None:

0 commit comments

Comments
 (0)