diff --git a/hack/generate-lib-resources.py b/hack/generate-lib-resources.py index 64e96ac92..1988f2de0 100755 --- a/hack/generate-lib-resources.py +++ b/hack/generate-lib-resources.py @@ -268,7 +268,6 @@ def scheme_group_versions(types): 'k8s.io/kube-aggregator/pkg/apis/apiregistration/v1': {'APIService'}, } - types['k8s.io/api/rbac/v1beta1'] = types['k8s.io/api/rbac/v1'] types['k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1'] = types['k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1'] types['k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1'] = types['k8s.io/kube-aggregator/pkg/apis/apiregistration/v1'] @@ -280,7 +279,6 @@ def scheme_group_versions(types): 'k8s.io/api/batch/v1': {'package': 'k8s.io/client-go/kubernetes/typed/batch/v1', 'type': 'BatchV1Client'}, 'k8s.io/api/core/v1': {'package': 'k8s.io/client-go/kubernetes/typed/core/v1', 'type': 'CoreV1Client'}, 'k8s.io/api/rbac/v1': {'package': 'k8s.io/client-go/kubernetes/typed/rbac/v1', 'type': 'RbacV1Client'}, - 'k8s.io/api/rbac/v1beta1': {'package': 'k8s.io/client-go/kubernetes/typed/rbac/v1beta1', 'type': 'RbacV1beta1Client'}, 'k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1': {'package': 'k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1', 'type': 'ApiextensionsV1Client'}, 'k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1': {'package': 'k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1', 'type': 'ApiextensionsV1beta1Client'}, 'k8s.io/kube-aggregator/pkg/apis/apiregistration/v1': {'package': 'k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1', 'type': 'ApiregistrationV1Client'}, diff --git a/lib/resourceapply/rbacv1beta1.go b/lib/resourceapply/rbacv1beta1.go deleted file mode 100644 index 80ed00a20..000000000 --- a/lib/resourceapply/rbacv1beta1.go +++ /dev/null @@ -1,112 +0,0 @@ -package resourceapply - -import ( - "context" - - "github.com/openshift/cluster-version-operator/lib/resourcemerge" - rbacv1beta1 "k8s.io/api/rbac/v1beta1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - rbacclientv1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" - "k8s.io/utils/pointer" -) - -// ApplyClusterRoleBindingv1beta1 applies the required clusterrolebinding to the cluster. -func ApplyClusterRoleBindingv1beta1(ctx context.Context, client rbacclientv1beta1.ClusterRoleBindingsGetter, required *rbacv1beta1.ClusterRoleBinding) (*rbacv1beta1.ClusterRoleBinding, bool, error) { - existing, err := client.ClusterRoleBindings().Get(ctx, required.Name, metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - actual, err := client.ClusterRoleBindings().Create(ctx, required, metav1.CreateOptions{}) - return actual, true, err - } - if err != nil { - return nil, false, err - } - // if we only create this resource, we have no need to continue further - if IsCreateOnly(required) { - return nil, false, nil - } - - modified := pointer.BoolPtr(false) - resourcemerge.EnsureClusterRoleBindingv1beta1(modified, existing, *required) - if !*modified { - return existing, false, nil - } - - actual, err := client.ClusterRoleBindings().Update(ctx, existing, metav1.UpdateOptions{}) - return actual, true, err -} - -// ApplyClusterRolev1beta1 applies the required clusterrole to the cluster. -func ApplyClusterRolev1beta1(ctx context.Context, client rbacclientv1beta1.ClusterRolesGetter, required *rbacv1beta1.ClusterRole) (*rbacv1beta1.ClusterRole, bool, error) { - existing, err := client.ClusterRoles().Get(ctx, required.Name, metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - actual, err := client.ClusterRoles().Create(ctx, required, metav1.CreateOptions{}) - return actual, true, err - } - if err != nil { - return nil, false, err - } - // if we only create this resource, we have no need to continue further - if IsCreateOnly(required) { - return nil, false, nil - } - - modified := pointer.BoolPtr(false) - resourcemerge.EnsureClusterRolev1beta1(modified, existing, *required) - if !*modified { - return existing, false, nil - } - - actual, err := client.ClusterRoles().Update(ctx, existing, metav1.UpdateOptions{}) - return actual, true, err -} - -// ApplyRoleBindingv1beta1 applies the required clusterrolebinding to the cluster. -func ApplyRoleBindingv1beta1(ctx context.Context, client rbacclientv1beta1.RoleBindingsGetter, required *rbacv1beta1.RoleBinding) (*rbacv1beta1.RoleBinding, bool, error) { - existing, err := client.RoleBindings(required.Namespace).Get(ctx, required.Name, metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - actual, err := client.RoleBindings(required.Namespace).Create(ctx, required, metav1.CreateOptions{}) - return actual, true, err - } - if err != nil { - return nil, false, err - } - // if we only create this resource, we have no need to continue further - if IsCreateOnly(required) { - return nil, false, nil - } - - modified := pointer.BoolPtr(false) - resourcemerge.EnsureRoleBindingv1beta1(modified, existing, *required) - if !*modified { - return existing, false, nil - } - - actual, err := client.RoleBindings(required.Namespace).Update(ctx, existing, metav1.UpdateOptions{}) - return actual, true, err -} - -// ApplyRolev1beta1 applies the required clusterrole to the cluster. -func ApplyRolev1beta1(ctx context.Context, client rbacclientv1beta1.RolesGetter, required *rbacv1beta1.Role) (*rbacv1beta1.Role, bool, error) { - existing, err := client.Roles(required.Namespace).Get(ctx, required.Name, metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - actual, err := client.Roles(required.Namespace).Create(ctx, required, metav1.CreateOptions{}) - return actual, true, err - } - if err != nil { - return nil, false, err - } - // if we only create this resource, we have no need to continue further - if IsCreateOnly(required) { - return nil, false, nil - } - - modified := pointer.BoolPtr(false) - resourcemerge.EnsureRolev1beta1(modified, existing, *required) - if !*modified { - return existing, false, nil - } - - actual, err := client.Roles(required.Namespace).Update(ctx, existing, metav1.UpdateOptions{}) - return actual, true, err -} diff --git a/lib/resourcebuilder/resourcebuilder.go b/lib/resourcebuilder/resourcebuilder.go index e16141cbc..a86a78084 100644 --- a/lib/resourcebuilder/resourcebuilder.go +++ b/lib/resourcebuilder/resourcebuilder.go @@ -19,7 +19,6 @@ import ( batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" - rbacv1beta1 "k8s.io/api/rbac/v1beta1" apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" apiextensionsclientv1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1" @@ -28,7 +27,6 @@ import ( batchclientv1 "k8s.io/client-go/kubernetes/typed/batch/v1" coreclientv1 "k8s.io/client-go/kubernetes/typed/core/v1" rbacclientv1 "k8s.io/client-go/kubernetes/typed/rbac/v1" - rbacclientv1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" "k8s.io/client-go/rest" apiregistrationv1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" apiregistrationv1beta1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1" @@ -52,7 +50,6 @@ type builder struct { coreClientv1 *coreclientv1.CoreV1Client imageClientv1 *imageclientv1.ImageV1Client rbacClientv1 *rbacclientv1.RbacV1Client - rbacClientv1beta1 *rbacclientv1beta1.RbacV1beta1Client securityClientv1 *securityclientv1.SecurityV1Client } @@ -70,7 +67,6 @@ func newBuilder(config *rest.Config, m manifest.Manifest) Interface { coreClientv1: coreclientv1.NewForConfigOrDie(withProtobuf(config)), imageClientv1: imageclientv1.NewForConfigOrDie(config), rbacClientv1: rbacclientv1.NewForConfigOrDie(withProtobuf(config)), - rbacClientv1beta1: rbacclientv1beta1.NewForConfigOrDie(withProtobuf(config)), securityClientv1: securityclientv1.NewForConfigOrDie(config), } } @@ -189,34 +185,6 @@ func (b *builder) Do(ctx context.Context) error { if _, _, err := resourceapply.ApplyRoleBindingv1(ctx, b.rbacClientv1, typedObject); err != nil { return err } - case *rbacv1beta1.ClusterRole: - if b.modifier != nil { - b.modifier(typedObject) - } - if _, _, err := resourceapply.ApplyClusterRolev1beta1(ctx, b.rbacClientv1beta1, typedObject); err != nil { - return err - } - case *rbacv1beta1.ClusterRoleBinding: - if b.modifier != nil { - b.modifier(typedObject) - } - if _, _, err := resourceapply.ApplyClusterRoleBindingv1beta1(ctx, b.rbacClientv1beta1, typedObject); err != nil { - return err - } - case *rbacv1beta1.Role: - if b.modifier != nil { - b.modifier(typedObject) - } - if _, _, err := resourceapply.ApplyRolev1beta1(ctx, b.rbacClientv1beta1, typedObject); err != nil { - return err - } - case *rbacv1beta1.RoleBinding: - if b.modifier != nil { - b.modifier(typedObject) - } - if _, _, err := resourceapply.ApplyRoleBindingv1beta1(ctx, b.rbacClientv1beta1, typedObject); err != nil { - return err - } case *apiextensionsv1.CustomResourceDefinition: if b.modifier != nil { b.modifier(typedObject) @@ -270,10 +238,6 @@ func init() { rm.RegisterGVK(rbacv1.SchemeGroupVersion.WithKind("ClusterRoleBinding"), newBuilder) rm.RegisterGVK(rbacv1.SchemeGroupVersion.WithKind("Role"), newBuilder) rm.RegisterGVK(rbacv1.SchemeGroupVersion.WithKind("RoleBinding"), newBuilder) - rm.RegisterGVK(rbacv1beta1.SchemeGroupVersion.WithKind("ClusterRole"), newBuilder) - rm.RegisterGVK(rbacv1beta1.SchemeGroupVersion.WithKind("ClusterRoleBinding"), newBuilder) - rm.RegisterGVK(rbacv1beta1.SchemeGroupVersion.WithKind("Role"), newBuilder) - rm.RegisterGVK(rbacv1beta1.SchemeGroupVersion.WithKind("RoleBinding"), newBuilder) rm.RegisterGVK(securityv1.SchemeGroupVersion.WithKind("SecurityContextConstraints"), newBuilder) rm.AddToMap(Mapper) } diff --git a/lib/resourcemerge/rbacv1beta1.go b/lib/resourcemerge/rbacv1beta1.go deleted file mode 100644 index d9e84d595..000000000 --- a/lib/resourcemerge/rbacv1beta1.go +++ /dev/null @@ -1,54 +0,0 @@ -package resourcemerge - -import ( - rbacv1beta1 "k8s.io/api/rbac/v1beta1" - "k8s.io/apimachinery/pkg/api/equality" -) - -// EnsureClusterRoleBindingv1beta1 ensures that the existing matches the required. -// modified is set to true when existing had to be updated with required. -func EnsureClusterRoleBindingv1beta1(modified *bool, existing *rbacv1beta1.ClusterRoleBinding, required rbacv1beta1.ClusterRoleBinding) { - EnsureObjectMeta(modified, &existing.ObjectMeta, required.ObjectMeta) - if !equality.Semantic.DeepEqual(existing.Subjects, required.Subjects) { - *modified = true - existing.Subjects = required.Subjects - } - if !equality.Semantic.DeepEqual(existing.RoleRef, required.RoleRef) { - *modified = true - existing.RoleRef = required.RoleRef - } -} - -// EnsureClusterRolev1beta1 ensures that the existing matches the required. -// modified is set to true when existing had to be updated with required. -func EnsureClusterRolev1beta1(modified *bool, existing *rbacv1beta1.ClusterRole, required rbacv1beta1.ClusterRole) { - EnsureObjectMeta(modified, &existing.ObjectMeta, required.ObjectMeta) - if !equality.Semantic.DeepEqual(existing.Rules, required.Rules) { - *modified = true - existing.Rules = required.Rules - } -} - -// EnsureRoleBindingv1beta1 ensures that the existing matches the required. -// modified is set to true when existing had to be updated with required. -func EnsureRoleBindingv1beta1(modified *bool, existing *rbacv1beta1.RoleBinding, required rbacv1beta1.RoleBinding) { - EnsureObjectMeta(modified, &existing.ObjectMeta, required.ObjectMeta) - if !equality.Semantic.DeepEqual(existing.Subjects, required.Subjects) { - *modified = true - existing.Subjects = required.Subjects - } - if !equality.Semantic.DeepEqual(existing.RoleRef, required.RoleRef) { - *modified = true - existing.RoleRef = required.RoleRef - } -} - -// EnsureRolev1beta1 ensures that the existing matches the required. -// modified is set to true when existing had to be updated with required. -func EnsureRolev1beta1(modified *bool, existing *rbacv1beta1.Role, required rbacv1beta1.Role) { - EnsureObjectMeta(modified, &existing.ObjectMeta, required.ObjectMeta) - if !equality.Semantic.DeepEqual(existing.Rules, required.Rules) { - *modified = true - existing.Rules = required.Rules - } -} diff --git a/lib/resourceread/resourceread.go b/lib/resourceread/resourceread.go index 61879f64e..af4d0cff4 100644 --- a/lib/resourceread/resourceread.go +++ b/lib/resourceread/resourceread.go @@ -10,7 +10,6 @@ import ( batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" - rbacv1beta1 "k8s.io/api/rbac/v1beta1" apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" "k8s.io/apimachinery/pkg/runtime" @@ -53,9 +52,6 @@ func init() { if err := rbacv1.AddToScheme(scheme); err != nil { panic(err) } - if err := rbacv1beta1.AddToScheme(scheme); err != nil { - panic(err) - } if err := securityv1.AddToScheme(scheme); err != nil { panic(err) } @@ -69,7 +65,6 @@ func init() { corev1.SchemeGroupVersion, imagev1.SchemeGroupVersion, rbacv1.SchemeGroupVersion, - rbacv1beta1.SchemeGroupVersion, securityv1.SchemeGroupVersion, ) }