mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Improve kubelet test for env vars
This commit is contained in:
		@@ -1997,15 +1997,14 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
		name            string         // the name of the test case
 | 
							name            string         // the name of the test case
 | 
				
			||||||
		ns              string         // the namespace to generate environment for
 | 
							ns              string         // the namespace to generate environment for
 | 
				
			||||||
		container       *api.Container // the container to use
 | 
							container       *api.Container // the container to use
 | 
				
			||||||
		masterServiceNamespace string         // the namespace to read master service info from
 | 
							masterServiceNs string         // the namespace to read master service info from
 | 
				
			||||||
		nilLister       bool           // whether the lister should be nil
 | 
							nilLister       bool           // whether the lister should be nil
 | 
				
			||||||
		expectedEnvs    util.StringSet // a set of expected environment vars
 | 
							expectedEnvs    util.StringSet // a set of expected environment vars
 | 
				
			||||||
		expectedEnvSize        int            // total number of expected env vars
 | 
					 | 
				
			||||||
	}{
 | 
						}{
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"api server = Y, kubelet = Y",
 | 
								name: "api server = Y, kubelet = Y",
 | 
				
			||||||
			"test1",
 | 
								ns:   "test1",
 | 
				
			||||||
			&api.Container{
 | 
								container: &api.Container{
 | 
				
			||||||
				Env: []api.EnvVar{
 | 
									Env: []api.EnvVar{
 | 
				
			||||||
					{Name: "FOO", Value: "BAR"},
 | 
										{Name: "FOO", Value: "BAR"},
 | 
				
			||||||
					{Name: "TEST_SERVICE_HOST", Value: "1.2.3.3"},
 | 
										{Name: "TEST_SERVICE_HOST", Value: "1.2.3.3"},
 | 
				
			||||||
@@ -2017,9 +2016,10 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
					{Name: "TEST_PORT_8083_TCP_ADDR", Value: "1.2.3.3"},
 | 
										{Name: "TEST_PORT_8083_TCP_ADDR", Value: "1.2.3.3"},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			api.NamespaceDefault,
 | 
								masterServiceNs: api.NamespaceDefault,
 | 
				
			||||||
			false,
 | 
								nilLister:       false,
 | 
				
			||||||
			util.NewStringSet("FOO=BAR",
 | 
								expectedEnvs: util.NewStringSet(
 | 
				
			||||||
 | 
									"FOO=BAR",
 | 
				
			||||||
				"TEST_SERVICE_HOST=1.2.3.3",
 | 
									"TEST_SERVICE_HOST=1.2.3.3",
 | 
				
			||||||
				"TEST_SERVICE_PORT=8083",
 | 
									"TEST_SERVICE_PORT=8083",
 | 
				
			||||||
				"TEST_PORT=tcp://1.2.3.3:8083",
 | 
									"TEST_PORT=tcp://1.2.3.3:8083",
 | 
				
			||||||
@@ -2041,12 +2041,11 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
				"KUBERNETES_RO_PORT_8082_TCP_PROTO=tcp",
 | 
									"KUBERNETES_RO_PORT_8082_TCP_PROTO=tcp",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8082_TCP_PORT=8082",
 | 
									"KUBERNETES_RO_PORT_8082_TCP_PORT=8082",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8082_TCP_ADDR=1.2.3.2"),
 | 
									"KUBERNETES_RO_PORT_8082_TCP_ADDR=1.2.3.2"),
 | 
				
			||||||
			22,
 | 
					 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"api server = Y, kubelet = N",
 | 
								name: "api server = Y, kubelet = N",
 | 
				
			||||||
			"test1",
 | 
								ns:   "test1",
 | 
				
			||||||
			&api.Container{
 | 
								container: &api.Container{
 | 
				
			||||||
				Env: []api.EnvVar{
 | 
									Env: []api.EnvVar{
 | 
				
			||||||
					{Name: "FOO", Value: "BAR"},
 | 
										{Name: "FOO", Value: "BAR"},
 | 
				
			||||||
					{Name: "TEST_SERVICE_HOST", Value: "1.2.3.3"},
 | 
										{Name: "TEST_SERVICE_HOST", Value: "1.2.3.3"},
 | 
				
			||||||
@@ -2058,9 +2057,10 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
					{Name: "TEST_PORT_8083_TCP_ADDR", Value: "1.2.3.3"},
 | 
										{Name: "TEST_PORT_8083_TCP_ADDR", Value: "1.2.3.3"},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			api.NamespaceDefault,
 | 
								masterServiceNs: api.NamespaceDefault,
 | 
				
			||||||
			true,
 | 
								nilLister:       true,
 | 
				
			||||||
			util.NewStringSet("FOO=BAR",
 | 
								expectedEnvs: util.NewStringSet(
 | 
				
			||||||
 | 
									"FOO=BAR",
 | 
				
			||||||
				"TEST_SERVICE_HOST=1.2.3.3",
 | 
									"TEST_SERVICE_HOST=1.2.3.3",
 | 
				
			||||||
				"TEST_SERVICE_PORT=8083",
 | 
									"TEST_SERVICE_PORT=8083",
 | 
				
			||||||
				"TEST_PORT=tcp://1.2.3.3:8083",
 | 
									"TEST_PORT=tcp://1.2.3.3:8083",
 | 
				
			||||||
@@ -2068,19 +2068,19 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
				"TEST_PORT_8083_TCP_PROTO=tcp",
 | 
									"TEST_PORT_8083_TCP_PROTO=tcp",
 | 
				
			||||||
				"TEST_PORT_8083_TCP_PORT=8083",
 | 
									"TEST_PORT_8083_TCP_PORT=8083",
 | 
				
			||||||
				"TEST_PORT_8083_TCP_ADDR=1.2.3.3"),
 | 
									"TEST_PORT_8083_TCP_ADDR=1.2.3.3"),
 | 
				
			||||||
			8,
 | 
					 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"api server = N; kubelet = Y",
 | 
								name: "api server = N; kubelet = Y",
 | 
				
			||||||
			"test1",
 | 
								ns:   "test1",
 | 
				
			||||||
			&api.Container{
 | 
								container: &api.Container{
 | 
				
			||||||
				Env: []api.EnvVar{
 | 
									Env: []api.EnvVar{
 | 
				
			||||||
					{Name: "FOO", Value: "BAZ"},
 | 
										{Name: "FOO", Value: "BAZ"},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			api.NamespaceDefault,
 | 
								masterServiceNs: api.NamespaceDefault,
 | 
				
			||||||
			false,
 | 
								nilLister:       false,
 | 
				
			||||||
			util.NewStringSet("FOO=BAZ",
 | 
								expectedEnvs: util.NewStringSet(
 | 
				
			||||||
 | 
									"FOO=BAZ",
 | 
				
			||||||
				"TEST_SERVICE_HOST=1.2.3.3",
 | 
									"TEST_SERVICE_HOST=1.2.3.3",
 | 
				
			||||||
				"TEST_SERVICE_PORT=8083",
 | 
									"TEST_SERVICE_PORT=8083",
 | 
				
			||||||
				"TEST_PORT=tcp://1.2.3.3:8083",
 | 
									"TEST_PORT=tcp://1.2.3.3:8083",
 | 
				
			||||||
@@ -2102,19 +2102,19 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
				"KUBERNETES_RO_PORT_8082_TCP_PROTO=tcp",
 | 
									"KUBERNETES_RO_PORT_8082_TCP_PROTO=tcp",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8082_TCP_PORT=8082",
 | 
									"KUBERNETES_RO_PORT_8082_TCP_PORT=8082",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8082_TCP_ADDR=1.2.3.2"),
 | 
									"KUBERNETES_RO_PORT_8082_TCP_ADDR=1.2.3.2"),
 | 
				
			||||||
			22,
 | 
					 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"master service in pod ns",
 | 
								name: "master service in pod ns",
 | 
				
			||||||
			"test2",
 | 
								ns:   "test2",
 | 
				
			||||||
			&api.Container{
 | 
								container: &api.Container{
 | 
				
			||||||
				Env: []api.EnvVar{
 | 
									Env: []api.EnvVar{
 | 
				
			||||||
					{Name: "FOO", Value: "ZAP"},
 | 
										{Name: "FOO", Value: "ZAP"},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			"kubernetes",
 | 
								masterServiceNs: "kubernetes",
 | 
				
			||||||
			false,
 | 
								nilLister:       false,
 | 
				
			||||||
			util.NewStringSet("FOO=ZAP",
 | 
								expectedEnvs: util.NewStringSet(
 | 
				
			||||||
 | 
									"FOO=ZAP",
 | 
				
			||||||
				"TEST_SERVICE_HOST=1.2.3.5",
 | 
									"TEST_SERVICE_HOST=1.2.3.5",
 | 
				
			||||||
				"TEST_SERVICE_PORT=8085",
 | 
									"TEST_SERVICE_PORT=8085",
 | 
				
			||||||
				"TEST_PORT=tcp://1.2.3.5:8085",
 | 
									"TEST_PORT=tcp://1.2.3.5:8085",
 | 
				
			||||||
@@ -2136,15 +2136,14 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
				"KUBERNETES_RO_PORT_8087_TCP_PROTO=tcp",
 | 
									"KUBERNETES_RO_PORT_8087_TCP_PROTO=tcp",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8087_TCP_PORT=8087",
 | 
									"KUBERNETES_RO_PORT_8087_TCP_PORT=8087",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8087_TCP_ADDR=1.2.3.7"),
 | 
									"KUBERNETES_RO_PORT_8087_TCP_ADDR=1.2.3.7"),
 | 
				
			||||||
			22,
 | 
					 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"pod in master service ns",
 | 
								name:            "pod in master service ns",
 | 
				
			||||||
			"kubernetes",
 | 
								ns:              "kubernetes",
 | 
				
			||||||
			&api.Container{},
 | 
								container:       &api.Container{},
 | 
				
			||||||
			"kubernetes",
 | 
								masterServiceNs: "kubernetes",
 | 
				
			||||||
			false,
 | 
								nilLister:       false,
 | 
				
			||||||
			util.NewStringSet(
 | 
								expectedEnvs: util.NewStringSet(
 | 
				
			||||||
				"NOT_SPECIAL_SERVICE_HOST=1.2.3.8",
 | 
									"NOT_SPECIAL_SERVICE_HOST=1.2.3.8",
 | 
				
			||||||
				"NOT_SPECIAL_SERVICE_PORT=8088",
 | 
									"NOT_SPECIAL_SERVICE_PORT=8088",
 | 
				
			||||||
				"NOT_SPECIAL_PORT=tcp://1.2.3.8:8088",
 | 
									"NOT_SPECIAL_PORT=tcp://1.2.3.8:8088",
 | 
				
			||||||
@@ -2166,12 +2165,11 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
				"KUBERNETES_RO_PORT_8087_TCP_PROTO=tcp",
 | 
									"KUBERNETES_RO_PORT_8087_TCP_PROTO=tcp",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8087_TCP_PORT=8087",
 | 
									"KUBERNETES_RO_PORT_8087_TCP_PORT=8087",
 | 
				
			||||||
				"KUBERNETES_RO_PORT_8087_TCP_ADDR=1.2.3.7"),
 | 
									"KUBERNETES_RO_PORT_8087_TCP_ADDR=1.2.3.7"),
 | 
				
			||||||
			21,
 | 
					 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"downward api pod",
 | 
								name: "downward api pod",
 | 
				
			||||||
			"downward-api",
 | 
								ns:   "downward-api",
 | 
				
			||||||
			&api.Container{
 | 
								container: &api.Container{
 | 
				
			||||||
				Env: []api.EnvVar{
 | 
									Env: []api.EnvVar{
 | 
				
			||||||
					{
 | 
										{
 | 
				
			||||||
						Name: "POD_NAME",
 | 
											Name: "POD_NAME",
 | 
				
			||||||
@@ -2193,20 +2191,19 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
					},
 | 
										},
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			"nothing",
 | 
								masterServiceNs: "nothing",
 | 
				
			||||||
			true,
 | 
								nilLister:       true,
 | 
				
			||||||
			util.NewStringSet(
 | 
								expectedEnvs: util.NewStringSet(
 | 
				
			||||||
				"POD_NAME=dapi-test-pod-name",
 | 
									"POD_NAME=dapi-test-pod-name",
 | 
				
			||||||
				"POD_NAMESPACE=downward-api",
 | 
									"POD_NAMESPACE=downward-api",
 | 
				
			||||||
			),
 | 
								),
 | 
				
			||||||
			2,
 | 
					 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for _, tc := range testCases {
 | 
						for _, tc := range testCases {
 | 
				
			||||||
		testKubelet := newTestKubelet(t)
 | 
							testKubelet := newTestKubelet(t)
 | 
				
			||||||
		kl := testKubelet.kubelet
 | 
							kl := testKubelet.kubelet
 | 
				
			||||||
		kl.masterServiceNamespace = tc.masterServiceNamespace
 | 
							kl.masterServiceNamespace = tc.masterServiceNs
 | 
				
			||||||
		if tc.nilLister {
 | 
							if tc.nilLister {
 | 
				
			||||||
			kl.serviceLister = nil
 | 
								kl.serviceLister = nil
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
@@ -2226,12 +2223,13 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		resultSet := util.NewStringSet(result...)
 | 
							resultSet := util.NewStringSet(result...)
 | 
				
			||||||
		if !resultSet.IsSuperset(tc.expectedEnvs) {
 | 
							if !resultSet.HasAll(tc.expectedEnvs.List()...) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			t.Errorf("[%v] Unexpected env entries; expected {%v}, got {%v}", tc.name, tc.expectedEnvs, resultSet)
 | 
								t.Errorf("[%v] Unexpected env entries; expected {%v}, got {%v}", tc.name, tc.expectedEnvs, resultSet)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if a := len(resultSet); a != tc.expectedEnvSize {
 | 
							if a, e := len(resultSet), len(tc.expectedEnvs); e != a {
 | 
				
			||||||
			t.Errorf("[%v] Unexpected number of env vars; expected %v, got %v", tc.name, tc.expectedEnvSize, a)
 | 
								t.Errorf("[%v] Unexpected number of env vars; expected %v, got %v", tc.name, e, a)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user