Vendor: Update k8s version
Signed-off-by: Michał Żyłowski <michal.zylowski@intel.com>
This commit is contained in:
parent
dfa93414c5
commit
52baf68d50
3756 changed files with 113013 additions and 92675 deletions
1
vendor/k8s.io/kubernetes/pkg/kubelet/status/BUILD
generated
vendored
1
vendor/k8s.io/kubernetes/pkg/kubelet/status/BUILD
generated
vendored
|
@ -50,6 +50,7 @@ go_test(
|
|||
"//pkg/kubelet/container:go_default_library",
|
||||
"//pkg/kubelet/pod:go_default_library",
|
||||
"//pkg/kubelet/pod/testing:go_default_library",
|
||||
"//pkg/kubelet/secret:go_default_library",
|
||||
"//pkg/kubelet/types:go_default_library",
|
||||
"//vendor:github.com/stretchr/testify/assert",
|
||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||
|
|
11
vendor/k8s.io/kubernetes/pkg/kubelet/status/status_manager.go
generated
vendored
11
vendor/k8s.io/kubernetes/pkg/kubelet/status/status_manager.go
generated
vendored
|
@ -440,9 +440,9 @@ func (m *manager) syncPod(uid types.UID, status versionedPodStatus) {
|
|||
glog.V(3).Infof("Pod %q is terminated, but some containers are still running", format.Pod(pod))
|
||||
return
|
||||
}
|
||||
deleteOptions := v1.NewDeleteOptions(0)
|
||||
deleteOptions := metav1.NewDeleteOptions(0)
|
||||
// Use the pod UID as the precondition for deletion to prevent deleting a newly created pod with the same name and namespace.
|
||||
deleteOptions.Preconditions = v1.NewUIDPreconditions(string(pod.UID))
|
||||
deleteOptions.Preconditions = metav1.NewUIDPreconditions(string(pod.UID))
|
||||
if err = m.kubeClient.Core().Pods(pod.Namespace).Delete(pod.Name, deleteOptions); err == nil {
|
||||
glog.V(3).Infof("Pod %q fully terminated and removed from etcd", format.Pod(pod))
|
||||
m.deletePodStatus(uid)
|
||||
|
@ -513,6 +513,10 @@ func (m *manager) needsReconcile(uid types.UID, status v1.PodStatus) bool {
|
|||
// kubelet temporarily.
|
||||
// TODO(random-liu): Remove timestamp related logic after apiserver supports nanosecond or makes it consistent.
|
||||
func normalizeStatus(pod *v1.Pod, status *v1.PodStatus) *v1.PodStatus {
|
||||
bytesPerStatus := kubecontainer.MaxPodTerminationMessageLogLength
|
||||
if containers := len(pod.Spec.Containers) + len(pod.Spec.InitContainers); containers > 0 {
|
||||
bytesPerStatus = bytesPerStatus / containers
|
||||
}
|
||||
normalizeTimeStamp := func(t *metav1.Time) {
|
||||
*t = t.Rfc3339Copy()
|
||||
}
|
||||
|
@ -523,6 +527,9 @@ func normalizeStatus(pod *v1.Pod, status *v1.PodStatus) *v1.PodStatus {
|
|||
if c.Terminated != nil {
|
||||
normalizeTimeStamp(&c.Terminated.StartedAt)
|
||||
normalizeTimeStamp(&c.Terminated.FinishedAt)
|
||||
if len(c.Terminated.Message) > bytesPerStatus {
|
||||
c.Terminated.Message = c.Terminated.Message[:bytesPerStatus]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
57
vendor/k8s.io/kubernetes/pkg/kubelet/status/status_manager_test.go
generated
vendored
57
vendor/k8s.io/kubernetes/pkg/kubelet/status/status_manager_test.go
generated
vendored
|
@ -20,31 +20,32 @@ import (
|
|||
"fmt"
|
||||
"math/rand"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake"
|
||||
"k8s.io/kubernetes/pkg/client/testing/core"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake"
|
||||
"k8s.io/kubernetes/pkg/client/testing/core"
|
||||
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
||||
kubepod "k8s.io/kubernetes/pkg/kubelet/pod"
|
||||
podtest "k8s.io/kubernetes/pkg/kubelet/pod/testing"
|
||||
kubesecret "k8s.io/kubernetes/pkg/kubelet/secret"
|
||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
||||
)
|
||||
|
||||
// Generate new instance of test pod with the same initial value.
|
||||
func getTestPod() *v1.Pod {
|
||||
return &v1.Pod{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
UID: "12345678",
|
||||
Name: "foo",
|
||||
Namespace: "new",
|
||||
|
@ -71,7 +72,7 @@ func (m *manager) testSyncBatch() {
|
|||
}
|
||||
|
||||
func newTestManager(kubeClient clientset.Interface) *manager {
|
||||
podManager := kubepod.NewBasicPodManager(podtest.NewFakeMirrorClient())
|
||||
podManager := kubepod.NewBasicPodManager(podtest.NewFakeMirrorClient(), kubesecret.NewFakeManager())
|
||||
podManager.AddPod(getTestPod())
|
||||
return NewManager(kubeClient, podManager).(*manager)
|
||||
}
|
||||
|
@ -138,7 +139,7 @@ func TestNewStatus(t *testing.T) {
|
|||
func TestNewStatusPreservesPodStartTime(t *testing.T) {
|
||||
syncer := newTestManager(&fake.Clientset{})
|
||||
pod := &v1.Pod{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
UID: "12345678",
|
||||
Name: "foo",
|
||||
Namespace: "new",
|
||||
|
@ -171,7 +172,7 @@ func TestNewStatusSetsReadyTransitionTime(t *testing.T) {
|
|||
syncer := newTestManager(&fake.Clientset{})
|
||||
podStatus := getReadyPodStatus()
|
||||
pod := &v1.Pod{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
UID: "12345678",
|
||||
Name: "foo",
|
||||
Namespace: "new",
|
||||
|
@ -218,7 +219,7 @@ func TestChangedStatusUpdatesLastTransitionTime(t *testing.T) {
|
|||
syncer := newTestManager(&fake.Clientset{})
|
||||
podStatus := getReadyPodStatus()
|
||||
pod := &v1.Pod{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
UID: "12345678",
|
||||
Name: "foo",
|
||||
Namespace: "new",
|
||||
|
@ -257,7 +258,7 @@ func TestUnchangedStatusPreservesLastTransitionTime(t *testing.T) {
|
|||
syncer := newTestManager(&fake.Clientset{})
|
||||
podStatus := getReadyPodStatus()
|
||||
pod := &v1.Pod{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
UID: "12345678",
|
||||
Name: "foo",
|
||||
Namespace: "new",
|
||||
|
@ -479,6 +480,40 @@ func TestStatusEquality(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestStatusNormalizationEnforcesMaxBytes(t *testing.T) {
|
||||
pod := v1.Pod{
|
||||
Spec: v1.PodSpec{},
|
||||
}
|
||||
containerStatus := []v1.ContainerStatus{}
|
||||
for i := 0; i < 48; i++ {
|
||||
s := v1.ContainerStatus{
|
||||
Name: fmt.Sprintf("container%d", i),
|
||||
LastTerminationState: v1.ContainerState{
|
||||
Terminated: &v1.ContainerStateTerminated{
|
||||
Message: strings.Repeat("abcdefgh", int(24+i%3)),
|
||||
},
|
||||
},
|
||||
}
|
||||
containerStatus = append(containerStatus, s)
|
||||
}
|
||||
podStatus := v1.PodStatus{
|
||||
InitContainerStatuses: containerStatus[:24],
|
||||
ContainerStatuses: containerStatus[24:],
|
||||
}
|
||||
result := normalizeStatus(&pod, &podStatus)
|
||||
count := 0
|
||||
for _, s := range result.InitContainerStatuses {
|
||||
l := len(s.LastTerminationState.Terminated.Message)
|
||||
if l < 192 || l > 256 {
|
||||
t.Errorf("container message had length %d", l)
|
||||
}
|
||||
count += l
|
||||
}
|
||||
if count > kubecontainer.MaxPodTerminationMessageLogLength {
|
||||
t.Errorf("message length not truncated")
|
||||
}
|
||||
}
|
||||
|
||||
func TestStaticPod(t *testing.T) {
|
||||
staticPod := getTestPod()
|
||||
staticPod.Annotations = map[string]string{kubetypes.ConfigSourceAnnotationKey: "file"}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue