mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-29 05:22:37 +00:00
clear init container status annotations when cleared in status
This commit is contained in:
parent
c717a0ee2b
commit
86bc27b6a1
@ -103,6 +103,9 @@ func SetInitContainersStatusesAnnotations(pod *v1.Pod) error {
|
||||
}
|
||||
pod.Annotations[v1.PodInitContainerStatusesAnnotationKey] = string(value)
|
||||
pod.Annotations[v1.PodInitContainerStatusesBetaAnnotationKey] = string(value)
|
||||
} else {
|
||||
delete(pod.Annotations, v1.PodInitContainerStatusesAnnotationKey)
|
||||
delete(pod.Annotations, v1.PodInitContainerStatusesBetaAnnotationKey)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||
package pod
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
@ -399,3 +400,52 @@ func TestIsPodAvailable(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetInitContainersStatusesAnnotations(t *testing.T) {
|
||||
testStatuses := []v1.ContainerStatus{
|
||||
{
|
||||
Name: "test",
|
||||
},
|
||||
}
|
||||
value, _ := json.Marshal(testStatuses)
|
||||
testAnnotation := string(value)
|
||||
tests := []struct {
|
||||
name string
|
||||
pod *v1.Pod
|
||||
annotations map[string]string
|
||||
}{
|
||||
{
|
||||
name: "Populate annotations from status",
|
||||
pod: &v1.Pod{
|
||||
Status: v1.PodStatus{
|
||||
InitContainerStatuses: testStatuses,
|
||||
},
|
||||
},
|
||||
annotations: map[string]string{
|
||||
v1.PodInitContainerStatusesAnnotationKey: testAnnotation,
|
||||
v1.PodInitContainerStatusesBetaAnnotationKey: testAnnotation,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Clear annotations if no status",
|
||||
pod: &v1.Pod{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Annotations: map[string]string{
|
||||
v1.PodInitContainerStatusesAnnotationKey: testAnnotation,
|
||||
v1.PodInitContainerStatusesBetaAnnotationKey: testAnnotation,
|
||||
},
|
||||
},
|
||||
Status: v1.PodStatus{
|
||||
InitContainerStatuses: []v1.ContainerStatus{},
|
||||
},
|
||||
},
|
||||
annotations: map[string]string{},
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
SetInitContainersStatusesAnnotations(test.pod)
|
||||
if !reflect.DeepEqual(test.pod.Annotations, test.annotations) {
|
||||
t.Errorf("%v, actual = %v, expected = %v", test.name, test.pod.Annotations, test.annotations)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user