Repository navigation
feat(BA-8476): expose the session owner user id and deprecate access keys - #15762
Merged
Merged
Conversation
…keys Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: octodog <mu001@lablup.com>
seedspirit
commented
Oct 16, 2026
| ) | ||
|
|
||
|
|
||
| class SessionEventNode(BaseResponseModel): |
Contributor
Author
There was a problem hiding this comment.
Since SessionEventNode is not currently being used anywhere, it needs to be reviewed.
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
External hook compatibility remains unverified, and existing three-argument PRE_ENQUEUE_SESSION handlers can reject session creation.
2 open findings
What changed in this PR
Adds session owner IDs so clients can identify owners without legacy keypair lookups, while retaining deprecated access-key fields.
Changes:
- Adds owner IDs to session events and enqueue hooks.
- Deprecates access-key fields and filters in DTOs and GraphQL.
- Updates generated schemas and release notes.
| File | Description |
|---|---|
src/ai/backend/manager/sokovan/scheduling_controller/scheduling_controller.py |
Passes owner UUID to enqueue hooks. |
src/ai/backend/manager/events/hub/propagators/session.py |
Emits ownerUserId. |
src/ai/backend/manager/api/gql/session/types.py |
Deprecates access-key field, filter, and ordering. |
src/ai/backend/manager/api/gql/login_session/types/node.py |
Deprecates login-session access key. |
src/ai/backend/manager/api/gql/login_session/types/filter.py |
Deprecates access-key filtering. |
src/ai/backend/manager/api/gql/kernel/types.py |
Deprecates kernel access key. |
src/ai/backend/common/dto/manager/v2/session/response.py |
Marks session access keys deprecated. |
src/ai/backend/common/dto/manager/v2/session/request.py |
Deprecates session access-key filter. |
src/ai/backend/common/dto/manager/v2/login_session/response.py |
Marks login-session access key deprecated. |
src/ai/backend/common/dto/manager/v2/login_session/request.py |
Deprecates login-session access-key filter. |
src/ai/backend/common/dto/manager/v2/kernel/response.py |
Marks kernel access keys deprecated. |
src/ai/backend/common/dto/manager/v2/event_stream/response.py |
Adds owner ID and deprecates owner access key. |
src/ai/backend/common/dto/manager/event_stream/response.py |
Adds client payload owner-ID alias. |
docs/manager/rest-reference/openapi.json |
Records filter deprecations. |
docs/manager/graphql-reference/v2-schema.graphql |
Records GraphQL deprecations. |
docs/manager/graphql-reference/supergraph.graphql |
Mirrors deprecations in the supergraph. |
changes/15762.feature.md |
Documents the feature and deprecations. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| spec.resource_spec.identity.session_id, | ||
| spec.resource_spec.identity.session_name, | ||
| spec.resource_spec.identity.access_key, | ||
| spec.resource_spec.identity.user_uuid, |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Drop the empty-string default of owner_user_id in both event payload DTOs and allow null - Read user_uuid from the event data directly and send null when it is missing Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
HyeockJinKim
approved these changes
Oct 19, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
ownerAccessKey, so Control Panel resolves the owner through the legacy GraphQLkeypairquery. Session event payloads now carryownerUserIdPRE_ENQUEUE_SESSIONandPOST_ENQUEUE_SESSIONhooks receive the owner user id as a 4th argument afteraccess_keyaccess_key, login sessionaccess_keyand its filter, sessionaccess_keyfilter, event streamowner_access_keySessionV2MetadataInfo.accessKey,KernelV2UserInfo.accessKey,LoginSessionV2.accessKey, theaccessKeyfilters ofSessionV2FilterandLoginSessionFilter, andSessionV2OrderField.ACCESS_KEYaccess_keywithout deprecation since it has no user filter to replace itHook compatibility
Hook handlers are called with
*args. A plugin handler that takes exactly three positional arguments fails withTypeError; forPRE_ENQUEUE_SESSIONthis rejects every session enqueue. The in-house activator takes*argsand is unaffected.Test plan
/events/sessionpayload includesownerUserIdResolves BA-8476
🤖 Generated with Claude Code
📚 Documentation preview 📚: https://sorna--15762.org.readthedocs.build/en/15762/
📚 Documentation preview 📚: https://sorna-ko--15762.org.readthedocs.build/ko/15762/