lablup / lablup/backend.ai

Model service command: single-string `command`, shell semantics execution

Open
#12,394 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

Consolidate the model service start command around a single shell command string and clean up the execution path.

This epic groups the internal string-representation work (BA-6550), the v2 API surface change adding `command: String` and deprecating `start_command: [String!]` (BA-6551), and the kernel execution mechanism that runs the shell command via a GitHub Actions-style temp script.

Key decisions (from requirements review):
- Default shell stays `/bin/bash` (NOT flipped to None); an explicit `shell: null` disables the shell and execs argv directly.
- The shell path writes the resolved command to a uniquely-named temp script (mkstemp) and runs `bash --noprofile --norc -eo pipefail ` — GitHub Actions parity, debuggable, collision-safe vs image-shipped /tmp/start.sh.
- SIGTERM propagation and set -e/pipefail behavior for multiline scripts are verified empirically as part of the kernel-exec story.

JIRA Issue: BA-6613

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the model service start-command API and kernel execution path, then verify the documented shell, temporary-script, signal, and multiline error-handling requirements empirically; done means the grouped BA-6550, BA-6551, and kernel-exec changes are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, python
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.