diff --git a/cmd/hub-net-controller-manager/main.go b/cmd/hub-net-controller-manager/main.go index 2627e9f5..06eb7d5b 100644 --- a/cmd/hub-net-controller-manager/main.go +++ b/cmd/hub-net-controller-manager/main.go @@ -53,6 +53,8 @@ var ( "ServiceImport controller to resolve the service Spec") forceDeleteWaitTime = flag.Duration("force-delete-wait-time", 15*time.Minute, "The duration the fleet hub agent waits before trying to force delete a member cluster.") + + enableV1Beta1APIs = flag.Bool("enable-v1beta1-apis", true, "If set, the agents will watch for the v1beta1 APIs.") ) func init() { @@ -148,17 +150,19 @@ func main() { exitWithErrorFunc() } - discoverClient := discovery.NewDiscoveryClientForConfigOrDie(hubConfig) - gvk := clusterv1beta1.GroupVersion.WithKind(clusterv1beta1.MemberClusterKind) - if utils.CheckCRDInstalled(discoverClient, gvk) == nil { - klog.V(1).InfoS("Start to setup MemberCluster controller") - if err := (&membercluster.Reconciler{ - Client: mgr.GetClient(), - Recorder: mgr.GetEventRecorderFor(membercluster.ControllerName), - ForceDeleteWaitTime: *forceDeleteWaitTime, - }).SetupWithManager(mgr); err != nil { - klog.ErrorS(err, "Unable to create MemberCluster controller") - exitWithErrorFunc() + if *enableV1Beta1APIs { + discoverClient := discovery.NewDiscoveryClientForConfigOrDie(hubConfig) + gvk := clusterv1beta1.GroupVersion.WithKind(clusterv1beta1.MemberClusterKind) + if utils.CheckCRDInstalled(discoverClient, gvk) == nil { + klog.V(1).InfoS("Start to setup MemberCluster controller") + if err := (&membercluster.Reconciler{ + Client: mgr.GetClient(), + Recorder: mgr.GetEventRecorderFor(membercluster.ControllerName), + ForceDeleteWaitTime: *forceDeleteWaitTime, + }).SetupWithManager(mgr); err != nil { + klog.ErrorS(err, "Unable to create MemberCluster controller") + exitWithErrorFunc() + } } } diff --git a/pkg/controllers/hub/membercluster/controller.go b/pkg/controllers/hub/membercluster/controller.go index 0e0546e3..51ba9edb 100644 --- a/pkg/controllers/hub/membercluster/controller.go +++ b/pkg/controllers/hub/membercluster/controller.go @@ -23,7 +23,6 @@ import ( "sigs.k8s.io/controller-runtime/pkg/predicate" clusterv1beta1 "go.goms.io/fleet/apis/cluster/v1beta1" - "go.goms.io/fleet/pkg/utils/controller" fleetnetv1alpha1 "go.goms.io/fleet-networking/api/v1alpha1" "go.goms.io/fleet-networking/pkg/common/hubconfig" @@ -61,8 +60,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu return ctrl.Result{}, err } if mc.DeletionTimestamp.IsZero() { - klog.ErrorS(controller.NewUnexpectedBehaviorError(fmt.Errorf("member cluster %s is not being deleted", - mc.Name)), "The member cluster should have deletionTimeStamp set to a non-zero/non-nil value") + klog.V(3).InfoS("The member cluster is not being deleted, ignore it", "memberCluster", mcObjRef) return ctrl.Result{}, nil // no need to retry. }