diff --git a/test/e2e_kubeadm/kubelet_config_test.go b/test/e2e_kubeadm/kubelet_config_test.go index 7ccc778d360..d109a786cbb 100644 --- a/test/e2e_kubeadm/kubelet_config_test.go +++ b/test/e2e_kubeadm/kubelet_config_test.go @@ -17,12 +17,7 @@ limitations under the License. package kubeadm import ( - "context" - "fmt" - rbacv1 "k8s.io/api/rbac/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/version" "k8s.io/kubernetes/test/e2e/framework" admissionapi "k8s.io/pod-security-admission/api" @@ -38,13 +33,6 @@ var ( kubeletConfigConfigMapName string kubeletConfigRoleName string kubeletConfigRoleBindingName string - - // TODO: remove these versioned strings and related logic once the UnversionedKubeletConfigMap - // feature gate goes GA: - // https://github.com/kubernetes/kubeadm/issues/1582 - kubeletConfigConfigMapNameVersioned string - kubeletConfigRoleNameVersioned string - kubeletConfigRoleBindingNameVersioned string ) // Define container for all the test specification aimed at verifying @@ -68,68 +56,19 @@ var _ = Describe("kubelet-config ConfigMap", func() { return } - // gets the ClusterConfiguration from the kubeadm kubeadm-config ConfigMap as a untyped map - m := getClusterConfiguration(f.ClientSet) - - // Extract the kubernetesVersion - // TODO: remove this after the UnversionedKubeletConfigMap feature gate goes GA: - // https://github.com/kubernetes/kubeadm/issues/1582 - // At that point parsing the k8s version will no longer be needed in this test. - gomega.Expect(m).To(gomega.HaveKey("kubernetesVersion")) - k8sVersionString := m["kubernetesVersion"].(string) - k8sVersion, err := version.ParseSemantic(k8sVersionString) - if err != nil { - framework.Failf("error reading kubernetesVersion from %s ConfigMap: %v", kubeadmConfigName, err) - } - kubeletConfigConfigMapName = "kubelet-config" kubeletConfigRoleName = "kubeadm:kubelet-config" kubeletConfigRoleBindingName = kubeletConfigRoleName - - kubeletConfigConfigMapNameVersioned = fmt.Sprintf("kubelet-config-%d.%d", k8sVersion.Major(), k8sVersion.Minor()) - kubeletConfigRoleNameVersioned = fmt.Sprintf("kubeadm:kubelet-config-%d.%d", k8sVersion.Major(), k8sVersion.Minor()) - kubeletConfigRoleBindingNameVersioned = kubeletConfigRoleNameVersioned }) ginkgo.It("should exist and be properly configured", func() { - // TODO: switch to GetConfigMap once UnversionedKubeletConfigMap feature gate goes GA: - // https://github.com/kubernetes/kubeadm/issues/1582 - cm, err := f.ClientSet.CoreV1(). - ConfigMaps(kubeSystemNamespace). - Get(context.TODO(), kubeletConfigConfigMapName, metav1.GetOptions{}) - if err != nil { - cm, err = f.ClientSet.CoreV1(). - ConfigMaps(kubeSystemNamespace). - Get(context.TODO(), kubeletConfigConfigMapNameVersioned, metav1.GetOptions{}) - framework.ExpectNoError(err, "error getting ConfigMap %q or %q from namespace %q", - kubeletConfigConfigMapName, kubeletConfigConfigMapNameVersioned, kubeSystemNamespace) - } + cm := GetConfigMap(f.ClientSet, kubeSystemNamespace, kubeletConfigConfigMapName) gomega.Expect(cm.Data).To(gomega.HaveKey(kubeletConfigConfigMapKey)) }) ginkgo.It("should have related Role and RoleBinding", func() { - // TODO: switch to ExpectRole(Binding) once UnversionedKubeletConfigMap feature gate goes GA: - // https://github.com/kubernetes/kubeadm/issues/1582 - _, err := f.ClientSet.RbacV1(). - Roles(kubeSystemNamespace). - Get(context.TODO(), kubeletConfigRoleName, metav1.GetOptions{}) - if err != nil { - _, err = f.ClientSet.RbacV1(). - Roles(kubeSystemNamespace). - Get(context.TODO(), kubeletConfigRoleNameVersioned, metav1.GetOptions{}) - framework.ExpectNoError(err, "error getting Role %q or %q from namespace %q", - kubeletConfigRoleName, kubeletConfigRoleNameVersioned, kubeSystemNamespace) - } - _, err = f.ClientSet.RbacV1(). - Roles(kubeSystemNamespace). - Get(context.TODO(), kubeletConfigRoleBindingName, metav1.GetOptions{}) - if err != nil { - _, err = f.ClientSet.RbacV1(). - Roles(kubeSystemNamespace). - Get(context.TODO(), kubeletConfigRoleBindingNameVersioned, metav1.GetOptions{}) - framework.ExpectNoError(err, "error getting RoleBinding %q or %q from namespace %q", - kubeletConfigRoleBindingName, kubeletConfigRoleBindingNameVersioned, kubeSystemNamespace) - } + ExpectRole(f.ClientSet, kubeSystemNamespace, kubeletConfigRoleName) + ExpectRoleBinding(f.ClientSet, kubeSystemNamespace, kubeletConfigRoleBindingName) }) ginkgo.It("should be accessible for bootstrap tokens", func() {