lablup / lablup/backend.ai

Add unified kernel status transition event type and Agent transition-event egress layer

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

Add the unified kernel status transition event and emit it ALONGSIDE the existing granular events. The granular events are NOT removed here - removal is deferred to BA-6853 (after the Manager starts consuming the unified event). This keeps the change additive and easy to roll back.

New event: KernelStatusTransitionAnycastEvent(kernel_id, from_status, to_status, reason, result, error_code, message). from_status/to_status use sokovan KernelStatus values; the event carries no phase/step payload; result is SUCCESS/FAILED only. Emit at the current lifecycle transition points, next to the existing granular anycast emission.

Does NOT depend on the handler framework (BA-6075) and does not touch create_kernel structure.

Success Criteria:
- [ ] KernelStatusTransitionAnycastEvent defined and wired to the anycast (at-least-once) egress
- [ ] Unified event emitted alongside existing granular events at lifecycle transition points
- [ ] Existing events/consumers unchanged (no regression)
- [ ] pants test passes for affected packages

JIRA Issue: BA-6851

Contributor guide

Open the contributing guide

Research direction

Start by locating the current lifecycle transition points and the existing granular anycast emission in the affected packages. Trace the at-least-once egress path, then run the affected packages' pants tests; done means the unified event is emitted alongside existing events without changing current consumers.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.