Skip to content

Commit

Permalink
fix: disable v1beta1 MC/IMC controllers (#466)
Browse files Browse the repository at this point in the history
  • Loading branch information
Arvindthiru authored Aug 2, 2023
1 parent 93b59b4 commit 0b663c4
Show file tree
Hide file tree
Showing 9 changed files with 92 additions and 95 deletions.
36 changes: 36 additions & 0 deletions apis/placement/v1beta1/types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package v1beta1

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
)

// A Conditioned may have conditions set or retrieved. Conditions typically
// indicate the status of both a resource and its reconciliation process.
// +kubebuilder:object:generate=false
type Conditioned interface {
SetConditions(...metav1.Condition)
GetCondition(string) *metav1.Condition
}

// A ConditionedWithType may have conditions set or retrieved based on agent type. Conditions typically
// indicate the status of both a resource and its reconciliation process.
// +kubebuilder:object:generate=false
type ConditionedWithType interface {
SetConditionsWithType(AgentType, ...metav1.Condition)
GetConditionWithType(AgentType, string) *metav1.Condition
}

// A ConditionedObj is for kubernetes resource with conditions.
// +kubebuilder:object:generate=false
type ConditionedObj interface {
client.Object
Conditioned
}

// A ConditionedAgentObj is for kubernetes resources where multiple agents can set and update conditions within AgentStatus.
// +kubebuilder:object:generate=false
type ConditionedAgentObj interface {
client.Object
ConditionedWithType
}
53 changes: 0 additions & 53 deletions apis/types.go

This file was deleted.

36 changes: 36 additions & 0 deletions apis/v1alpha1/types.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package v1alpha1

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client"
)

// A Conditioned may have conditions set or retrieved. Conditions typically
// indicate the status of both a resource and its reconciliation process.
// +kubebuilder:object:generate=false
type Conditioned interface {
SetConditions(...metav1.Condition)
GetCondition(string) *metav1.Condition
}

// A ConditionedWithType may have conditions set or retrieved based on agent type. Conditions typically
// indicate the status of both a resource and its reconciliation process.
// +kubebuilder:object:generate=false
type ConditionedWithType interface {
SetConditionsWithType(AgentType, ...metav1.Condition)
GetConditionWithType(AgentType, string) *metav1.Condition
}

// A ConditionedObj is for kubernetes resource with conditions.
// +kubebuilder:object:generate=false
type ConditionedObj interface {
client.Object
Conditioned
}

// A ConditionedAgentObj is for kubernetes resources where multiple agents can set and update conditions within AgentStatus.
// +kubebuilder:object:generate=false
type ConditionedAgentObj interface {
client.Object
ConditionedWithType
}
11 changes: 0 additions & 11 deletions cmd/hubagent/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,10 @@ import (
"sigs.k8s.io/controller-runtime/pkg/metrics"
workv1alpha1 "sigs.k8s.io/work-api/pkg/apis/v1alpha1"

fleetv1beta1 "go.goms.io/fleet/apis/placement/v1beta1"
fleetv1alpha1 "go.goms.io/fleet/apis/v1alpha1"
"go.goms.io/fleet/cmd/hubagent/options"
"go.goms.io/fleet/cmd/hubagent/workload"
mcv1alpha1 "go.goms.io/fleet/pkg/controllers/membercluster/v1alpha1"
mcv1beta1 "go.goms.io/fleet/pkg/controllers/membercluster/v1beta1"
fleetmetrics "go.goms.io/fleet/pkg/metrics"
"go.goms.io/fleet/pkg/webhook"
// +kubebuilder:scaffold:imports
Expand All @@ -51,7 +49,6 @@ const (
func init() {
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
utilruntime.Must(fleetv1alpha1.AddToScheme(scheme))
utilruntime.Must(fleetv1beta1.AddToScheme(scheme))
utilruntime.Must(workv1alpha1.AddToScheme(scheme))
// +kubebuilder:scaffold:scheme
klog.InitFlags(nil)
Expand Down Expand Up @@ -103,14 +100,6 @@ func main() {
exitWithErrorFunc()
}

if err = (&mcv1beta1.Reconciler{
Client: mgr.GetClient(),
NetworkingAgentsEnabled: opts.NetworkingAgentsEnabled,
}).SetupWithManager(mgr); err != nil {
klog.ErrorS(err, "unable to create v1beta1 controller", "controller", "MemberCluster")
exitWithErrorFunc()
}

if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil {
klog.ErrorS(err, "unable to set up health check")
exitWithErrorFunc()
Expand Down
7 changes: 0 additions & 7 deletions cmd/memberagent/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,8 @@ import (
"sigs.k8s.io/controller-runtime/pkg/metrics"
workv1alpha1 "sigs.k8s.io/work-api/pkg/apis/v1alpha1"

fleetv1beta1 "go.goms.io/fleet/apis/placement/v1beta1"
fleetv1alpha1 "go.goms.io/fleet/apis/v1alpha1"
imcv1alpha1 "go.goms.io/fleet/pkg/controllers/internalmembercluster/v1alpha1"
imcv1beta1 "go.goms.io/fleet/pkg/controllers/internalmembercluster/v1beta1"
workapi "go.goms.io/fleet/pkg/controllers/work"
fleetmetrics "go.goms.io/fleet/pkg/metrics"
"go.goms.io/fleet/pkg/utils"
Expand All @@ -63,7 +61,6 @@ func init() {

utilruntime.Must(clientgoscheme.AddToScheme(scheme))
utilruntime.Must(fleetv1alpha1.AddToScheme(scheme))
utilruntime.Must(fleetv1beta1.AddToScheme(scheme))
utilruntime.Must(workv1alpha1.AddToScheme(scheme))
//+kubebuilder:scaffold:scheme

Expand Down Expand Up @@ -273,10 +270,6 @@ func Start(ctx context.Context, hubCfg, memberConfig *rest.Config, hubOpts, memb
return fmt.Errorf("unable to create controller v1alpha1 hub_member: %w", err)
}

if err = imcv1beta1.NewReconciler(hubMgr.GetClient(), memberMgr.GetClient(), workController).SetupWithManager(hubMgr); err != nil {
return fmt.Errorf("unable to create controller v1beta1 hub_member: %w", err)
}

klog.V(3).InfoS("starting hub manager")
startErr := make(chan error)
go func() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/predicate"

"go.goms.io/fleet/apis"
fleetv1alpha1 "go.goms.io/fleet/apis/v1alpha1"
workapi "go.goms.io/fleet/pkg/controllers/work"
"go.goms.io/fleet/pkg/metrics"
Expand Down Expand Up @@ -210,7 +209,7 @@ func updateMemberAgentHeartBeat(imc *fleetv1alpha1.InternalMemberCluster) {
}
}

func (r *Reconciler) markInternalMemberClusterHealthy(imc apis.V1alpha1ConditionedAgentObj) {
func (r *Reconciler) markInternalMemberClusterHealthy(imc fleetv1alpha1.ConditionedAgentObj) {
klog.V(2).InfoS("markInternalMemberClusterHealthy", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.AgentHealthy),
Expand All @@ -229,7 +228,7 @@ func (r *Reconciler) markInternalMemberClusterHealthy(imc apis.V1alpha1Condition
imc.SetConditionsWithType(fleetv1alpha1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterUnhealthy(imc apis.V1alpha1ConditionedAgentObj, err error) {
func (r *Reconciler) markInternalMemberClusterUnhealthy(imc fleetv1alpha1.ConditionedAgentObj, err error) {
klog.V(2).InfoS("markInternalMemberClusterUnhealthy", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.AgentHealthy),
Expand All @@ -249,7 +248,7 @@ func (r *Reconciler) markInternalMemberClusterUnhealthy(imc apis.V1alpha1Conditi
imc.SetConditionsWithType(fleetv1alpha1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterJoined(imc apis.V1alpha1ConditionedAgentObj) {
func (r *Reconciler) markInternalMemberClusterJoined(imc fleetv1alpha1.ConditionedAgentObj) {
klog.V(2).InfoS("markInternalMemberClusterJoined", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.AgentJoined),
Expand All @@ -269,7 +268,7 @@ func (r *Reconciler) markInternalMemberClusterJoined(imc apis.V1alpha1Conditione
imc.SetConditionsWithType(fleetv1alpha1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterJoinFailed(imc apis.V1alpha1ConditionedAgentObj, err error) {
func (r *Reconciler) markInternalMemberClusterJoinFailed(imc fleetv1alpha1.ConditionedAgentObj, err error) {
klog.V(2).InfoS("markInternalMemberCluster join failed", "error", err, "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.AgentJoined),
Expand All @@ -289,7 +288,7 @@ func (r *Reconciler) markInternalMemberClusterJoinFailed(imc apis.V1alpha1Condit
imc.SetConditionsWithType(fleetv1alpha1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterLeft(imc apis.V1alpha1ConditionedAgentObj) {
func (r *Reconciler) markInternalMemberClusterLeft(imc fleetv1alpha1.ConditionedAgentObj) {
klog.V(2).InfoS("markInternalMemberClusterLeft", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.AgentJoined),
Expand All @@ -309,7 +308,7 @@ func (r *Reconciler) markInternalMemberClusterLeft(imc apis.V1alpha1ConditionedA
imc.SetConditionsWithType(fleetv1alpha1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterLeaveFailed(imc apis.V1alpha1ConditionedAgentObj, err error) {
func (r *Reconciler) markInternalMemberClusterLeaveFailed(imc fleetv1alpha1.ConditionedAgentObj, err error) {
klog.V(2).InfoS("markInternalMemberCluster leave failed", "error", err, "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.AgentJoined),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/predicate"

"go.goms.io/fleet/apis"
fleetv1beta1 "go.goms.io/fleet/apis/placement/v1beta1"
workapi "go.goms.io/fleet/pkg/controllers/work"
"go.goms.io/fleet/pkg/metrics"
Expand Down Expand Up @@ -210,7 +209,7 @@ func updateMemberAgentHeartBeat(imc *fleetv1beta1.InternalMemberCluster) {
}
}

func (r *Reconciler) markInternalMemberClusterHealthy(imc apis.V1beta11ConditionedAgentObj) {
func (r *Reconciler) markInternalMemberClusterHealthy(imc fleetv1beta1.ConditionedAgentObj) {
klog.V(2).InfoS("markInternalMemberClusterHealthy", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1beta1.AgentHealthy),
Expand All @@ -229,7 +228,7 @@ func (r *Reconciler) markInternalMemberClusterHealthy(imc apis.V1beta11Condition
imc.SetConditionsWithType(fleetv1beta1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterUnhealthy(imc apis.V1beta11ConditionedAgentObj, err error) {
func (r *Reconciler) markInternalMemberClusterUnhealthy(imc fleetv1beta1.ConditionedAgentObj, err error) {
klog.V(2).InfoS("markInternalMemberClusterUnhealthy", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1beta1.AgentHealthy),
Expand All @@ -249,7 +248,7 @@ func (r *Reconciler) markInternalMemberClusterUnhealthy(imc apis.V1beta11Conditi
imc.SetConditionsWithType(fleetv1beta1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterJoined(imc apis.V1beta11ConditionedAgentObj) {
func (r *Reconciler) markInternalMemberClusterJoined(imc fleetv1beta1.ConditionedAgentObj) {
klog.V(2).InfoS("markInternalMemberClusterJoined", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1beta1.AgentJoined),
Expand All @@ -269,7 +268,7 @@ func (r *Reconciler) markInternalMemberClusterJoined(imc apis.V1beta11Conditione
imc.SetConditionsWithType(fleetv1beta1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterJoinFailed(imc apis.V1beta11ConditionedAgentObj, err error) {
func (r *Reconciler) markInternalMemberClusterJoinFailed(imc fleetv1beta1.ConditionedAgentObj, err error) {
klog.V(2).InfoS("markInternalMemberCluster join failed", "error", err, "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1beta1.AgentJoined),
Expand All @@ -289,7 +288,7 @@ func (r *Reconciler) markInternalMemberClusterJoinFailed(imc apis.V1beta11Condit
imc.SetConditionsWithType(fleetv1beta1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterLeft(imc apis.V1beta11ConditionedAgentObj) {
func (r *Reconciler) markInternalMemberClusterLeft(imc fleetv1beta1.ConditionedAgentObj) {
klog.V(2).InfoS("markInternalMemberClusterLeft", "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1beta1.AgentJoined),
Expand All @@ -309,7 +308,7 @@ func (r *Reconciler) markInternalMemberClusterLeft(imc apis.V1beta11ConditionedA
imc.SetConditionsWithType(fleetv1beta1.MemberAgent, newCondition)
}

func (r *Reconciler) markInternalMemberClusterLeaveFailed(imc apis.V1beta11ConditionedAgentObj, err error) {
func (r *Reconciler) markInternalMemberClusterLeaveFailed(imc fleetv1beta1.ConditionedAgentObj, err error) {
klog.V(2).InfoS("markInternalMemberCluster leave failed", "error", err, "InternalMemberCluster", klog.KObj(imc))
newCondition := metav1.Condition{
Type: string(fleetv1beta1.AgentJoined),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (
"sigs.k8s.io/controller-runtime/pkg/predicate"
workv1alpha1 "sigs.k8s.io/work-api/pkg/apis/v1alpha1"

"go.goms.io/fleet/apis"
fleetv1beta1 "go.goms.io/fleet/apis/placement/v1beta1"
fleetv1alpha1 "go.goms.io/fleet/apis/v1alpha1"
"go.goms.io/fleet/pkg/metrics"
Expand Down Expand Up @@ -478,7 +477,7 @@ func (r *Reconciler) aggregateJoinedCondition(mc *fleetv1alpha1.MemberCluster) {
}

// markMemberClusterReadyToJoin is used to update the ReadyToJoin condition as true of member cluster.
func markMemberClusterReadyToJoin(recorder record.EventRecorder, mc apis.ConditionedObj) {
func markMemberClusterReadyToJoin(recorder record.EventRecorder, mc fleetv1alpha1.ConditionedObj) {
klog.V(2).InfoS("markMemberClusterReadyToJoin", "memberCluster", klog.KObj(mc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.ConditionTypeMemberClusterReadyToJoin),
Expand All @@ -498,7 +497,7 @@ func markMemberClusterReadyToJoin(recorder record.EventRecorder, mc apis.Conditi
}

// markMemberClusterJoined is used to the update the status of the member cluster to have the joined condition.
func markMemberClusterJoined(recorder record.EventRecorder, mc apis.ConditionedObj) {
func markMemberClusterJoined(recorder record.EventRecorder, mc fleetv1alpha1.ConditionedObj) {
klog.V(2).InfoS("markMemberClusterJoined", "memberCluster", klog.KObj(mc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.ConditionTypeMemberClusterJoined),
Expand All @@ -519,7 +518,7 @@ func markMemberClusterJoined(recorder record.EventRecorder, mc apis.ConditionedO
}

// markMemberClusterLeft is used to update the status of the member cluster to have the left condition and mark member cluster as not ready to join.
func markMemberClusterLeft(recorder record.EventRecorder, mc apis.ConditionedObj) {
func markMemberClusterLeft(recorder record.EventRecorder, mc fleetv1alpha1.ConditionedObj) {
klog.V(2).InfoS("markMemberClusterLeft", "memberCluster", klog.KObj(mc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.ConditionTypeMemberClusterJoined),
Expand All @@ -546,7 +545,7 @@ func markMemberClusterLeft(recorder record.EventRecorder, mc apis.ConditionedObj
}

// markMemberClusterUnknown is used to update the status of the member cluster to have the left condition.
func markMemberClusterUnknown(recorder record.EventRecorder, mc apis.ConditionedObj) {
func markMemberClusterUnknown(recorder record.EventRecorder, mc fleetv1alpha1.ConditionedObj) {
klog.V(2).InfoS("markMemberClusterUnknown", "memberCluster", klog.KObj(mc))
newCondition := metav1.Condition{
Type: string(fleetv1alpha1.ConditionTypeMemberClusterJoined),
Expand Down
Loading

0 comments on commit 0b663c4

Please sign in to comment.