This repository has been archived by the owner on Sep 12, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add PodControlInterface and PodControllerRefManager (#73)
* Add PodControlInterface and FakePodControl * Add comments for service event reasons * Skip deleting pods/services already in termination Kubernetes pkg/controller/controller_utils.go doesn’t have this logic. This is from kubeflow/training-operator/pull/998. I think it’s safe to keep the logic here. * Remove Kubernetes controller dependency Use `KeyFunc` instead of k8s.io/kubernetes/pkg/controller.KeyFunc * Add Base and PodControllerRefManager Current implementation use PodControllerRefManager from `k8s.io/kubernetes/pkg/controller` and self-implemented `ServiceControllerRefManager` which brings some problems. 1. Pod impl may change along with k8s upgrade, service impl doesn’t 2. It’s not helping us remove Kubernetes direct dependency. 3. It’s not that straighforward for maintainers and contributors. This change make sure we folk everything we need and remove ref_manager dependency. * Rename service_ref_manager to controller_ref_manager Since this file contains both BaseControllerRefManager, PodControllerRefManager and ServiceControllerRefManager. It makes sense to rename it to controller_ref_manager.go * Address code review feedbacks
- Loading branch information