Revert respecting maxUnavailable for DaemonSets

Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
This commit is contained in:
Michail Kargakis 2017-04-19 14:33:34 +02:00
parent 1923cc60c9
commit 0a59f6c487
No known key found for this signature in database
GPG Key ID: EA0DEBF5DFA276E0
2 changed files with 9 additions and 32 deletions

View File

@ -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
}

View File

@ -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)