Skip to content

Commit 68e1b0f

Browse files
author
Evsyukov Denis
committed
refactor: rename resourceInformer to ResourceInformer for consistency
Signed-off-by: Evsyukov Denis <denis.evsyukov@flant.com>
1 parent eaa1dd0 commit 68e1b0f

2 files changed

Lines changed: 33 additions & 32 deletions

File tree

pkg/kube_events_manager/monitor.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ type Monitor struct {
2121
Config *MonitorConfig
2222
KubeClient *klient.Client
2323
// Static list of informers
24-
ResourceInformers []*resourceInformer
24+
ResourceInformers []*ResourceInformer
2525
// Namespace informer to get new namespaces
2626
NamespaceInformer *namespaceInformer
2727
// map of dynamically starting informers
@@ -51,7 +51,7 @@ func NewMonitor(ctx context.Context, client *klient.Client, mstor metric.Storage
5151
metricStorage: mstor,
5252
Config: config,
5353
eventCb: eventCb,
54-
ResourceInformers: make([]*resourceInformer, 0),
54+
ResourceInformers: make([]*ResourceInformer, 0),
5555
VaryingInformers: sync.Map{},
5656
cancelForNs: sync.Map{},
5757
staticNamespaces: sync.Map{},
@@ -192,7 +192,7 @@ func (m *Monitor) Snapshot() []kemtypes.ObjectAndFilterResult {
192192
}
193193

194194
m.VaryingInformers.Range(func(_, value any) bool {
195-
if value, ok := value.([]*resourceInformer); ok {
195+
if value, ok := value.([]*ResourceInformer); ok {
196196
for _, informer := range value {
197197
objects = append(objects, informer.getCachedObjects()...)
198198
}
@@ -214,7 +214,7 @@ func (m *Monitor) EnableKubeEventCb() {
214214
}
215215
// Execute eventCb for events accumulated during "Synchronization" phase.
216216
m.VaryingInformers.Range(func(_, value any) bool {
217-
if value, ok := value.([]*resourceInformer); ok {
217+
if value, ok := value.([]*ResourceInformer); ok {
218218
for _, informer := range value {
219219
informer.enableKubeEventCb()
220220
}
@@ -229,8 +229,8 @@ func (m *Monitor) EnableKubeEventCb() {
229229
// it is only one informer. If matchName is specified, then multiple informers are created.
230230
//
231231
// If namespace is empty, then informer is bounded to all namespaces.
232-
func (m *Monitor) CreateInformersForNamespace(namespace string) ([]*resourceInformer, error) {
233-
informers := make([]*resourceInformer, 0)
232+
func (m *Monitor) CreateInformersForNamespace(namespace string) ([]*ResourceInformer, error) {
233+
informers := make([]*ResourceInformer, 0)
234234
cfg := &resourceInformerConfig{
235235
client: m.KubeClient,
236236
mstor: m.metricStorage,
@@ -274,7 +274,7 @@ func (m *Monitor) Start(parentCtx context.Context) {
274274
}
275275
ctx, cancelForNs := context.WithCancel(m.ctx)
276276
m.cancelForNs.Store(nsName, cancelForNs)
277-
if value, ok := value.([]*resourceInformer); ok {
277+
if value, ok := value.([]*ResourceInformer); ok {
278278
for _, informer := range value {
279279
informer.withContext(ctx)
280280
informer.start()
@@ -305,7 +305,7 @@ func (m *Monitor) PauseHandleEvents() {
305305
}
306306

307307
m.VaryingInformers.Range(func(_, value any) bool {
308-
if value, ok := value.([]*resourceInformer); ok {
308+
if value, ok := value.([]*ResourceInformer); ok {
309309
for _, informer := range value {
310310
informer.pauseHandleEvents()
311311
}
@@ -328,7 +328,7 @@ func (m *Monitor) SnapshotOperations() (*CachedObjectsInfo /*total*/, *CachedObj
328328
}
329329

330330
m.VaryingInformers.Range(func(_, value any) bool {
331-
if value, ok := value.([]*resourceInformer); ok {
331+
if value, ok := value.([]*ResourceInformer); ok {
332332
for _, informer := range value {
333333
total.add(informer.getCachedObjectsInfo())
334334
last.add(informer.getCachedObjectsInfoIncrement())

pkg/kube_events_manager/resource_informer.go

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ import (
88
"sync"
99
"time"
1010

11-
"github.com/deckhouse/deckhouse/pkg/log"
1211
"github.com/gofrs/uuid/v5"
1312
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1413
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
1514
"k8s.io/apimachinery/pkg/runtime/schema"
1615
"k8s.io/client-go/tools/cache"
1716

17+
"github.com/deckhouse/deckhouse/pkg/log"
18+
1819
klient "github.com/flant/kube-client/client"
1920
"github.com/flant/shell-operator/pkg/app"
2021
"github.com/flant/shell-operator/pkg/filter/jq"
@@ -23,7 +24,7 @@ import (
2324
"github.com/flant/shell-operator/pkg/utils/measure"
2425
)
2526

26-
type resourceInformer struct {
27+
type ResourceInformer struct {
2728
id string
2829
KubeClient *klient.Client
2930
Monitor *MonitorConfig
@@ -54,7 +55,7 @@ type resourceInformer struct {
5455
eventCbEnabled bool
5556
eventBufLock sync.Mutex
5657

57-
// TODO resourceInformer should be stoppable (think of deleted namespaces and disabled modules in addon-operator)
58+
// TODO ResourceInformer should be stoppable (think of deleted namespaces and disabled modules in addon-operator)
5859
ctx context.Context
5960
cancel context.CancelFunc
6061

@@ -66,7 +67,7 @@ type resourceInformer struct {
6667
logger *log.Logger
6768
}
6869

69-
// resourceInformer should implement ResourceInformer
70+
// ResourceInformer should implement ResourceInformer
7071
type resourceInformerConfig struct {
7172
client *klient.Client
7273
mstor metric.Storage
@@ -76,8 +77,8 @@ type resourceInformerConfig struct {
7677
logger *log.Logger
7778
}
7879

79-
func newResourceInformer(ns, name string, cfg *resourceInformerConfig) *resourceInformer {
80-
informer := &resourceInformer{
80+
func newResourceInformer(ns, name string, cfg *resourceInformerConfig) *ResourceInformer {
81+
informer := &ResourceInformer{
8182
id: uuid.Must(uuid.NewV4()).String(),
8283
KubeClient: cfg.client,
8384
metricStorage: cfg.mstor,
@@ -95,17 +96,17 @@ func newResourceInformer(ns, name string, cfg *resourceInformerConfig) *resource
9596
return informer
9697
}
9798

98-
func (ei *resourceInformer) withContext(ctx context.Context) {
99+
func (ei *ResourceInformer) withContext(ctx context.Context) {
99100
ei.ctx, ei.cancel = context.WithCancel(ctx)
100101
}
101102

102-
func (ei *resourceInformer) putEvent(ev kemtypes.KubeEvent) {
103+
func (ei *ResourceInformer) putEvent(ev kemtypes.KubeEvent) {
103104
if ei.eventCb != nil {
104105
ei.eventCb(ev)
105106
}
106107
}
107108

108-
func (ei *resourceInformer) createSharedInformer() error {
109+
func (ei *ResourceInformer) createSharedInformer() error {
109110
var err error
110111

111112
// discover GroupVersionResource for informer
@@ -153,7 +154,7 @@ func (ei *resourceInformer) createSharedInformer() error {
153154
}
154155

155156
// Snapshot returns all cached objects for this informer
156-
func (ei *resourceInformer) getCachedObjects() []kemtypes.ObjectAndFilterResult {
157+
func (ei *ResourceInformer) getCachedObjects() []kemtypes.ObjectAndFilterResult {
157158
ei.cacheLock.RLock()
158159
res := make([]kemtypes.ObjectAndFilterResult, 0)
159160
for _, obj := range ei.cachedObjects {
@@ -170,7 +171,7 @@ func (ei *resourceInformer) getCachedObjects() []kemtypes.ObjectAndFilterResult
170171
return res
171172
}
172173

173-
func (ei *resourceInformer) enableKubeEventCb() {
174+
func (ei *ResourceInformer) enableKubeEventCb() {
174175
ei.eventBufLock.Lock()
175176
defer ei.eventBufLock.Unlock()
176177
if ei.eventCbEnabled {
@@ -186,7 +187,7 @@ func (ei *resourceInformer) enableKubeEventCb() {
186187

187188
// loadExistedObjects get a list of existed objects in namespace that match selectors and
188189
// fills Checksum map with checksums of existing objects.
189-
func (ei *resourceInformer) loadExistedObjects() error {
190+
func (ei *ResourceInformer) loadExistedObjects() error {
190191
defer trace.StartRegion(context.Background(), "loadExistedObjects").End()
191192

192193
objList, err := ei.KubeClient.Dynamic().
@@ -260,23 +261,23 @@ func (ei *resourceInformer) loadExistedObjects() error {
260261
return nil
261262
}
262263

263-
func (ei *resourceInformer) OnAdd(obj interface{}, _ bool) {
264+
func (ei *ResourceInformer) OnAdd(obj interface{}, _ bool) {
264265
ei.handleWatchEvent(obj, kemtypes.WatchEventAdded)
265266
}
266267

267-
func (ei *resourceInformer) OnUpdate(_, newObj interface{}) {
268+
func (ei *ResourceInformer) OnUpdate(_, newObj interface{}) {
268269
ei.handleWatchEvent(newObj, kemtypes.WatchEventModified)
269270
}
270271

271-
func (ei *resourceInformer) OnDelete(obj interface{}) {
272+
func (ei *ResourceInformer) OnDelete(obj interface{}) {
272273
ei.handleWatchEvent(obj, kemtypes.WatchEventDeleted)
273274
}
274275

275276
// HandleKubeEvent register object in cache. Pass object to callback if object's checksum is changed.
276277
// TODO refactor: pass KubeEvent as argument
277278
// TODO add delay to merge Added and Modified events (node added and then labels applied — one hook run on Added+Modified is enough)
278-
// func (ei *resourceInformer) HandleKubeEvent(obj *unstructured.Unstructured, objectId string, filterResult string, newChecksum string, eventType WatchEventType) {
279-
func (ei *resourceInformer) handleWatchEvent(object interface{}, eventType kemtypes.WatchEventType) {
279+
// func (ei *ResourceInformer) HandleKubeEvent(obj *unstructured.Unstructured, objectId string, filterResult string, newChecksum string, eventType WatchEventType) {
280+
func (ei *ResourceInformer) handleWatchEvent(object interface{}, eventType kemtypes.WatchEventType) {
280281
// check if stop
281282
if ei.stopped {
282283
log.Debug("received WATCH for stopped informer",
@@ -411,7 +412,7 @@ func (ei *resourceInformer) handleWatchEvent(object interface{}, eventType kemty
411412
}
412413
}
413414

414-
func (ei *resourceInformer) adjustFieldSelector(selector *kemtypes.FieldSelector, objName string) *kemtypes.FieldSelector {
415+
func (ei *ResourceInformer) adjustFieldSelector(selector *kemtypes.FieldSelector, objName string) *kemtypes.FieldSelector {
415416
var selectorCopy *kemtypes.FieldSelector
416417

417418
if selector != nil {
@@ -440,7 +441,7 @@ func (ei *resourceInformer) adjustFieldSelector(selector *kemtypes.FieldSelector
440441
return selectorCopy
441442
}
442443

443-
func (ei *resourceInformer) shouldFireEvent(checkEvent kemtypes.WatchEventType) bool {
444+
func (ei *ResourceInformer) shouldFireEvent(checkEvent kemtypes.WatchEventType) bool {
444445
for _, event := range ei.Monitor.EventTypes {
445446
if event == checkEvent {
446447
return true
@@ -449,7 +450,7 @@ func (ei *resourceInformer) shouldFireEvent(checkEvent kemtypes.WatchEventType)
449450
return false
450451
}
451452

452-
func (ei *resourceInformer) start() {
453+
func (ei *ResourceInformer) start() {
453454
log.Debug("RUN resource informer", slog.String("debugName", ei.Monitor.Metadata.DebugName))
454455

455456
go func() {
@@ -470,20 +471,20 @@ func (ei *resourceInformer) start() {
470471
log.Debug("informer is ready", slog.String("debugName", ei.Monitor.Metadata.DebugName))
471472
}
472473

473-
func (ei *resourceInformer) pauseHandleEvents() {
474+
func (ei *ResourceInformer) pauseHandleEvents() {
474475
log.Debug("PAUSE resource informer", slog.String("debugName", ei.Monitor.Metadata.DebugName))
475476
ei.stopped = true
476477
}
477478

478479
// CachedObjectsInfo returns info accumulated from start.
479-
func (ei *resourceInformer) getCachedObjectsInfo() CachedObjectsInfo {
480+
func (ei *ResourceInformer) getCachedObjectsInfo() CachedObjectsInfo {
480481
ei.cacheLock.RLock()
481482
defer ei.cacheLock.RUnlock()
482483
return *ei.cachedObjectsInfo
483484
}
484485

485486
// getCachedObjectsInfoIncrement returns info accumulated from last call and clean it.
486-
func (ei *resourceInformer) getCachedObjectsInfoIncrement() CachedObjectsInfo {
487+
func (ei *ResourceInformer) getCachedObjectsInfoIncrement() CachedObjectsInfo {
487488
ei.cacheLock.Lock()
488489
defer ei.cacheLock.Unlock()
489490
info := *ei.cachedObjectsIncrement

0 commit comments

Comments
 (0)