mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	kubeadm: Add back labels for the Static Pod control plane
This commit is contained in:
		@@ -21,6 +21,7 @@ go_test(
 | 
			
		||||
        "//cmd/kubeadm/app/constants:go_default_library",
 | 
			
		||||
        "//pkg/util/version:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/api/core/v1:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apimachinery/pkg/util/yaml:go_default_library",
 | 
			
		||||
    ],
 | 
			
		||||
 
 | 
			
		||||
@@ -166,6 +166,9 @@ func componentPod(container v1.Container, volumes []v1.Volume) v1.Pod {
 | 
			
		||||
			Name:        container.Name,
 | 
			
		||||
			Namespace:   metav1.NamespaceSystem,
 | 
			
		||||
			Annotations: map[string]string{kubetypes.CriticalPodAnnotationKey: ""},
 | 
			
		||||
			// The component and tier labels are useful for quickly identifying the control plane Pods when doing a .List()
 | 
			
		||||
			// against Pods in the kube-system namespace. Can for example be used together with the WaitForPodsWithLabel function
 | 
			
		||||
			Labels: map[string]string{"component": container.Name, "tier": "control-plane"},
 | 
			
		||||
		},
 | 
			
		||||
		Spec: v1.PodSpec{
 | 
			
		||||
			Containers:  []v1.Container{container},
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ import (
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"k8s.io/api/core/v1"
 | 
			
		||||
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/intstr"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/yaml"
 | 
			
		||||
	kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
 | 
			
		||||
@@ -179,22 +180,43 @@ func TestComponentProbe(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
func TestComponentPod(t *testing.T) {
 | 
			
		||||
	var tests = []struct {
 | 
			
		||||
		n string
 | 
			
		||||
		name     string
 | 
			
		||||
		expected v1.Pod
 | 
			
		||||
	}{
 | 
			
		||||
		{
 | 
			
		||||
			n: "foo",
 | 
			
		||||
			name: "foo",
 | 
			
		||||
			expected: v1.Pod{
 | 
			
		||||
				TypeMeta: metav1.TypeMeta{
 | 
			
		||||
					APIVersion: "v1",
 | 
			
		||||
					Kind:       "Pod",
 | 
			
		||||
				},
 | 
			
		||||
				ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
					Name:        "foo",
 | 
			
		||||
					Namespace:   "kube-system",
 | 
			
		||||
					Annotations: map[string]string{"scheduler.alpha.kubernetes.io/critical-pod": ""},
 | 
			
		||||
					Labels:      map[string]string{"component": "foo", "tier": "control-plane"},
 | 
			
		||||
				},
 | 
			
		||||
				Spec: v1.PodSpec{
 | 
			
		||||
					Containers: []v1.Container{
 | 
			
		||||
						{
 | 
			
		||||
							Name: "foo",
 | 
			
		||||
						},
 | 
			
		||||
					},
 | 
			
		||||
					HostNetwork: true,
 | 
			
		||||
					Volumes:     []v1.Volume{},
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, rt := range tests {
 | 
			
		||||
		c := v1.Container{Name: rt.n}
 | 
			
		||||
		v := []v1.Volume{}
 | 
			
		||||
		actual := componentPod(c, v)
 | 
			
		||||
		if actual.ObjectMeta.Name != rt.n {
 | 
			
		||||
		c := v1.Container{Name: rt.name}
 | 
			
		||||
		actual := componentPod(c, []v1.Volume{})
 | 
			
		||||
		if !reflect.DeepEqual(rt.expected, actual) {
 | 
			
		||||
			t.Errorf(
 | 
			
		||||
				"failed componentPod:\n\texpected: %s\n\t  actual: %s",
 | 
			
		||||
				rt.n,
 | 
			
		||||
				actual.ObjectMeta.Name,
 | 
			
		||||
				"failed componentPod:\n\texpected: %v\n\t  actual: %v",
 | 
			
		||||
				rt.expected,
 | 
			
		||||
				actual,
 | 
			
		||||
			)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user