mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 11:21:47 +00:00
e2e_kubeadm: cleanup tests for UnversionedKubeletConfig
- don't require clusteconfiguration.kubernetesVersion - use the helper functions GetConfigMap, ExpectRole, ExpectRoleBinding (these were used before UnversionedKubeletConfig went Beta)
This commit is contained in:
parent
9f6df1d489
commit
403ca0c1a2
@ -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() {
|
||||
|
Loading…
Reference in New Issue
Block a user