kubeflow / kubeflow/mpi-operator
Implement v2 controller that sets up SSH for communication
- Dominant language
- Go
- Stars
- 535
- Forks
- 238
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 10
Description
Implementation for https://github.com/kubeflow/mpi-operator/blob/master/proposals/scalable-robust-operator.md
- Core Features:
- [x] Replace kubectl and support roles with ssh and secrets #375
- [x] Add support for running as non-root #383
- [x] Ensure retries in case of startup delays #386
- [x] Ensure all container image examples support the SSH setup
- [x] Support Intel MPI #389
- Production readiness
- [x] Upgrade k8s dependencies #370
- [x] Add integration tests #375
- [x] Add E2E tests #399 #403
- [x] Add API defaulting and validation #376
- [x] Update API to apiextensions.k8s.io/v1 for support in k8s 1.22 #379
- [x] Use fully-qualified label names #409
- [ ] Developer documentation #414
- [ ] End-user documentation
- [ ] Graduate API from v2beta1 to v2 once matured.
- Controller simplifications: delegating pod management to core k8s APIs
- [ ] Replace the plain pod workers with StatefulSet or Indexed Job
- [x] Replace the plain pod launcher with a Job
Contributor guide
Research direction
Start by reading the linked scalable-robust-operator.md proposal and comparing it with the checklist in this issue, including the completed linked issues. The remaining unchecked items are developer documentation, end-user documentation, API graduation, and replacing pod workers; clarify which scope is still intended before implementation, since this issue does not define a single completion target.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- distributed-systems, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100