summaryrefslogtreecommitdiff
path: root/cloud/pkg
diff options
context:
space:
mode:
authorShelley-BaoYue <baoyue2@huawei.com>2023-08-30 11:20:49 +0800
committerShelley-BaoYue <baoyue2@huawei.com>2023-09-11 10:19:49 +0800
commitd8660e2cd6973212480a771b8523442b51a56ee7 (patch)
tree05af4f31786f5444571327e20bb813f8f86fd4f1 /cloud/pkg
parentupdate vendor and licenses (diff)
downloadkubeedge-d8660e2cd6973212480a771b8523442b51a56ee7.tar.gz
compatibility modification
Signed-off-by: Shelley-BaoYue <baoyue2@huawei.com>
Diffstat (limited to 'cloud/pkg')
-rw-r--r--cloud/pkg/devicecontroller/manager/device.go5
-rw-r--r--cloud/pkg/devicecontroller/manager/devicemodel.go5
-rw-r--r--cloud/pkg/devicecontroller/manager/devicemodel_test.go3
-rw-r--r--cloud/pkg/dynamiccontroller/application/eventhandler.go5
-rw-r--r--cloud/pkg/nodeupgradejobcontroller/manager/nodeupgrade.go5
-rw-r--r--cloud/pkg/policycontroller/manager/reconcile_test.go29
-rw-r--r--cloud/pkg/synccontroller/synccontroller.go5
7 files changed, 49 insertions, 8 deletions
diff --git a/cloud/pkg/devicecontroller/manager/device.go b/cloud/pkg/devicecontroller/manager/device.go
index a6d19d0cb..cd26d0386 100644
--- a/cloud/pkg/devicecontroller/manager/device.go
+++ b/cloud/pkg/devicecontroller/manager/device.go
@@ -27,7 +27,10 @@ func (dmm *DeviceManager) Events() chan watch.Event {
func NewDeviceManager(si cache.SharedIndexInformer) (*DeviceManager, error) {
events := make(chan watch.Event, config.Config.Buffer.DeviceEvent)
rh := NewCommonResourceEventHandler(events)
- si.AddEventHandler(rh)
+ _, err := si.AddEventHandler(rh)
+ if err != nil {
+ return nil, err
+ }
return &DeviceManager{events: events}, nil
}
diff --git a/cloud/pkg/devicecontroller/manager/devicemodel.go b/cloud/pkg/devicecontroller/manager/devicemodel.go
index 4a21f571b..cd3ebd14d 100644
--- a/cloud/pkg/devicecontroller/manager/devicemodel.go
+++ b/cloud/pkg/devicecontroller/manager/devicemodel.go
@@ -27,7 +27,10 @@ func (dmm *DeviceModelManager) Events() chan watch.Event {
func NewDeviceModelManager(si cache.SharedIndexInformer) (*DeviceModelManager, error) {
events := make(chan watch.Event, config.Config.Buffer.DeviceModelEvent)
rh := NewCommonResourceEventHandler(events)
- si.AddEventHandler(rh)
+ _, err := si.AddEventHandler(rh)
+ if err != nil {
+ return nil, err
+ }
return &DeviceModelManager{events: events}, nil
}
diff --git a/cloud/pkg/devicecontroller/manager/devicemodel_test.go b/cloud/pkg/devicecontroller/manager/devicemodel_test.go
index d25e7996b..a6de1ffd5 100644
--- a/cloud/pkg/devicecontroller/manager/devicemodel_test.go
+++ b/cloud/pkg/devicecontroller/manager/devicemodel_test.go
@@ -41,7 +41,8 @@ type mockInformer struct {
cache.SharedIndexInformer
}
-func (i *mockInformer) AddEventHandler(handler cache.ResourceEventHandler) {
+func (i *mockInformer) AddEventHandler(handler cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error) {
+ return nil, nil
}
func TestNewDeviceModelManager(t *testing.T) {
diff --git a/cloud/pkg/dynamiccontroller/application/eventhandler.go b/cloud/pkg/dynamiccontroller/application/eventhandler.go
index 1c6eefe2b..4f10e8dc9 100644
--- a/cloud/pkg/dynamiccontroller/application/eventhandler.go
+++ b/cloud/pkg/dynamiccontroller/application/eventhandler.go
@@ -122,7 +122,7 @@ func NewCommonResourceEventHandler(
klog.Exitf("get informer for %s err: %v", gvr.String(), err)
}
- informerPair.Informer.AddEventHandler(cache.ResourceEventHandlerFuncs{
+ _, err = informerPair.Informer.AddEventHandler(cache.ResourceEventHandlerFuncs{
AddFunc: func(obj interface{}) {
handler.objToEvent(watch.Added, obj)
},
@@ -133,6 +133,9 @@ func NewCommonResourceEventHandler(
handler.objToEvent(watch.Deleted, obj)
},
})
+ if err != nil {
+ klog.Exitf("add evenet handler err: %v", err)
+ }
handler.informer = informerPair
klog.Infof("[metaserver/resourceEventHandler] handler(%v) init successfully, start to dispatch events to it's listeners", gvr)
diff --git a/cloud/pkg/nodeupgradejobcontroller/manager/nodeupgrade.go b/cloud/pkg/nodeupgradejobcontroller/manager/nodeupgrade.go
index 3b50c1889..7cdb78e1a 100644
--- a/cloud/pkg/nodeupgradejobcontroller/manager/nodeupgrade.go
+++ b/cloud/pkg/nodeupgradejobcontroller/manager/nodeupgrade.go
@@ -43,7 +43,10 @@ func (dmm *NodeUpgradeJobManager) Events() chan watch.Event {
func NewNodeUpgradeJobManager(si cache.SharedIndexInformer) (*NodeUpgradeJobManager, error) {
events := make(chan watch.Event, config.Config.Buffer.NodeUpgradeJobEvent)
rh := NewCommonResourceEventHandler(events)
- si.AddEventHandler(rh)
+ _, err := si.AddEventHandler(rh)
+ if err != nil {
+ return nil, err
+ }
return &NodeUpgradeJobManager{events: events}, nil
}
diff --git a/cloud/pkg/policycontroller/manager/reconcile_test.go b/cloud/pkg/policycontroller/manager/reconcile_test.go
index cee178392..7efcc11a0 100644
--- a/cloud/pkg/policycontroller/manager/reconcile_test.go
+++ b/cloud/pkg/policycontroller/manager/reconcile_test.go
@@ -3,6 +3,7 @@ package controller
import (
"context"
"encoding/json"
+ "fmt"
"reflect"
"sort"
"sync"
@@ -1333,11 +1334,23 @@ func TestGetNodeListOfServiceAccountAccess(t *testing.T) {
},*/
},
}
+ pdStrategyTypeIndexer := func(obj client.Object) []string {
+ pd, ok := obj.(*v1.Pod)
+ if !ok {
+ panic(fmt.Errorf("indexer function for type %T's spec.strategy.type field received"+
+ " object of type %T, this should never happen", v1.Pod{}, obj))
+ }
+ serviceAccountName := ""
+ if pd != nil {
+ serviceAccountName = pd.Spec.ServiceAccountName
+ }
+ return []string{serviceAccountName}
+ }
var v1Scheme = runtime.NewScheme()
if err := v1.AddToScheme(v1Scheme); err != nil {
t.Errorf("Failed to add access scheme: %v", err)
}
- withScheme := fake.NewClientBuilder().WithScheme(v1Scheme)
+ withScheme := fake.NewClientBuilder().WithScheme(v1Scheme).WithIndex(&v1.Pod{}, "spec.serviceAccountName", pdStrategyTypeIndexer)
fakeClient := withScheme.Build()
got, err := getNodeListOfServiceAccountAccess(context.Background(), fakeClient, saa)
if err != nil {
@@ -1725,7 +1738,19 @@ func TestSyncRules(t *testing.T) {
if err := rbacv1.AddToScheme(accessScheme); err != nil {
t.Errorf("Failed to add rbacv1 scheme: %v", err)
}
- fakeClient := fake.NewClientBuilder().WithScheme(accessScheme).WithObjects(tt.obj...).WithLists(nodeList).Build()
+ pdStrategyTypeIndexer := func(obj client.Object) []string {
+ pd, ok := obj.(*v1.Pod)
+ if !ok {
+ panic(fmt.Errorf("indexer function for type %T's spec.strategy.type field received"+
+ " object of type %T, this should never happen", v1.Pod{}, obj))
+ }
+ serviceAccountName := ""
+ if pd != nil {
+ serviceAccountName = pd.Spec.ServiceAccountName
+ }
+ return []string{serviceAccountName}
+ }
+ fakeClient := fake.NewClientBuilder().WithScheme(accessScheme).WithObjects(tt.obj...).WithLists(nodeList).WithIndex(&v1.Pod{}, "spec.serviceAccountName", pdStrategyTypeIndexer).Build()
ctr := &Controller{
Client: fakeClient,
MessageLayer: messagelayer.PolicyControllerMessageLayer(),
diff --git a/cloud/pkg/synccontroller/synccontroller.go b/cloud/pkg/synccontroller/synccontroller.go
index cd0c4701b..b3fb12b99 100644
--- a/cloud/pkg/synccontroller/synccontroller.go
+++ b/cloud/pkg/synccontroller/synccontroller.go
@@ -60,11 +60,14 @@ func newSyncController(enable bool) *SyncController {
objectSyncsInformer := crdInformerFactory.Reliablesyncs().V1alpha1().ObjectSyncs()
clusterObjectSyncsInformer := crdInformerFactory.Reliablesyncs().V1alpha1().ClusterObjectSyncs()
nodesInformer := k8sInformerFactory.Core().V1().Nodes()
- nodesInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
+ _, err := nodesInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
DeleteFunc: func(obj interface{}) {
sctl.deleteObjectSyncs()
},
})
+ if err != nil {
+ klog.Fatalf("new synccontroller failed, add event handler err: %v", err)
+ }
// lister
sctl.nodeLister = nodesInformer.Lister()