mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 07:27:21 +00:00
Remove string from Reaper.Stop signature
This commit is contained in:
@@ -41,7 +41,7 @@ const (
|
||||
// timeout is how long we'll wait for the termination to be successful
|
||||
// gracePeriod is time given to an API object for it to delete itself cleanly (e.g. pod shutdown)
|
||||
type Reaper interface {
|
||||
Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error)
|
||||
Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
|
||||
}
|
||||
|
||||
type NoSuchReaperError struct {
|
||||
@@ -118,15 +118,15 @@ func getOverlappingControllers(c client.ReplicationControllerInterface, rc *api.
|
||||
return matchingRCs, nil
|
||||
}
|
||||
|
||||
func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error) {
|
||||
func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error {
|
||||
rc := reaper.ReplicationControllers(namespace)
|
||||
scaler, err := ScalerFor("ReplicationController", *reaper)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
ctrl, err := rc.Get(name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
if timeout == 0 {
|
||||
timeout = Timeout + time.Duration(10*ctrl.Spec.Replicas)*time.Second
|
||||
@@ -154,7 +154,7 @@ func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout
|
||||
|
||||
overlappingCtrls, err := getOverlappingControllers(rc, ctrl)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("error getting replication controllers: %v", err)
|
||||
return fmt.Errorf("error getting replication controllers: %v", err)
|
||||
}
|
||||
exactMatchRCs := []api.ReplicationController{}
|
||||
overlapRCs := []string{}
|
||||
@@ -166,7 +166,7 @@ func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout
|
||||
}
|
||||
}
|
||||
if len(overlapRCs) > 0 {
|
||||
return "", fmt.Errorf(
|
||||
return fmt.Errorf(
|
||||
"Detected overlapping controllers for rc %v: %v, please manage deletion individually with --cascade=false.",
|
||||
ctrl.Name, strings.Join(overlapRCs, ","))
|
||||
}
|
||||
@@ -175,19 +175,19 @@ func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout
|
||||
retry := NewRetryParams(reaper.pollInterval, reaper.timeout)
|
||||
waitForReplicas := NewRetryParams(reaper.pollInterval, timeout)
|
||||
if err = scaler.Scale(namespace, name, 0, nil, retry, waitForReplicas); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := rc.Delete(name); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
return fmt.Sprintf("%s stopped", name), nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error) {
|
||||
func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error {
|
||||
ds, err := reaper.Extensions().DaemonSets(namespace).Get(name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
|
||||
// We set the nodeSelector to a random label. This label is nearly guaranteed
|
||||
@@ -201,7 +201,7 @@ func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duratio
|
||||
ds.ResourceVersion = ""
|
||||
|
||||
if ds, err = reaper.Extensions().DaemonSets(namespace).Update(ds); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
|
||||
// Wait for the daemon set controller to kill all the daemon pods.
|
||||
@@ -212,25 +212,25 @@ func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duratio
|
||||
}
|
||||
return updatedDS.Status.CurrentNumberScheduled+updatedDS.Status.NumberMisscheduled == 0, nil
|
||||
}); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
|
||||
if err := reaper.Extensions().DaemonSets(namespace).Delete(name); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
return fmt.Sprintf("%s stopped", name), nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (reaper *JobReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error) {
|
||||
func (reaper *JobReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error {
|
||||
jobs := reaper.Extensions().Jobs(namespace)
|
||||
pods := reaper.Pods(namespace)
|
||||
scaler, err := ScalerFor("Job", *reaper)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
job, err := jobs.Get(name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
if timeout == 0 {
|
||||
// we will never have more active pods than job.Spec.Parallelism
|
||||
@@ -242,13 +242,13 @@ func (reaper *JobReaper) Stop(namespace, name string, timeout time.Duration, gra
|
||||
retry := NewRetryParams(reaper.pollInterval, reaper.timeout)
|
||||
waitForJobs := NewRetryParams(reaper.pollInterval, timeout)
|
||||
if err = scaler.Scale(namespace, name, 0, nil, retry, waitForJobs); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
// at this point only dead pods are left, that should be removed
|
||||
selector, _ := extensions.PodSelectorAsSelector(job.Spec.Selector)
|
||||
podList, err := pods.List(selector, fields.Everything())
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
errList := []error{}
|
||||
for _, pod := range podList.Items {
|
||||
@@ -257,36 +257,36 @@ func (reaper *JobReaper) Stop(namespace, name string, timeout time.Duration, gra
|
||||
}
|
||||
}
|
||||
if len(errList) > 0 {
|
||||
return "", utilerrors.NewAggregate(errList)
|
||||
return utilerrors.NewAggregate(errList)
|
||||
}
|
||||
// once we have all the pods removed we can safely remove the job itself
|
||||
if err := jobs.Delete(name, gracePeriod); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
return fmt.Sprintf("%s stopped", name), nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (reaper *PodReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error) {
|
||||
func (reaper *PodReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error {
|
||||
pods := reaper.Pods(namespace)
|
||||
_, err := pods.Get(name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
if err := pods.Delete(name, gracePeriod); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%s stopped", name), nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (reaper *ServiceReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error) {
|
||||
func (reaper *ServiceReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error {
|
||||
services := reaper.Services(namespace)
|
||||
_, err := services.Get(name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
if err := services.Delete(name); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
return fmt.Sprintf("%s stopped", name), nil
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user