mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Revert respecting maxUnavailable for DaemonSets
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
This commit is contained in:
parent
1923cc60c9
commit
0a59f6c487
@ -21,7 +21,6 @@ import (
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
intstrutil "k8s.io/apimachinery/pkg/util/intstr"
|
||||
"k8s.io/kubernetes/pkg/apis/apps"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||
@ -101,11 +100,8 @@ func (s *DaemonSetStatusViewer) Status(namespace, name string, revision int64) (
|
||||
if daemon.Status.UpdatedNumberScheduled < daemon.Status.DesiredNumberScheduled {
|
||||
return fmt.Sprintf("Waiting for rollout to finish: %d out of %d new pods have been updated...\n", daemon.Status.UpdatedNumberScheduled, daemon.Status.DesiredNumberScheduled), false, nil
|
||||
}
|
||||
|
||||
maxUnavailable, _ := intstrutil.GetValueFromIntOrPercent(&daemon.Spec.UpdateStrategy.RollingUpdate.MaxUnavailable, int(daemon.Status.DesiredNumberScheduled), true)
|
||||
minRequired := daemon.Status.DesiredNumberScheduled - int32(maxUnavailable)
|
||||
if daemon.Status.NumberAvailable < minRequired {
|
||||
return fmt.Sprintf("Waiting for rollout to finish: %d of %d updated pods are available (minimum required: %d)...\n", daemon.Status.NumberAvailable, daemon.Status.DesiredNumberScheduled, minRequired), false, nil
|
||||
if daemon.Status.NumberAvailable < daemon.Status.DesiredNumberScheduled {
|
||||
return fmt.Sprintf("Waiting for rollout to finish: %d of %d updated pods are available...\n", daemon.Status.NumberAvailable, daemon.Status.DesiredNumberScheduled), false, nil
|
||||
}
|
||||
return fmt.Sprintf("daemon set %q successfully rolled out\n", name), true, nil
|
||||
}
|
||||
|
@ -139,11 +139,10 @@ func TestDeploymentStatusViewerStatus(t *testing.T) {
|
||||
|
||||
func TestDaemonSetStatusViewerStatus(t *testing.T) {
|
||||
tests := []struct {
|
||||
generation int64
|
||||
maxUnavailable *intstrutil.IntOrString
|
||||
status extensions.DaemonSetStatus
|
||||
msg string
|
||||
done bool
|
||||
generation int64
|
||||
status extensions.DaemonSetStatus
|
||||
msg string
|
||||
done bool
|
||||
}{
|
||||
{
|
||||
generation: 0,
|
||||
@ -158,8 +157,7 @@ func TestDaemonSetStatusViewerStatus(t *testing.T) {
|
||||
done: false,
|
||||
},
|
||||
{
|
||||
generation: 1,
|
||||
maxUnavailable: intOrStringP(0),
|
||||
generation: 1,
|
||||
status: extensions.DaemonSetStatus{
|
||||
ObservedGeneration: 1,
|
||||
UpdatedNumberScheduled: 2,
|
||||
@ -167,7 +165,7 @@ func TestDaemonSetStatusViewerStatus(t *testing.T) {
|
||||
NumberAvailable: 1,
|
||||
},
|
||||
|
||||
msg: "Waiting for rollout to finish: 1 of 2 updated pods are available (minimum required: 2)...\n",
|
||||
msg: "Waiting for rollout to finish: 1 of 2 updated pods are available...\n",
|
||||
done: false,
|
||||
},
|
||||
{
|
||||
@ -194,19 +192,6 @@ func TestDaemonSetStatusViewerStatus(t *testing.T) {
|
||||
msg: "Waiting for daemon set spec update to be observed...\n",
|
||||
done: false,
|
||||
},
|
||||
{
|
||||
generation: 1,
|
||||
maxUnavailable: intOrStringP(1),
|
||||
status: extensions.DaemonSetStatus{
|
||||
ObservedGeneration: 1,
|
||||
UpdatedNumberScheduled: 2,
|
||||
DesiredNumberScheduled: 2,
|
||||
NumberAvailable: 1,
|
||||
},
|
||||
|
||||
msg: "daemon set \"foo\" successfully rolled out\n",
|
||||
done: true,
|
||||
},
|
||||
}
|
||||
|
||||
for i := range tests {
|
||||
@ -221,15 +206,11 @@ func TestDaemonSetStatusViewerStatus(t *testing.T) {
|
||||
},
|
||||
Spec: extensions.DaemonSetSpec{
|
||||
UpdateStrategy: extensions.DaemonSetUpdateStrategy{
|
||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||
RollingUpdate: &extensions.RollingUpdateDaemonSet{},
|
||||
Type: extensions.RollingUpdateDaemonSetStrategyType,
|
||||
},
|
||||
},
|
||||
Status: test.status,
|
||||
}
|
||||
if test.maxUnavailable != nil {
|
||||
d.Spec.UpdateStrategy.RollingUpdate.MaxUnavailable = *test.maxUnavailable
|
||||
}
|
||||
client := fake.NewSimpleClientset(d).Extensions()
|
||||
dsv := &DaemonSetStatusViewer{c: client}
|
||||
msg, done, err := dsv.Status("bar", "foo", 0)
|
||||
|
Loading…
Reference in New Issue
Block a user