Skip to content

FEATURE: WarmPool API for server#551

Open
Pangjiping wants to merge 6 commits intoalibaba:mainfrom
Pangjiping:feat/batchsandbox-pool-mgr
Open

FEATURE: WarmPool API for server#551
Pangjiping wants to merge 6 commits intoalibaba:mainfrom
Pangjiping:feat/batchsandbox-pool-mgr

Conversation

@Pangjiping
Copy link
Copy Markdown
Collaborator

@Pangjiping Pangjiping commented Mar 24, 2026

Summary

  • refactor batchsandbox pool service feat(server): add Pool CRUD API and Kubernetes CRD service #357
  • create_pool_service() in factory.py; warm_pool_service from it in lifecycle (dedicated K8sClient, not shared with sandbox).
  • WarmPool API only when kubernetes + workload_provider → batchsandbox; otherwise 501 with clearer messaging.
  • Pool routes: path validation, 422 docs, drop unused X-Request-ID params; Pool schemas use ConfigDict.
  • PoolService: stricter CRD mapping, list 404 → 503 unchanged, ApiException → HTTP status + apiserver message via kubernetes_api_exception.py; internal cleanup / less duplication.

Testing

  • Not run (explain why)
  • Unit tests
  • Integration tests
  • e2e / manual verification

Breaking Changes

  • None
  • Yes (describe impact and migration path)

Checklist

  • Linked Issue or clearly described motivation
  • Added/updated docs (if needed)
  • Added/updated tests (if needed)
  • Security impact considered
  • Backward compatibility considered

- Use opensandbox_server imports for lifecycle, pool, main, factory, pool_service
- Keep create_pool_service, warm_pool_service, kubernetes_api_exception helpers
- Fix k8s tests patch paths for opensandbox_server.services.k8s.kubernetes_service
- pool: distinguish 501 for non-kubernetes vs non-batchsandbox via get_config

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/server feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant