mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Merge pull request #8560 from kargakis/reduce-poll-interval-for-stop
Reduce reaper poll interval and wait while resizing
This commit is contained in:
commit
220208942e
@ -19,7 +19,6 @@ package cmd
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
@ -40,9 +39,6 @@ $ kubectl resize --replicas=3 replicationcontrollers foo
|
|||||||
|
|
||||||
// If the replication controller named foo's current size is 2, resize foo to 3.
|
// If the replication controller named foo's current size is 2, resize foo to 3.
|
||||||
$ kubectl resize --current-replicas=2 --replicas=3 replicationcontrollers foo`
|
$ kubectl resize --current-replicas=2 --replicas=3 replicationcontrollers foo`
|
||||||
|
|
||||||
retryFrequency = 100 * time.Millisecond
|
|
||||||
retryTimeout = 10 * time.Second
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewCmdResize(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
func NewCmdResize(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
||||||
@ -104,9 +100,9 @@ func RunResize(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []str
|
|||||||
resourceVersion := cmdutil.GetFlagString(cmd, "resource-version")
|
resourceVersion := cmdutil.GetFlagString(cmd, "resource-version")
|
||||||
currentSize := cmdutil.GetFlagInt(cmd, "current-replicas")
|
currentSize := cmdutil.GetFlagInt(cmd, "current-replicas")
|
||||||
precondition := &kubectl.ResizePrecondition{currentSize, resourceVersion}
|
precondition := &kubectl.ResizePrecondition{currentSize, resourceVersion}
|
||||||
retry := &kubectl.RetryParams{Interval: retryFrequency, Timeout: retryTimeout}
|
retry := kubectl.NewRetryParams(kubectl.Interval, kubectl.Timeout)
|
||||||
|
waitForReplicas := kubectl.NewRetryParams(kubectl.Interval, kubectl.Timeout)
|
||||||
if err := resizer.Resize(info.Namespace, info.Name, uint(count), precondition, retry, nil); err != nil {
|
if err := resizer.Resize(info.Namespace, info.Name, uint(count), precondition, retry, waitForReplicas); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Fprint(out, "resized\n")
|
fmt.Fprint(out, "resized\n")
|
||||||
|
@ -26,9 +26,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
shortInterval = time.Millisecond * 100
|
Interval = time.Millisecond * 100
|
||||||
interval = time.Second * 3
|
Timeout = time.Second * 20
|
||||||
timeout = time.Minute * 5
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// A Reaper handles terminating an object as gracefully as possible.
|
// A Reaper handles terminating an object as gracefully as possible.
|
||||||
@ -52,7 +51,7 @@ func IsNoSuchReaperError(err error) bool {
|
|||||||
func ReaperFor(kind string, c client.Interface) (Reaper, error) {
|
func ReaperFor(kind string, c client.Interface) (Reaper, error) {
|
||||||
switch kind {
|
switch kind {
|
||||||
case "ReplicationController":
|
case "ReplicationController":
|
||||||
return &ReplicationControllerReaper{c, interval, timeout}, nil
|
return &ReplicationControllerReaper{c, Interval, Timeout}, nil
|
||||||
case "Pod":
|
case "Pod":
|
||||||
return &PodReaper{c}, nil
|
return &PodReaper{c}, nil
|
||||||
case "Service":
|
case "Service":
|
||||||
@ -83,8 +82,8 @@ func (reaper *ReplicationControllerReaper) Stop(namespace, name string, gracePer
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
retry := &RetryParams{shortInterval, reaper.timeout}
|
retry := NewRetryParams(reaper.pollInterval, reaper.timeout)
|
||||||
waitForReplicas := &RetryParams{reaper.pollInterval, reaper.timeout}
|
waitForReplicas := NewRetryParams(reaper.pollInterval, reaper.timeout)
|
||||||
if err = resizer.Resize(namespace, name, 0, nil, retry, waitForReplicas); err != nil {
|
if err = resizer.Resize(namespace, name, 0, nil, retry, waitForReplicas); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user