lablup / lablup/backend.ai

Deployment revision preset GQL Create/Update inputs missing many DTO fields (including image_id)

Open
#11,464 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
15h 13m
Merged PRs (30d)
368

Description

## Background

Discovered while investigating [BA-5932](https://lablup.atlassian.net/browse/BA-5932).

## Problem

`CreateDeploymentRevisionPresetInputGQL` and `UpdateDeploymentRevisionPresetInputGQL` are missing many fields defined in the underlying DTOs (`CreateDeploymentRevisionPresetInput`, `UpdateDeploymentRevisionPresetInput`). Most critically, `image_id` is missing from both, so the GQL create mutation cannot succeed (DTO requires it) and the GQL update mutation cannot change the image.

## Missing in Create input

- `image_id (REQUIRED in DTO)`
- description, model_definition, resource_slots, resource_opts, cluster_mode, cluster_size, startup_command, bootstrap_script, environ, preset_values

## Missing in Update input

- image_id, model_definition, resource_slots, resource_opts, cluster_mode, cluster_size, startup_command, bootstrap_script, environ, preset_values
- description default is `None` instead of `UNSET`, which does not map to DTO `SENTINEL` (no-op semantics broken).

## Acceptance Criteria

- All DTO-defined fields are exposed on both GQL Create and Update inputs.
- Sentinel-backed fields use UNSET defaults so no-op semantics work.
- Existing REST v2 behavior is unchanged.
- Create / Update via GQL mutation succeed end-to-end with image_id.

JIRA Issue: BA-5937

[BA-5932]: https://lablup.atlassian.net/browse/BA-5932?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.