Skip to content

Commit 96626c0

Browse files
committed
Move index func from addon framework to ocm
Signed-off-by: zhujian <[email protected]>
1 parent ddf4c0d commit 96626c0

File tree

3 files changed

+5
-102
lines changed

3 files changed

+5
-102
lines changed

pkg/addonmanager/cloudevents/manager.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,7 @@ func (a *cloudeventsAddonManager) Start(ctx context.Context) error {
160160

161161
err = addonInformers.Addon().V1alpha1().ManagedClusterAddOns().Informer().AddIndexers(
162162
cache.Indexers{
163-
index.ManagedClusterAddonByNamespace: index.IndexManagedClusterAddonByNamespace, // addonDeployController
164-
index.ManagedClusterAddonByName: index.IndexManagedClusterAddonByName, // addonConfigController
163+
index.ManagedClusterAddonByNamespace: index.IndexManagedClusterAddonByNamespace, // agentDeployController
165164
index.AddonByConfig: index.IndexAddonByConfig, // addonConfigController
166165
},
167166
)
@@ -171,8 +170,7 @@ func (a *cloudeventsAddonManager) Start(ctx context.Context) error {
171170

172171
err = addonInformers.Addon().V1alpha1().ClusterManagementAddOns().Informer().AddIndexers(
173172
cache.Indexers{
174-
index.ClusterManagementAddonByConfig: index.IndexClusterManagementAddonByConfig, // managementAddonConfigController
175-
index.ClusterManagementAddonByPlacement: index.IndexClusterManagementAddonByPlacement, // addonConfigController
173+
index.ClusterManagementAddonByConfig: index.IndexClusterManagementAddonByConfig, // cmaConfigController
176174
})
177175
if err != nil {
178176
return err

pkg/addonmanager/manager.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ func (a *addonManager) Start(ctx context.Context) error {
106106

107107
err = addonInformers.Addon().V1alpha1().ManagedClusterAddOns().Informer().AddIndexers(
108108
cache.Indexers{
109-
index.ManagedClusterAddonByNamespace: index.IndexManagedClusterAddonByNamespace, // addonDeployController
110-
index.ManagedClusterAddonByName: index.IndexManagedClusterAddonByName, // addonConfigController
109+
index.ManagedClusterAddonByNamespace: index.IndexManagedClusterAddonByNamespace, // agentDeployController
111110
index.AddonByConfig: index.IndexAddonByConfig, // addonConfigController
112111
},
113112
)
@@ -117,8 +116,7 @@ func (a *addonManager) Start(ctx context.Context) error {
117116

118117
err = addonInformers.Addon().V1alpha1().ClusterManagementAddOns().Informer().AddIndexers(
119118
cache.Indexers{
120-
index.ClusterManagementAddonByConfig: index.IndexClusterManagementAddonByConfig, // managementAddonConfigController
121-
index.ClusterManagementAddonByPlacement: index.IndexClusterManagementAddonByPlacement, // addonConfigController
119+
index.ClusterManagementAddonByConfig: index.IndexClusterManagementAddonByConfig, // cmaConfigController
122120
})
123121
if err != nil {
124122
return err

pkg/index/index.go

Lines changed: 1 addition & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -4,56 +4,17 @@ import (
44
"fmt"
55
"strings"
66

7-
"k8s.io/apimachinery/pkg/api/meta"
8-
"k8s.io/apimachinery/pkg/runtime"
9-
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
107
"k8s.io/apimachinery/pkg/util/sets"
11-
"k8s.io/client-go/tools/cache"
12-
"k8s.io/klog/v2"
138
addonv1alpha1 "open-cluster-management.io/api/addon/v1alpha1"
14-
addoninformerv1alpha1 "open-cluster-management.io/api/client/addon/informers/externalversions/addon/v1alpha1"
15-
clusterv1beta1 "open-cluster-management.io/api/cluster/v1beta1"
169
workapiv1 "open-cluster-management.io/api/work/v1"
1710

1811
"open-cluster-management.io/addon-framework/pkg/addonmanager/constants"
1912
)
2013

2114
const (
22-
ClusterManagementAddonByPlacement = "clusterManagementAddonByPlacement"
23-
ManagedClusterAddonByName = "managedClusterAddonByName"
24-
ManagedClusterAddonByNamespace = "managedClusterAddonByNamespace"
15+
ManagedClusterAddonByNamespace = "managedClusterAddonByNamespace"
2516
)
2617

27-
func IndexClusterManagementAddonByPlacement(obj interface{}) ([]string, error) {
28-
cma, ok := obj.(*addonv1alpha1.ClusterManagementAddOn)
29-
30-
if !ok {
31-
return []string{}, fmt.Errorf("obj %T is not a ClusterManagementAddon", obj)
32-
}
33-
34-
var keys []string
35-
if cma.Spec.InstallStrategy.Type == "" || cma.Spec.InstallStrategy.Type == addonv1alpha1.AddonInstallStrategyManual {
36-
return keys, nil
37-
}
38-
39-
for _, placement := range cma.Spec.InstallStrategy.Placements {
40-
key := fmt.Sprintf("%s/%s", placement.PlacementRef.Namespace, placement.PlacementRef.Name)
41-
keys = append(keys, key)
42-
}
43-
44-
return keys, nil
45-
}
46-
47-
func IndexManagedClusterAddonByName(obj interface{}) ([]string, error) {
48-
mca, ok := obj.(*addonv1alpha1.ManagedClusterAddOn)
49-
50-
if !ok {
51-
return []string{}, fmt.Errorf("obj %T is not a ManagedClusterAddon", obj)
52-
}
53-
54-
return []string{mca.Name}, nil
55-
}
56-
5718
func IndexManagedClusterAddonByNamespace(obj interface{}) ([]string, error) {
5819
mca, ok := obj.(*addonv1alpha1.ManagedClusterAddOn)
5920

@@ -64,60 +25,6 @@ func IndexManagedClusterAddonByNamespace(obj interface{}) ([]string, error) {
6425
return []string{mca.Namespace}, nil
6526
}
6627

67-
func ClusterManagementAddonByPlacementQueueKey(
68-
cmai addoninformerv1alpha1.ClusterManagementAddOnInformer) func(obj runtime.Object) []string {
69-
return func(obj runtime.Object) []string {
70-
key, err := cache.DeletionHandlingMetaNamespaceKeyFunc(obj)
71-
if err != nil {
72-
utilruntime.HandleError(err)
73-
return []string{}
74-
}
75-
76-
objs, err := cmai.Informer().GetIndexer().ByIndex(ClusterManagementAddonByPlacement, key)
77-
if err != nil {
78-
utilruntime.HandleError(err)
79-
return []string{}
80-
}
81-
82-
var keys []string
83-
for _, o := range objs {
84-
cma := o.(*addonv1alpha1.ClusterManagementAddOn)
85-
klog.V(4).Infof("enqueue ClusterManagementAddon %s, because of placement %s", cma.Name, key)
86-
keys = append(keys, cma.Name)
87-
}
88-
89-
return keys
90-
}
91-
}
92-
93-
func ClusterManagementAddonByPlacementDecisionQueueKey(
94-
cmai addoninformerv1alpha1.ClusterManagementAddOnInformer) func(obj runtime.Object) []string {
95-
return func(obj runtime.Object) []string {
96-
accessor, _ := meta.Accessor(obj)
97-
placementName, ok := accessor.GetLabels()[clusterv1beta1.PlacementLabel]
98-
if !ok {
99-
return []string{}
100-
}
101-
102-
objs, err := cmai.Informer().GetIndexer().ByIndex(ClusterManagementAddonByPlacement,
103-
fmt.Sprintf("%s/%s", accessor.GetNamespace(), placementName))
104-
if err != nil {
105-
utilruntime.HandleError(err)
106-
return []string{}
107-
}
108-
109-
var keys []string
110-
for _, o := range objs {
111-
cma := o.(*addonv1alpha1.ClusterManagementAddOn)
112-
klog.V(4).Infof("enqueue ClusterManagementAddon %s, because of placementDecision %s/%s",
113-
cma.Name, accessor.GetNamespace(), accessor.GetName())
114-
keys = append(keys, cma.Name)
115-
}
116-
117-
return keys
118-
}
119-
}
120-
12128
const (
12229
ManifestWorkByAddon = "manifestWorkByAddon"
12330
ManifestWorkByHostedAddon = "manifestWorkByHostedAddon"

0 commit comments

Comments
 (0)