mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #101875 from ravisantoshgudimetla/fix-nil-check
Fix nil check
This commit is contained in:
commit
c7be77935e
@ -847,33 +847,37 @@ func TestDaemonSetPodCreateExpectationsError(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestSimpleDaemonSetUpdatesStatusAfterLaunchingPods(t *testing.T) {
|
func TestSimpleDaemonSetUpdatesStatusAfterLaunchingPods(t *testing.T) {
|
||||||
for _, strategy := range updateStrategies() {
|
dsMaxSurgeFeatureFlags := []bool{false, true}
|
||||||
ds := newDaemonSet("foo")
|
for _, isEnabled := range dsMaxSurgeFeatureFlags {
|
||||||
ds.Spec.UpdateStrategy = *strategy
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.DaemonSetUpdateSurge, isEnabled)()
|
||||||
manager, podControl, clientset, err := newTestController(ds)
|
for _, strategy := range updateStrategies() {
|
||||||
if err != nil {
|
ds := newDaemonSet("foo")
|
||||||
t.Fatalf("error creating DaemonSets controller: %v", err)
|
ds.Spec.UpdateStrategy = *strategy
|
||||||
}
|
manager, podControl, clientset, err := newTestController(ds)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("error creating DaemonSets controller: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
var updated *apps.DaemonSet
|
var updated *apps.DaemonSet
|
||||||
clientset.PrependReactor("update", "daemonsets", func(action core.Action) (handled bool, ret runtime.Object, err error) {
|
clientset.PrependReactor("update", "daemonsets", func(action core.Action) (handled bool, ret runtime.Object, err error) {
|
||||||
if action.GetSubresource() != "status" {
|
if action.GetSubresource() != "status" {
|
||||||
|
return false, nil, nil
|
||||||
|
}
|
||||||
|
if u, ok := action.(core.UpdateAction); ok {
|
||||||
|
updated = u.GetObject().(*apps.DaemonSet)
|
||||||
|
}
|
||||||
return false, nil, nil
|
return false, nil, nil
|
||||||
}
|
})
|
||||||
if u, ok := action.(core.UpdateAction); ok {
|
|
||||||
updated = u.GetObject().(*apps.DaemonSet)
|
|
||||||
}
|
|
||||||
return false, nil, nil
|
|
||||||
})
|
|
||||||
|
|
||||||
manager.dsStore.Add(ds)
|
manager.dsStore.Add(ds)
|
||||||
addNodes(manager.nodeStore, 0, 5, nil)
|
addNodes(manager.nodeStore, 0, 5, nil)
|
||||||
expectSyncDaemonSets(t, manager, ds, podControl, 5, 0, 0)
|
expectSyncDaemonSets(t, manager, ds, podControl, 5, 0, 0)
|
||||||
|
|
||||||
// Make sure the single sync() updated Status already for the change made
|
// Make sure the single sync() updated Status already for the change made
|
||||||
// during the manage() phase.
|
// during the manage() phase.
|
||||||
if got, want := updated.Status.CurrentNumberScheduled, int32(5); got != want {
|
if got, want := updated.Status.CurrentNumberScheduled, int32(5); got != want {
|
||||||
t.Errorf("Status.CurrentNumberScheduled = %v, want %v", got, want)
|
t.Errorf("Status.CurrentNumberScheduled = %v, want %v", got, want)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -144,6 +144,10 @@ func SurgeCount(ds *apps.DaemonSet, numberToSchedule int) (int, error) {
|
|||||||
if r == nil {
|
if r == nil {
|
||||||
return 0, nil
|
return 0, nil
|
||||||
}
|
}
|
||||||
|
// If surge is not requested, we should default to 0.
|
||||||
|
if r.MaxSurge == nil {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
return intstrutil.GetScaledValueFromIntOrPercent(r.MaxSurge, numberToSchedule, true)
|
return intstrutil.GetScaledValueFromIntOrPercent(r.MaxSurge, numberToSchedule, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user