mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #102189 from alculquicondor/cleanup-create-pods
Remove unused util CreatePods
This commit is contained in:
commit
f826662fec
@ -445,12 +445,10 @@ func (r RealControllerRevisionControl) PatchControllerRevision(namespace, name s
|
|||||||
// PodControlInterface is an interface that knows how to add or delete pods
|
// PodControlInterface is an interface that knows how to add or delete pods
|
||||||
// created as an interface to allow testing.
|
// created as an interface to allow testing.
|
||||||
type PodControlInterface interface {
|
type PodControlInterface interface {
|
||||||
// CreatePods creates new pods according to the spec.
|
// CreatePods creates new pods according to the spec, and sets object as the pod's controller.
|
||||||
CreatePods(namespace string, template *v1.PodTemplateSpec, object runtime.Object) error
|
CreatePods(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error
|
||||||
// CreatePodsWithControllerRef creates new pods according to the spec, and sets object as the pod's controller.
|
// CreatePodsWithGenerateName creates new pods according to the spec, sets object as the pod's controller and sets pod's generateName.
|
||||||
CreatePodsWithControllerRef(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error
|
CreatePodsWithGenerateName(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference, generateName string) error
|
||||||
// CreatePodsWithControllerRefAndGenerateName creates new pods according to the spec, sets object as the pod's controller and sets pod's generateName.
|
|
||||||
CreatePodsWithControllerRefAndGenerateName(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference, generateName string) error
|
|
||||||
// DeletePod deletes the pod identified by podID.
|
// DeletePod deletes the pod identified by podID.
|
||||||
DeletePod(namespace string, podID string, object runtime.Object) error
|
DeletePod(namespace string, podID string, object runtime.Object) error
|
||||||
// PatchPod patches the pod.
|
// PatchPod patches the pod.
|
||||||
@ -515,19 +513,11 @@ func validateControllerRef(controllerRef *metav1.OwnerReference) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RealPodControl) CreatePods(namespace string, template *v1.PodTemplateSpec, object runtime.Object) error {
|
func (r RealPodControl) CreatePods(namespace string, template *v1.PodTemplateSpec, controllerObject runtime.Object, controllerRef *metav1.OwnerReference) error {
|
||||||
pod, err := GetPodFromTemplate(template, object, nil)
|
return r.CreatePodsWithGenerateName(namespace, template, controllerObject, controllerRef, "")
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return r.createPods(namespace, pod, object)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RealPodControl) CreatePodsWithControllerRef(namespace string, template *v1.PodTemplateSpec, controllerObject runtime.Object, controllerRef *metav1.OwnerReference) error {
|
func (r RealPodControl) CreatePodsWithGenerateName(namespace string, template *v1.PodTemplateSpec, controllerObject runtime.Object, controllerRef *metav1.OwnerReference, generateName string) error {
|
||||||
return r.CreatePodsWithControllerRefAndGenerateName(namespace, template, controllerObject, controllerRef, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r RealPodControl) CreatePodsWithControllerRefAndGenerateName(namespace string, template *v1.PodTemplateSpec, controllerObject runtime.Object, controllerRef *metav1.OwnerReference, generateName string) error {
|
|
||||||
if err := validateControllerRef(controllerRef); err != nil {
|
if err := validateControllerRef(controllerRef); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -636,21 +626,7 @@ func (f *FakePodControl) PatchPod(namespace, name string, data []byte) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FakePodControl) CreatePods(namespace string, spec *v1.PodTemplateSpec, object runtime.Object) error {
|
func (f *FakePodControl) CreatePods(namespace string, spec *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error {
|
||||||
f.Lock()
|
|
||||||
defer f.Unlock()
|
|
||||||
f.CreateCallCount++
|
|
||||||
if f.CreateLimit != 0 && f.CreateCallCount > f.CreateLimit {
|
|
||||||
return fmt.Errorf("not creating pod, limit %d already reached (create call %d)", f.CreateLimit, f.CreateCallCount)
|
|
||||||
}
|
|
||||||
f.Templates = append(f.Templates, *spec)
|
|
||||||
if f.Err != nil {
|
|
||||||
return f.Err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *FakePodControl) CreatePodsWithControllerRef(namespace string, spec *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error {
|
|
||||||
f.Lock()
|
f.Lock()
|
||||||
defer f.Unlock()
|
defer f.Unlock()
|
||||||
f.CreateCallCount++
|
f.CreateCallCount++
|
||||||
@ -665,7 +641,7 @@ func (f *FakePodControl) CreatePodsWithControllerRef(namespace string, spec *v1.
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FakePodControl) CreatePodsWithControllerRefAndGenerateName(namespace string, spec *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference, generateNamePrefix string) error {
|
func (f *FakePodControl) CreatePodsWithGenerateName(namespace string, spec *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference, generateNamePrefix string) error {
|
||||||
f.Lock()
|
f.Lock()
|
||||||
defer f.Unlock()
|
defer f.Unlock()
|
||||||
f.CreateCallCount++
|
f.CreateCallCount++
|
||||||
|
@ -29,7 +29,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
apps "k8s.io/api/apps/v1"
|
apps "k8s.io/api/apps/v1"
|
||||||
batchv1 "k8s.io/api/batch/v1"
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
@ -301,9 +300,10 @@ func TestCreatePods(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
controllerSpec := newReplicationController(1)
|
controllerSpec := newReplicationController(1)
|
||||||
|
controllerRef := metav1.NewControllerRef(controllerSpec, v1.SchemeGroupVersion.WithKind("ReplicationController"))
|
||||||
|
|
||||||
// Make sure createReplica sends a POST to the apiserver with a pod from the controllers pod template
|
// Make sure createReplica sends a POST to the apiserver with a pod from the controllers pod template
|
||||||
err := podControl.CreatePods(ns, controllerSpec.Spec.Template, controllerSpec)
|
err := podControl.CreatePods(ns, controllerSpec.Spec.Template, controllerSpec, controllerRef)
|
||||||
assert.NoError(t, err, "unexpected error: %v", err)
|
assert.NoError(t, err, "unexpected error: %v", err)
|
||||||
|
|
||||||
expectedPod := v1.Pod{
|
expectedPod := v1.Pod{
|
||||||
@ -321,7 +321,7 @@ func TestCreatePods(t *testing.T) {
|
|||||||
"Body: %s", fakeHandler.RequestBody)
|
"Body: %s", fakeHandler.RequestBody)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCreatePodsWithControllerRefAndGenerateName(t *testing.T) {
|
func TestCreatePodsWithGenerateName(t *testing.T) {
|
||||||
ns := metav1.NamespaceDefault
|
ns := metav1.NamespaceDefault
|
||||||
body := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "empty_pod"}})
|
body := runtime.EncodeOrDie(clientscheme.Codecs.LegacyCodec(v1.SchemeGroupVersion), &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "empty_pod"}})
|
||||||
fakeHandler := utiltesting.FakeHandler{
|
fakeHandler := utiltesting.FakeHandler{
|
||||||
@ -338,11 +338,11 @@ func TestCreatePodsWithControllerRefAndGenerateName(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
controllerSpec := newReplicationController(1)
|
controllerSpec := newReplicationController(1)
|
||||||
controllerRef := metav1.NewControllerRef(controllerSpec, batchv1.SchemeGroupVersion.WithKind("Job"))
|
controllerRef := metav1.NewControllerRef(controllerSpec, v1.SchemeGroupVersion.WithKind("ReplicationController"))
|
||||||
|
|
||||||
// Make sure createReplica sends a POST to the apiserver with a pod from the controllers pod template
|
// Make sure createReplica sends a POST to the apiserver with a pod from the controllers pod template
|
||||||
generateName := "hello-"
|
generateName := "hello-"
|
||||||
err := podControl.CreatePodsWithControllerRefAndGenerateName(ns, controllerSpec.Spec.Template, controllerSpec, controllerRef, generateName)
|
err := podControl.CreatePodsWithGenerateName(ns, controllerSpec.Spec.Template, controllerSpec, controllerRef, generateName)
|
||||||
assert.NoError(t, err, "unexpected error: %v", err)
|
assert.NoError(t, err, "unexpected error: %v", err)
|
||||||
|
|
||||||
expectedPod := v1.Pod{
|
expectedPod := v1.Pod{
|
||||||
|
@ -996,7 +996,7 @@ func (dsc *DaemonSetsController) syncNodes(ds *apps.DaemonSet, podsToDelete, nod
|
|||||||
podTemplate.Spec.Affinity = util.ReplaceDaemonSetPodNodeNameNodeAffinity(
|
podTemplate.Spec.Affinity = util.ReplaceDaemonSetPodNodeNameNodeAffinity(
|
||||||
podTemplate.Spec.Affinity, nodesNeedingDaemonPods[ix])
|
podTemplate.Spec.Affinity, nodesNeedingDaemonPods[ix])
|
||||||
|
|
||||||
err := dsc.podControl.CreatePodsWithControllerRef(ds.Namespace, podTemplate,
|
err := dsc.podControl.CreatePods(ds.Namespace, podTemplate,
|
||||||
ds, metav1.NewControllerRef(ds, controllerKind))
|
ds, metav1.NewControllerRef(ds, controllerKind))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -241,10 +241,10 @@ func newFakePodControl() *fakePodControl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *fakePodControl) CreatePodsWithControllerRef(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error {
|
func (f *fakePodControl) CreatePods(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error {
|
||||||
f.Lock()
|
f.Lock()
|
||||||
defer f.Unlock()
|
defer f.Unlock()
|
||||||
if err := f.FakePodControl.CreatePodsWithControllerRef(namespace, template, object, controllerRef); err != nil {
|
if err := f.FakePodControl.CreatePods(namespace, template, object, controllerRef); err != nil {
|
||||||
return fmt.Errorf("failed to create pod for DaemonSet")
|
return fmt.Errorf("failed to create pod for DaemonSet")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -875,7 +875,7 @@ func (jm *Controller) manageJob(job *batch.Job, activePods []*v1.Pod, succeeded
|
|||||||
}
|
}
|
||||||
defer wait.Done()
|
defer wait.Done()
|
||||||
generateName := podGenerateNameWithIndex(job.Name, completionIndex)
|
generateName := podGenerateNameWithIndex(job.Name, completionIndex)
|
||||||
err := jm.podControl.CreatePodsWithControllerRefAndGenerateName(job.Namespace, template, job, metav1.NewControllerRef(job, controllerKind), generateName)
|
err := jm.podControl.CreatePodsWithGenerateName(job.Namespace, template, job, metav1.NewControllerRef(job, controllerKind), generateName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrors.HasStatusCause(err, v1.NamespaceTerminatingCause) {
|
if apierrors.HasStatusCause(err, v1.NamespaceTerminatingCause) {
|
||||||
// If the namespace is being torn down, we can safely ignore
|
// If the namespace is being torn down, we can safely ignore
|
||||||
|
@ -565,7 +565,7 @@ func (rsc *ReplicaSetController) manageReplicas(filteredPods []*v1.Pod, rs *apps
|
|||||||
// after one of its pods fails. Conveniently, this also prevents the
|
// after one of its pods fails. Conveniently, this also prevents the
|
||||||
// event spam that those failures would generate.
|
// event spam that those failures would generate.
|
||||||
successfulCreations, err := slowStartBatch(diff, controller.SlowStartInitialBatchSize, func() error {
|
successfulCreations, err := slowStartBatch(diff, controller.SlowStartInitialBatchSize, func() error {
|
||||||
err := rsc.podControl.CreatePodsWithControllerRef(rs.Namespace, &rs.Spec.Template, rs, metav1.NewControllerRef(rs, rsc.GroupVersionKind))
|
err := rsc.podControl.CreatePods(rs.Namespace, &rs.Spec.Template, rs, metav1.NewControllerRef(rs, rsc.GroupVersionKind))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrors.HasStatusCause(err, v1.NamespaceTerminatingCause) {
|
if apierrors.HasStatusCause(err, v1.NamespaceTerminatingCause) {
|
||||||
// if the namespace is being terminated, we don't have to do
|
// if the namespace is being terminated, we don't have to do
|
||||||
|
@ -337,17 +337,12 @@ type podControlAdapter struct {
|
|||||||
controller.PodControlInterface
|
controller.PodControlInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pc podControlAdapter) CreatePods(namespace string, template *v1.PodTemplateSpec, object runtime.Object) error {
|
func (pc podControlAdapter) CreatePods(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error {
|
||||||
// This is not used by RSC.
|
|
||||||
return errors.New("CreatePods() is not implemented for podControlAdapter")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (pc podControlAdapter) CreatePodsWithControllerRef(namespace string, template *v1.PodTemplateSpec, object runtime.Object, controllerRef *metav1.OwnerReference) error {
|
|
||||||
rc, err := convertRStoRC(object.(*apps.ReplicaSet))
|
rc, err := convertRStoRC(object.(*apps.ReplicaSet))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return pc.PodControlInterface.CreatePodsWithControllerRef(namespace, template, rc, controllerRef)
|
return pc.PodControlInterface.CreatePods(namespace, template, rc, controllerRef)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pc podControlAdapter) DeletePod(namespace string, podID string, object runtime.Object) error {
|
func (pc podControlAdapter) DeletePod(namespace string, podID string, object runtime.Object) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user